def _GetCommitInfo(self, key): '''Gets the commit information specified by |key|. The JSON view for commit info looks like: { "commit": "8fd578e1a7b142cd10a4387861f05fb9459b69e2", # Commit ID. "tree": "3ade65d8a91eadd009a6c9feea8f87db2c528a53", # Tree ID. "parents": [ "a477c787fe847ae0482329f69b39ce0fde047359" # Previous commit ID. ], "author": { "name": "...", "email": "...", "time": "Tue Aug 12 17:17:21 2014" }, "committer": { "name": "...", "email": "...", "time": "Tue Aug 12 17:18:28 2014" }, "message": "...", "tree_diff": [...] } ''' # Commit information for a branch is obtained by appending '?format=JSON' # to the branch URL. Note that '<gitiles_url>/<branch>?format=JSON' is # different from '<gitiles_url>/<branch>/?format=JSON': the latter serves # the root directory JSON content, whereas the former serves the branch # commit info JSON content. access_token, _ = app_identity.get_access_token(GITILES_OAUTH2_SCOPE) fetch_future = self._fetcher.FetchAsync(self._base_url + _JSON_FORMAT, access_token=access_token) content_future = self._ResolveFetchContent(self._base_url, fetch_future) return content_future.Then(lambda json: _ParseGitilesJson(json)[key])
def _FetchAsync(self, url): '''Convenience wrapper for fetcher.FetchAsync, so callers don't need to use posixpath.join. ''' AssertIsValid(url) access_token, _ = app_identity.get_access_token(GITILES_OAUTH2_SCOPE) return self._fetcher.FetchAsync('%s/%s' % (self._base_url, url), access_token=access_token)
def Create(branch='master', commit=None): token, _ = app_identity.get_access_token(GITILES_OAUTH2_SCOPE) path_prefix = '' if token is None else _AUTH_PATH_PREFIX if commit: base_url = '%s%s/%s/%s' % ( GITILES_BASE, path_prefix, GITILES_SRC_ROOT, commit) elif branch is 'master': base_url = '%s%s/%s/master' % ( GITILES_BASE, path_prefix, GITILES_SRC_ROOT) else: base_url = '%s%s/%s/%s/%s' % ( GITILES_BASE, path_prefix, GITILES_SRC_ROOT, GITILES_BRANCHES_PATH, branch) return GitilesFileSystem(AppEngineUrlFetcher(), base_url, branch, commit)
def Create(branch='master', commit=None): token, _ = app_identity.get_access_token(GITILES_OAUTH2_SCOPE) path_prefix = '' if token is None else _AUTH_PATH_PREFIX if commit: base_url = '%s%s/%s/%s' % (GITILES_BASE, path_prefix, GITILES_SRC_ROOT, commit) elif branch is 'master': base_url = '%s%s/%s/master' % (GITILES_BASE, path_prefix, GITILES_SRC_ROOT) else: base_url = '%s%s/%s/%s/%s' % (GITILES_BASE, path_prefix, GITILES_SRC_ROOT, GITILES_BRANCHES_PATH, branch) return GitilesFileSystem(AppEngineUrlFetcher(), base_url, branch, commit)
def Create(cls, branch='master', commit=None): token, _ = app_identity.get_access_token(GITILES_OAUTH2_SCOPE) # Log the access token (once per token) so that it can be sneakily re-used # in development. if token not in cls._logged_tokens: logging.info('Got token %s for scope %s' % (token, GITILES_OAUTH2_SCOPE)) cls._logged_tokens.add(token) path_prefix = '' if token is None else _AUTH_PATH_PREFIX if commit: base_url = '%s%s/%s/%s' % ( GITILES_BASE, path_prefix, GITILES_SRC_ROOT, commit) elif branch is 'master': base_url = '%s%s/%s/master' % ( GITILES_BASE, path_prefix, GITILES_SRC_ROOT) else: base_url = '%s%s/%s/%s/%s' % ( GITILES_BASE, path_prefix, GITILES_SRC_ROOT, GITILES_BRANCHES_PATH, branch) return GitilesFileSystem(AppEngineUrlFetcher(), base_url, branch, commit)
def Create(cls, branch='master', commit=None): token, _ = app_identity.get_access_token(GITILES_OAUTH2_SCOPE) # Log the access token (once per token) so that it can be sneakily re-used # in development. if token not in cls._logged_tokens: logging.info('Got token %s for scope %s' % (token, GITILES_OAUTH2_SCOPE)) cls._logged_tokens.add(token) # Only include forced-auth (/a/) in the Gitiles URL if we have a token and # this is not the development server. path_prefix = ('' if token is None or IsDevServer() else _AUTH_PATH_PREFIX) if commit: base_url = '%s%s/%s/%s' % ( GITILES_BASE, path_prefix, GITILES_SRC_ROOT, commit) elif branch is 'master': base_url = '%s%s/%s/master' % ( GITILES_BASE, path_prefix, GITILES_SRC_ROOT) else: base_url = '%s%s/%s/%s/%s' % ( GITILES_BASE, path_prefix, GITILES_SRC_ROOT, GITILES_BRANCHES_PATH, branch) return GitilesFileSystem(AppEngineUrlFetcher(), base_url, branch, commit)