diff --git a/ravendb/documents/store/definition.py b/ravendb/documents/store/definition.py index d16a43de..0f3ed0be 100644 --- a/ravendb/documents/store/definition.py +++ b/ravendb/documents/store/definition.py @@ -44,6 +44,7 @@ if TYPE_CHECKING: from ravendb.documents.indexes.abstract_index_creation_tasks import AbstractIndexCreationTask + from ravendb.http.misc import AggressiveCacheMode, AggressiveCacheOptions class DocumentStoreBase: @@ -560,7 +561,7 @@ def aggressively_cache_for( cache_duration: datetime.timedelta, database: Optional[str] = None, mode: Optional["AggressiveCacheMode"] = None, - ) -> "DocumentStore._DisableAggressiveCachingContext": + ) -> "DocumentStore._AggressiveCacheOverrideScope": from ravendb.http.misc import AggressiveCacheMode if mode is None: @@ -573,21 +574,21 @@ def _set_aggressive_cache( cache_duration: datetime.timedelta, mode: "AggressiveCacheMode", database: Optional[str] = None, - ) -> "DocumentStore._DisableAggressiveCachingContext": + ) -> "DocumentStore._AggressiveCacheOverrideScope": from ravendb.http.misc import AggressiveCacheOptions self.assert_initialized() database = self.get_effective_database(database) request_executor = self.get_request_executor(database) options = AggressiveCacheOptions(cache_duration, mode) - return DocumentStore._DisableAggressiveCachingContext(request_executor, options) + return DocumentStore._AggressiveCacheOverrideScope(request_executor, options) def _finalize_aggressive_cache( self, - context: "DocumentStore._DisableAggressiveCachingContext", + context: "DocumentStore._AggressiveCacheOverrideScope", mode: "AggressiveCacheMode", database: Optional[str] = None, - ) -> "DocumentStore._DisableAggressiveCachingContext": + ) -> "DocumentStore._AggressiveCacheOverrideScope": from ravendb.http.misc import AggressiveCacheMode try: @@ -614,17 +615,17 @@ def _listen_to_changes_and_update_cache(self, database: str) -> None: def disable_aggressive_caching( self, database: Optional[str] = None - ) -> "DocumentStore._DisableAggressiveCachingContext": + ) -> "DocumentStore._AggressiveCacheOverrideScope": self.assert_initialized() database = self.get_effective_database(database) request_executor = self.get_request_executor(database) - return DocumentStore._DisableAggressiveCachingContext(request_executor) + return DocumentStore._AggressiveCacheOverrideScope(request_executor) - class _DisableAggressiveCachingContext: - def __init__(self, request_executor, options=None): + class _AggressiveCacheOverrideScope: + def __init__(self, request_executor: RequestExecutor, options: AggressiveCacheOptions = None): self._request_executor = request_executor self._options = options - self._old_options = None + self._old_options: Optional[AggressiveCacheOptions] = None def __enter__(self): self._old_options = self._request_executor.aggressive_caching diff --git a/ravendb/http/request_executor.py b/ravendb/http/request_executor.py index fe85e3e4..86a56fcc 100644 --- a/ravendb/http/request_executor.py +++ b/ravendb/http/request_executor.py @@ -34,6 +34,7 @@ LoadBalanceBehavior, Broadcast, AggressiveCacheMode, + AggressiveCacheOptions, ) from ravendb.http.raven_command import RavenCommand, RavenCommandResponseType from ravendb.http.server_node import ServerNode