From cc0d4be2389a0cc9eb37e50b4fd868916655ba21 Mon Sep 17 00:00:00 2001 From: "ahernandez.miralles@gmail.com" Date: Tue, 5 Aug 2014 07:46:03 +0000 Subject: Docserver: Update Future.Then() to be more Promise-like BUG=306341 NOTRY=True Review URL: https://codereview.chromium.org/417163004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287482 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/common/extensions/docs/server2/file_system.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'chrome/common/extensions/docs/server2/file_system.py') diff --git a/chrome/common/extensions/docs/server2/file_system.py b/chrome/common/extensions/docs/server2/file_system.py index 99e33c5..1e5b567 100644 --- a/chrome/common/extensions/docs/server2/file_system.py +++ b/chrome/common/extensions/docs/server2/file_system.py @@ -106,13 +106,12 @@ class FileSystem(object): return Future(value=True) parent, base = SplitParent(path) - list_future = self.ReadSingle(ToDirectory(parent)) - def resolve(): - try: - return base in list_future.Get() - except FileNotFoundError: + def handle(error): + if isinstance(error, FileNotFoundError): return False - return Future(callback=resolve) + raise error + return self.ReadSingle(ToDirectory(parent)).Then(lambda l: base in l, + handle) def Refresh(self): '''Asynchronously refreshes the content of the FileSystem, returning a -- cgit v1.1