Index: download_firefox_nightly.py |
=================================================================== |
--- download_firefox_nightly.py (revision 294082) |
+++ download_firefox_nightly.py (working copy) |
@@ -24,6 +24,7 @@ |
sys.path.append(os.path.join(THIRD_PARTY_DIR, 'mozinfo')) |
from mozdownload import scraper |
+import utils |
def _Touch(a_file): |
@@ -58,7 +59,7 @@ |
def _FindFallbackFirefoxBuild(target_dir): |
firefox_archives = _GetFirefoxArchivesSortedOnModifiedDate(target_dir) |
if not firefox_archives: |
- return None |
+ return None, None |
newest_build = firefox_archives[0] |
build_age_seconds = time.time() - os.path.getmtime(newest_build) |
@@ -101,33 +102,13 @@ |
def _ExtractArchive(firefox_archive, target_dir): |
- # TODO(phoglund): implement on win/mac. See http://crbug.com/454303. |
- if sys.platform == 'darwin': |
- print "Disabled on mac..." |
- return 0 |
- volume = '/Volumes/Nightly' |
- firefox_executable = '%s/FirefoxNightly.app' % target_dir |
- |
- # Unmount any previous downloads. |
- subprocess.call(['hdiutil', 'detach', volume]) |
- |
- subprocess.check_call(['hdiutil', 'attach', firefox_archive]) |
- shutil.copytree('%s/FirefoxNightly.app' % volume, firefox_executable) |
- subprocess.check_call(['hdiutil', 'detach', volume]) |
- elif sys.platform == 'linux2': |
+ if utils.GetPlatform() is 'linux': |
tar_archive = tarfile.open(firefox_archive, 'r:bz2') |
tar_archive.extractall(path=target_dir) |
- elif sys.platform == 'win32': |
- print "Disabled on win..." |
- return 0 |
- zip_archive = zipfile.ZipFile(firefox_archive) |
- zip_archive.extractall(path=target_dir) |
else: |
- print >> sys.stderr, 'Unsupported platform: %s' % sys.platform |
- return 1 |
+ raise Exception('Unsupported platform: %s' % sys.platform) |
print 'Extracted %s' % firefox_archive |
- return 0 |
def main(): |
@@ -146,6 +127,10 @@ |
if not options.target_dir: |
parser.error('You must specify the target directory.') |
+ if utils.GetPlatform() is not 'linux': |
+ print 'This script is only supported on Linux for now.' |
+ return |
+ |
target_dir = options.target_dir |
if not os.path.isdir(target_dir): |
os.mkdir(target_dir) |
@@ -152,7 +137,7 @@ |
firefox_archive = _MaybeDownload(target_dir, options.force) |
if firefox_archive: |
- return _ExtractArchive(firefox_archive, target_dir) |
+ _ExtractArchive(firefox_archive, target_dir) |
if options.clean_old_firefox_archives: |
_CleanOldFirefoxArchives(target_dir) |