diff options
| author | ianb <devnull@localhost> | 2005-05-30 20:51:33 +0000 |
|---|---|---|
| committer | ianb <devnull@localhost> | 2005-05-30 20:51:33 +0000 |
| commit | 7a07ed761c3ee9686f20dd81fd74050646cc777f (patch) | |
| tree | 6e0ace97d4ced799478bfd49f6a4da13926ef547 /paste | |
| parent | d868f550fb6fa563512ccd8b0e8b08ec42b6f294 (diff) | |
| download | paste-7a07ed761c3ee9686f20dd81fd74050646cc777f.tar.gz | |
Removed, as easy_install duplicates this
Diffstat (limited to 'paste')
| -rw-r--r-- | paste/packaging/__init__.py | 1 | ||||
| -rw-r--r-- | paste/packaging/finder.py | 53 | ||||
| -rw-r--r-- | paste/packaging/install.py | 63 |
3 files changed, 0 insertions, 117 deletions
diff --git a/paste/packaging/__init__.py b/paste/packaging/__init__.py deleted file mode 100644 index 792d600..0000000 --- a/paste/packaging/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/paste/packaging/finder.py b/paste/packaging/finder.py deleted file mode 100644 index 1aea428..0000000 --- a/paste/packaging/finder.py +++ /dev/null @@ -1,53 +0,0 @@ -import sys -import urllib2 -import rfc822 -import install - -paste_pkg_url = 'http://pythonpaste.org/packages/info.txt' -pkg_install_url= 'http://pythonpaste.org/packages' - -class PackageError(Exception): - pass - -def get_package_info(metadata_url=None): - url = url or paste_pkg_url - records = {} - f = urllib2.urlopen(url) - while 1: - msg = rfc822.Message(f) - if not msg: - break - records.setdefault(msg['Name'], []).append(msg) - return records - -def install_package(package_name, dest_dir, version=None, - metadata_url=None): - all_info = get_package_info(metadata_url=metadata_url) - if package_name not in all_info: - raise PackageError( - "Package %s not found" % package_name) - available = all_info[package_name] - package_info = None - for info in available: - if version is None: - if (not package_info - or info['Version'] > package_info['Version']): - package_info = info - elif version == info['Version']: - package_info = info - break - if package_info is None: - raise PackageError( - "Version %s of Package %s not found" - % (version, package_name)) - python_version = 'py%s.%s' % ( - sys.version_info[0], sys.version_info[1]) - package_url = ( - pkg_install_url + '/' + package_name + '-' - + package_info['Version'] + '-' + python_version + '.egg') - install.install_egg_from_url(package_url, dest_dir) - -if __name__ == '__main__': - print get_package_info() - - diff --git a/paste/packaging/install.py b/paste/packaging/install.py deleted file mode 100644 index bff8d1b..0000000 --- a/paste/packaging/install.py +++ /dev/null @@ -1,63 +0,0 @@ -import zipfile -import os -import urllib2 -import shutil - -def install_egg_file(filename, dest_dir, fileobj=None): - """ - Install the egg file at `filename` into `dest_dir`. - - Can also be installed from a `fileobj`; if given then `filename` - is just for error reporting. - """ - # Since the filename may be a URL, we can't trust os.path: - canonical_filename = filename.replace(os.sep, '/') - # This is the convention for egg file naming: - base_name = canonical_filename.split('/')[-1] - package_name = base_name.split('-')[0] - dest_dir = os.path.join(dest_dir, base_name) - zf = zipfile.ZipFile(fileobj or filename) - badfile = zf.testzip() - if badfile: - raise ValueError( - "Zip file %s is corrupted; first bad file: %r" - % (filename, badfile)) - for file_info in zf.infolist(): - fn = file_info.filename.lstrip('/') # make sure it's relative - if fn.startswith('EGG-INFO/'): - fn = package_name + '.egg-info' + fn[len('EGG-INFO'):] - dest_fn = os.path.join(dest_dir, fn) - if not os.path.exists(os.path.dirname(dest_fn)): - os.makedirs(os.path.dirname(dest_fn)) - if fn.endswith('/') and not os.path.exists(dest_fn): - os.makedir(dest_fn) - continue - f = open(dest_fn, 'wb') - f.write(zf.read(file_info.filename)) - f.close() - -def install_egg_from_url(url, dest_dir, package_name=None, - unpack=True): - """ - Install the egg file located at `url` into `dest_dir`. If - `package_name` is not given, then the package name is determined - from the url. - """ - f = urllib2.urlopen(url) - try: - if unpack: - install_egg_file(url, dest_dir, package_name=package_name, - fileobj=f) - else: - fn_out = os.path.join(dest_dir, url.split('/')[-1]) - if not os.path.exists(os.path.dirname(fn_out)): - os.makedirs(os.path.dirname(fn_out)) - fout = open(fn_out, 'wb') - shutil.copyfileobj(f, fout) - fout.close() - finally: - f.close() - -if __name__ == '__main__': - import sys - install_egg_file(*sys.argv[1:]) |
