Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Side by Side Diff: chrome/common/extensions/docs/server2/gitiles_file_system.py

Issue 474293007: Docserver: Automatically implement FileSystem.Stat if FileSystem.StatAsync has (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 from base64 import b64decode 5 from base64 import b64decode
6 from itertools import izip 6 from itertools import izip
7 import json 7 import json
8 import posixpath 8 import posixpath
9 import traceback 9 import traceback
10 10
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 # { 150 # {
151 # "commit": "8fd578e1a7b142cd10a4387861f05fb9459b69e2", # Commit ID. 151 # "commit": "8fd578e1a7b142cd10a4387861f05fb9459b69e2", # Commit ID.
152 # "tree": "3ade65d8a91eadd009a6c9feea8f87db2c528a53", # Tree ID. 152 # "tree": "3ade65d8a91eadd009a6c9feea8f87db2c528a53", # Tree ID.
153 # "author": {...}, 153 # "author": {...},
154 # "committer": {...}, 154 # "committer": {...},
155 # "message": <codereview message>, 155 # "message": <codereview message>,
156 # ... 156 # ...
157 # } 157 # }
158 return content_future.Then(lambda json: _ParseGitilesJson(json)['commit']) 158 return content_future.Then(lambda json: _ParseGitilesJson(json)['commit'])
159 159
160 def Stat(self, path):
161 return self.StatAsync(path).Get()
162
163 def StatAsync(self, path): 160 def StatAsync(self, path):
164 dir_, filename = posixpath.split(path) 161 dir_, filename = posixpath.split(path)
165 def stat(content): 162 def stat(content):
166 stat_info = _CreateStatInfo(content) 163 stat_info = _CreateStatInfo(content)
167 if stat_info.version is None: 164 if stat_info.version is None:
168 raise FileSystemError('Failed to find version of dir %s' % dir_) 165 raise FileSystemError('Failed to find version of dir %s' % dir_)
169 if IsDirectory(path): 166 if IsDirectory(path):
170 return stat_info 167 return stat_info
171 if filename not in stat_info.child_versions: 168 if filename not in stat_info.child_versions:
172 raise FileNotFoundError( 169 raise FileNotFoundError(
173 '%s from %s was not in child versions for Stat' % (filename, path)) 170 '%s from %s was not in child versions for Stat' % (filename, path))
174 return StatInfo(stat_info.child_versions[filename]) 171 return StatInfo(stat_info.child_versions[filename])
175 fetch_future = self._FetchAsync(ToDirectory(dir_) + _JSON_FORMAT) 172 fetch_future = self._FetchAsync(ToDirectory(dir_) + _JSON_FORMAT)
176 return self._ResolveFetchContent(path, fetch_future).Then(stat) 173 return self._ResolveFetchContent(path, fetch_future).Then(stat)
177 174
178 def GetIdentity(self): 175 def GetIdentity(self):
179 return '@'.join((self.__class__.__name__, 176 return '@'.join((self.__class__.__name__,
180 StringIdentity(self._commit or self._branch))) 177 StringIdentity(self._commit or self._branch)))
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/server2/file_system.py ('k') | chrome/common/extensions/docs/server2/subversion_file_system.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698