Index: chrome/common/extensions/docs/server2/request_scoped_fs_cache.py |
diff --git a/chrome/common/extensions/docs/server2/request_scoped_fs_cache.py b/chrome/common/extensions/docs/server2/request_scoped_fs_cache.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b92732b19ea36dfae213e070a8f8f2699d570cf7 |
--- /dev/null |
+++ b/chrome/common/extensions/docs/server2/request_scoped_fs_cache.py |
@@ -0,0 +1,23 @@ |
+# Copyright 2012 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+class RequestScopedFsCache(object): |
+ def __init__(self, delegate): |
+ self._delegate = delegate |
+ self._file_cache = {} |
+ self._ls_cache = {} |
+ |
+ def GetFromFile(self, path): |
+ if path in self._file_cache: |
+ return self._file_cache[path] |
+ from_delegate = self._delegate.GetFromFile(path) |
+ self._file_cache[path] = from_delegate |
+ return from_delegate |
+ |
+ def GetFromFileListing(self, path): |
+ if path in self._ls_cache: |
+ return self._ls_cache[path] |
+ from_delegate = self._delegate.GetFromFileListing(path) |
+ self._ls_cache[path] = from_delegate |
+ return from_delegate |