#!/usr/bin/env python """ Refresh any files in ../virtualenv_support/ that come from elsewhere """ import os try: from urllib.request import urlopen except ImportError: from urllib2 import urlopen import sys here = os.path.dirname(__file__) support_location = os.path.join(here, '..', 'virtualenv_support') embedded_location = os.path.join(here, '..', 'virtualenv_embedded') embedded_files = [ ('http://peak.telecommunity.com/dist/ez_setup.py', 'ez_setup.py'), ('http://python-distribute.org/distribute_setup.py', 'distribute_setup.py'), ] support_files = [ ('http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg', 'setuptools-0.6c11-py2.6.egg'), ('http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c11-py2.5.egg', 'setuptools-0.6c11-py2.5.egg'), ('http://pypi.python.org/packages/2.4/s/setuptools/setuptools-0.6c11-py2.4.egg', 'setuptools-0.6c11-py2.4.egg'), ('http://pypi.python.org/packages/source/d/distribute/distribute-0.6.28.tar.gz', 'distribute-0.6.28.tar.gz'), ('http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz', 'pip-1.2.1.tar.gz'), ] def refresh_files(files, location): for url, filename in files: sys.stdout.write('fetching %s ... ' % url) sys.stdout.flush() f = urlopen(url) content = f.read() f.close() print('done.') filename = os.path.join(location, filename) if os.path.exists(filename): f = open(filename, 'rb') cur_content = f.read() f.close() else: cur_content = '' if cur_content == content: print(' %s up-to-date' % filename) else: print(' overwriting %s' % filename) f = open(filename, 'wb') f.write(content) f.close() def main(): refresh_files(embedded_files, embedded_location) refresh_files(support_files, support_location) if __name__ == '__main__': main()