Delete download-baselines-old script, we don't need it anymore.
Review URL: https://codereview.appspot.com/5615047
git-svn-id: http://skia.googlecode.com/svn/trunk@3130 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tools/download-baselines-old.py b/tools/download-baselines-old.py
deleted file mode 100644
index 80f866e..0000000
--- a/tools/download-baselines-old.py
+++ /dev/null
@@ -1,188 +0,0 @@
-'''
-TODO: THIS IS AN OLD VERSION OF DOWNLOAD-BASELINES THAT DOWNLOADS BASELINES
-DIRECTLY FROM THE BUILDBOT SLAVES. ONCE THE NEW VERSION IS WORKING CORRECTLY,
-WE SHOULD DELETE THIS VERSION.
-
-Downloads the actual gm results most recently generated by the Skia buildbots,
-and adds any new ones to SVN control.
-
-This tool makes it much easier to check in new baselines, via the following
-steps:
-
-cd .../trunk
-svn update
-# make sure there are no files awaiting svn commit
-python tools/download-baselines-old.py gm/base-macmini-lion-fixed # or other gm/ subdir
-# upload CL for review
-# validate that the new images look right
-# commit CL
-
-Launch with --help to see more options.
-
-
-Copyright 2011 Google Inc.
-
-Use of this source code is governed by a BSD-style license that can be
-found in the LICENSE file.
-'''
-
-# common Python modules
-import optparse
-import os
-import re
-import sys
-import urllib2
-
-# modules declared within this same directory
-import svn
-
-# Where to download recently generated baseline images for each baseline type.
-#
-# For now this only works for our Mac buildbots; our other buildbots aren't
-# uploading their results to a web server yet.
-#
-# Note also that these will currently work only within the Google corporate
-# network; that will also change soon.
-ACTUALS_BY_BASELINE_SUBDIR = {
- 'gm/base-macmini':
- 'http://172.29.92.185/b/build/slave/Skia_Mac_Float_NoDebug/gm/actual',
- 'gm/base-macmini-fixed':
- 'http://172.29.92.185/b/build/slave/Skia_Mac_Fixed_NoDebug/gm/actual',
- 'gm/base-macmini-lion-fixed':
- 'http://172.29.92.179/b/build/slave/Skia_MacMiniLion_Fixed_NoDebug/gm/actual',
- 'gm/base-macmini-lion-float':
- 'http://172.29.92.179/b/build/slave/Skia_MacMiniLion_Float_NoDebug/gm/actual',
-}
-
-USAGE_STRING = 'usage: %s [options] <baseline_subdir>'
-OPTION_IGNORE_LOCAL_MODS = '--ignore-local-mods'
-OPTION_ADD_NEW_FILES = '--add-new-files'
-
-IMAGE_REGEX = '.+\.png'
-IMAGE_MIMETYPE = 'image/png'
-
-def GetPlatformUrl(baseline_subdir):
- """Return URL within which the buildbots store generated baseline images,
- as of multiple svn revisions.
-
- Raises KeyError if we don't have a URL matching this baseline_subdir.
-
- @param baseline_subdir indicates which platform we want images for
- """
- try:
- return ACTUALS_BY_BASELINE_SUBDIR[baseline_subdir]
- except KeyError:
- raise KeyError(
- 'unknown baseline_subdir "%s", try one of these instead: %s' % (
- baseline_subdir, ACTUALS_BY_BASELINE_SUBDIR.keys()))
-
-def GetLatestResultsUrl(baseline_subdir):
- """Return URL from which we can download the MOST RECENTLY generated
- images for this baseline type.
-
- @param baseline_subdir indicates which platform we want images for
- """
- base_platform_url = GetPlatformUrl(baseline_subdir)
- print 'base_platform_url is %s' % base_platform_url
-
- # Find the most recently generated baseline images within base_platform_url
- response = urllib2.urlopen(base_platform_url)
- html = response.read()
- link_regex = re.compile('<a href="(.*)">')
- links = link_regex.findall(html)
- last_link = links[-1]
- most_recent_result_url = '%s/%s' % (base_platform_url, last_link)
- print 'most_recent_result_url is %s' % most_recent_result_url
- return most_recent_result_url
-
-def DownloadMatchingFiles(source_url, filename_regex, dest_dir,
- only_download_updates=False):
- """Download all files from source_url that match filename_regex, and save
- them (with their original filenames) in dest_dir.
-
- @param source_url
- @param filename_regex only download files that match this regex
- @param dest_dir where to save the downloaded files
- @param only_download_updates if True, only download files that are already
- present in dest_dir (download updated versions of those files)
- """
- while source_url.endswith('/'):
- source_url = source_url[:-1]
- response = urllib2.urlopen(source_url)
- html = response.read()
- link_regex = re.compile('<a href="(%s)">' % filename_regex)
- links = link_regex.findall(html)
- for link in links:
- dest_path = os.path.join(dest_dir, link)
- if only_download_updates and not os.path.isfile(dest_path):
- continue
- DownloadBinaryFile('%s/%s' % (source_url, link), dest_path)
-
-def DownloadBinaryFile(source_url, dest_path):
- """Download a single file from its source_url and save it to local disk
- at dest_path.
-
- @param source_url
- @param dest_path
- """
- print 'DownloadBinaryFile: %s -> %s' % (source_url, dest_path)
- url_fh = urllib2.urlopen(source_url)
- local_fh = open(dest_path, 'wb')
- local_fh.write(url_fh.read())
- local_fh.close()
-
-def Main(options, args):
- """Download most recently generated baseline images for a given platform,
- and add any new ones to SVN control.
-
- @param options
- @param args
- """
- num_args = len(args)
- if num_args != 1:
- RaiseUsageException()
-
- baseline_subdir = args[0]
- while baseline_subdir.endswith('/'):
- baseline_subdir = baseline_subdir[:-1]
- svn_handler = svn.Svn(baseline_subdir)
-
- # If there are any locally modified files in that directory, exit
- # (so that we don't risk overwriting the user's previous work).
- new_and_modified_files = svn_handler.GetNewAndModifiedFiles()
- if not options.ignore_local_mods:
- if new_and_modified_files:
- raise Exception('Exiting because there are already new and/or '
- 'modified files in %s. To continue in spite of '
- 'that, run with %s option.' % (
- baseline_subdir, OPTION_IGNORE_LOCAL_MODS))
-
- # Download the actual results from the appropriate buildbot.
- results_url = GetLatestResultsUrl(baseline_subdir)
- DownloadMatchingFiles(source_url=results_url, filename_regex=IMAGE_REGEX,
- dest_dir=baseline_subdir,
- only_download_updates=(not options.add_new_files))
-
- # Add any new files to SVN control (if we are running with add_new_files).
- new_files = svn_handler.GetNewFiles()
- if new_files and options.add_new_files:
- svn_handler.AddFiles(new_files)
- svn_handler.SetProperty(new_files, svn.PROPERTY_MIMETYPE,
- IMAGE_MIMETYPE)
-
-def RaiseUsageException():
- raise Exception(USAGE_STRING % __file__)
-
-if __name__ == '__main__':
- parser = optparse.OptionParser(USAGE_STRING % '%prog')
- parser.add_option(OPTION_IGNORE_LOCAL_MODS,
- action='store_true', default=False,
- help='allow tool to run even if there are already '
- 'local modifications in the baseline_subdir')
- parser.add_option(OPTION_ADD_NEW_FILES,
- action='store_true', default=False,
- help='in addition to downloading new versions of '
- 'existing baselines, also download baselines that are '
- 'not under SVN control yet')
- (options, args) = parser.parse_args()
- Main(options, args)