Exemplo n.º 1
0
  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])
Exemplo n.º 2
0
 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)
Exemplo n.º 6
0
  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)