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

Side by Side Diff: client/common_lib/base_packages.py

Issue 4823005: Merge remote branch 'cros/upstream' into tempbranch (Closed) Base URL: http://git.chromium.org/git/autotest.git@master
Patch Set: patch Created 10 years, 1 month 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
« no previous file with comments | « client/common_lib/autotemp.py ('k') | client/common_lib/boottool.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 """ 1 """
2 This module defines the BasePackageManager Class which provides an 2 This module defines the BasePackageManager Class which provides an
3 implementation of the packaging system API providing methods to fetch, 3 implementation of the packaging system API providing methods to fetch,
4 upload and remove packages. Site specific extensions to any of these methods 4 upload and remove packages. Site specific extensions to any of these methods
5 should inherit this class. 5 should inherit this class.
6 """ 6 """
7 7
8 import re, os, sys, traceback, subprocess, shutil, time, traceback, urlparse 8 import re, os, sys, traceback, subprocess, shutil, time, traceback, urlparse
9 import fcntl, logging 9 import fcntl, logging
10 from autotest_lib.client.common_lib import error, utils, global_config 10 from autotest_lib.client.common_lib import error, utils, global_config
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 112
113 def _quick_http_test(self): 113 def _quick_http_test(self):
114 """ Run a simple 30 second wget on the repository to see if it is 114 """ Run a simple 30 second wget on the repository to see if it is
115 reachable. This avoids the need to wait for a full 10min timeout. 115 reachable. This avoids the need to wait for a full 10min timeout.
116 """ 116 """
117 # just make a temp file to write a test fetch into 117 # just make a temp file to write a test fetch into
118 mktemp = 'mktemp -u /tmp/tmp.XXXXXX' 118 mktemp = 'mktemp -u /tmp/tmp.XXXXXX'
119 dest_file_path = self.run_command(mktemp).stdout.strip() 119 dest_file_path = self.run_command(mktemp).stdout.strip()
120 120
121 try: 121 try:
122 # build up a wget command using the server name 122 # build up a wget command
123 server_name = urlparse.urlparse(self.url)[1] 123 http_cmd = self.wget_cmd_pattern % (self.url, dest_file_path)
124 http_cmd = self.wget_cmd_pattern % (server_name, dest_file_path)
125 try: 124 try:
126 self.run_command(http_cmd, _run_command_dargs={'timeout': 30}) 125 self.run_command(http_cmd, _run_command_dargs={'timeout': 30})
127 except Exception, e: 126 except Exception, e:
128 msg = 'HTTP test failed, unable to contact %s: %s' 127 msg = 'HTTP test failed, unable to contact %s: %s'
129 raise error.PackageFetchError(msg % (server_name, e)) 128 raise error.PackageFetchError(msg % (self.url, e))
130 finally: 129 finally:
131 self.run_command('rm -rf %s' % dest_file_path) 130 self.run_command('rm -rf %s' % dest_file_path)
132 131
133 132
134 def fetch_pkg_file(self, filename, dest_path): 133 def fetch_pkg_file(self, filename, dest_path):
135 logging.info('Fetching %s from %s to %s', filename, self.url, 134 logging.info('Fetching %s from %s to %s', filename, self.url,
136 dest_path) 135 dest_path)
137 136
138 # do a quick test to verify the repo is reachable 137 # do a quick test to verify the repo is reachable
139 self._quick_http_test() 138 self._quick_http_test()
(...skipping 713 matching lines...) Expand 10 before | Expand all | Expand 10 after
853 if not match: 852 if not match:
854 return ('', url) 853 return ('', url)
855 group, filename = match.groups() 854 group, filename = match.groups()
856 # Generate the group prefix. 855 # Generate the group prefix.
857 group = re.sub(r'\W', '_', group) 856 group = re.sub(r'\W', '_', group)
858 # Drop the extension to get the raw test name. 857 # Drop the extension to get the raw test name.
859 testname = re.sub(r'\.tar\.bz2', '', filename) 858 testname = re.sub(r'\.tar\.bz2', '', filename)
860 # Drop any random numbers at the end of the test name if any 859 # Drop any random numbers at the end of the test name if any
861 testname = re.sub(r'\.(\d*)', '', testname) 860 testname = re.sub(r'\.(\d*)', '', testname)
862 return (group, testname) 861 return (group, testname)
OLDNEW
« no previous file with comments | « client/common_lib/autotemp.py ('k') | client/common_lib/boottool.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698