diff options
author | Mike Frysinger <vapier@google.com> | 2019-07-10 17:10:07 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@google.com> | 2019-10-01 05:39:27 +0000 |
commit | 369814b4a77adcc78b2549ad728e0d69175f08e8 (patch) | |
tree | eccd05989cd69c424dce146b2ea76d0a7069b423 /main.py | |
parent | e37aa5f331aa39776d5db1a1f816b66496f60e0c (diff) | |
download | git-repo-369814b4a77adcc78b2549ad728e0d69175f08e8.tar.gz |
move UserAgent to git_command for wider user
We can't import the main module, so move the UserAgent helper out of
it and into the git_command module so it can be used in more places.
Bug: https://crbug.com/gerrit/11144
Change-Id: I8093c8a20bd1dc7d612d0e2a85180341817c0d86
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/231057
Tested-by: Mike Frysinger <vapier@google.com>
Reviewed-by: David Pursehouse <dpursehouse@collab.net>
Diffstat (limited to 'main.py')
-rwxr-xr-x | main.py | 48 |
1 files changed, 3 insertions, 45 deletions
@@ -46,7 +46,7 @@ except ImportError: | |||
46 | from color import SetDefaultColoring | 46 | from color import SetDefaultColoring |
47 | import event_log | 47 | import event_log |
48 | from repo_trace import SetTrace | 48 | from repo_trace import SetTrace |
49 | from git_command import git, GitCommand | 49 | from git_command import git, GitCommand, RepoUserAgent |
50 | from git_config import init_ssh, close_ssh | 50 | from git_config import init_ssh, close_ssh |
51 | from command import InteractiveCommand | 51 | from command import InteractiveCommand |
52 | from command import MirrorSafeCommand | 52 | from command import MirrorSafeCommand |
@@ -244,10 +244,6 @@ class _Repo(object): | |||
244 | return result | 244 | return result |
245 | 245 | ||
246 | 246 | ||
247 | def _MyRepoPath(): | ||
248 | return os.path.dirname(__file__) | ||
249 | |||
250 | |||
251 | def _CheckWrapperVersion(ver, repo_path): | 247 | def _CheckWrapperVersion(ver, repo_path): |
252 | if not repo_path: | 248 | if not repo_path: |
253 | repo_path = '~/bin/repo' | 249 | repo_path = '~/bin/repo' |
@@ -299,51 +295,13 @@ def _PruneOptions(argv, opt): | |||
299 | continue | 295 | continue |
300 | i += 1 | 296 | i += 1 |
301 | 297 | ||
302 | _user_agent = None | ||
303 | |||
304 | def _UserAgent(): | ||
305 | global _user_agent | ||
306 | |||
307 | if _user_agent is None: | ||
308 | py_version = sys.version_info | ||
309 | |||
310 | os_name = sys.platform | ||
311 | if os_name == 'linux2': | ||
312 | os_name = 'Linux' | ||
313 | elif os_name == 'win32': | ||
314 | os_name = 'Win32' | ||
315 | elif os_name == 'cygwin': | ||
316 | os_name = 'Cygwin' | ||
317 | elif os_name == 'darwin': | ||
318 | os_name = 'Darwin' | ||
319 | |||
320 | p = GitCommand( | ||
321 | None, ['describe', 'HEAD'], | ||
322 | cwd = _MyRepoPath(), | ||
323 | capture_stdout = True) | ||
324 | if p.Wait() == 0: | ||
325 | repo_version = p.stdout | ||
326 | if len(repo_version) > 0 and repo_version[-1] == '\n': | ||
327 | repo_version = repo_version[0:-1] | ||
328 | if len(repo_version) > 0 and repo_version[0] == 'v': | ||
329 | repo_version = repo_version[1:] | ||
330 | else: | ||
331 | repo_version = 'unknown' | ||
332 | |||
333 | _user_agent = 'git-repo/%s (%s) git/%s Python/%d.%d.%d' % ( | ||
334 | repo_version, | ||
335 | os_name, | ||
336 | git.version_tuple().full, | ||
337 | py_version[0], py_version[1], py_version[2]) | ||
338 | return _user_agent | ||
339 | |||
340 | class _UserAgentHandler(urllib.request.BaseHandler): | 298 | class _UserAgentHandler(urllib.request.BaseHandler): |
341 | def http_request(self, req): | 299 | def http_request(self, req): |
342 | req.add_header('User-Agent', _UserAgent()) | 300 | req.add_header('User-Agent', RepoUserAgent()) |
343 | return req | 301 | return req |
344 | 302 | ||
345 | def https_request(self, req): | 303 | def https_request(self, req): |
346 | req.add_header('User-Agent', _UserAgent()) | 304 | req.add_header('User-Agent', RepoUserAgent()) |
347 | return req | 305 | return req |
348 | 306 | ||
349 | def _AddPasswordFromUserInput(handler, msg, req): | 307 | def _AddPasswordFromUserInput(handler, msg, req): |