mirror of
https://github.com/kennethreitz-archive/python-build.git
synced 2026-06-05 15:20:16 +00:00
Bug fix. Added list option (--all-versions).
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import re
|
||||
from pythonbrew.basecommand import Command
|
||||
from pythonbrew.define import PYTHON_PACKAGE_URL
|
||||
from pythonbrew.define import PYTHON_PACKAGE_URL, LATEST_VERSIONS_OF_PYTHON
|
||||
from pythonbrew.util import Package
|
||||
from pythonbrew.log import logger
|
||||
|
||||
@@ -8,27 +8,36 @@ class ListCommand(Command):
|
||||
name = "list"
|
||||
usage = "%prog [VERSION]"
|
||||
summary = "List the available install version of python"
|
||||
|
||||
def __init__(self):
|
||||
super(ListCommand, self).__init__()
|
||||
self.parser.add_option(
|
||||
"--all-versions",
|
||||
dest="all_versions",
|
||||
action="store_true",
|
||||
default=False,
|
||||
help="All versions of Python are visible."
|
||||
)
|
||||
|
||||
def run_command(self, options, args):
|
||||
if args:
|
||||
pkg = Package(args[0])
|
||||
_re = re.compile(r"%s" % pkg.name)
|
||||
pkgs = []
|
||||
for pkgname in self._get_packages_name():
|
||||
for pkgname in self._get_packages_name(options):
|
||||
if _re.match(pkgname):
|
||||
pkgs.append(pkgname)
|
||||
if pkgs:
|
||||
logger.info("Pythons:")
|
||||
for pkgname in pkgs:
|
||||
logger.info(" %s" % pkgname)
|
||||
logger.info("%s" % pkgname)
|
||||
else:
|
||||
print "Package not found. `%s`" % pkg.name
|
||||
else:
|
||||
logger.info("Pythons:")
|
||||
for pkgname in self._get_packages_name():
|
||||
logger.info(" %s" % pkgname)
|
||||
for pkgname in self._get_packages_name(options):
|
||||
logger.info("%s" % pkgname)
|
||||
|
||||
def _get_packages_name(self):
|
||||
return ["Python-%s" % version for version in sorted(PYTHON_PACKAGE_URL.keys())]
|
||||
def _get_packages_name(self, options):
|
||||
return ["Python-%s" % version for version in sorted(PYTHON_PACKAGE_URL.keys())
|
||||
if(options.all_versions or (not options.all_versions and version in LATEST_VERSIONS_OF_PYTHON))]
|
||||
|
||||
ListCommand()
|
||||
|
||||
@@ -34,6 +34,7 @@ DISTRIBUTE_SETUP_DLSITE = "http://python-distribute.org/distribute_setup.py"
|
||||
PYTHONBREW_UPDATE_URL = {
|
||||
"head": "http://github.com/utahta/pythonbrew/tarball/master",
|
||||
"0.5": "https://github.com/utahta/pythonbrew/tarball/0.5",
|
||||
"0.6": "https://github.com/utahta/pythonbrew/tarball/0.6",
|
||||
}
|
||||
PYTHONBREW_DIRNAME = "utahta-pythonbrew"
|
||||
|
||||
@@ -60,3 +61,8 @@ PYTHON_PACKAGE_URL["3.2a1"] = "http://www.python.org/ftp/python/3.2/Python-3.2a1
|
||||
PYTHON_PACKAGE_URL["3.2a2"] = "http://www.python.org/ftp/python/3.2/Python-3.2a2.tgz"
|
||||
PYTHON_PACKAGE_URL["3.2a3"] = "http://www.python.org/ftp/python/3.2/Python-3.2a3.tgz"
|
||||
|
||||
LATEST_VERSIONS_OF_PYTHON = ['1.5.2', '1.6.1',
|
||||
'2.0.1', '2.1.3', '2.2.3', '2.3.7', '2.4.6', '2.5.5', '2.6.6', '2.7',
|
||||
'3.0.1', '3.1.2', '3.2a3']
|
||||
|
||||
|
||||
|
||||
@@ -9,12 +9,12 @@ def get_response_from_url(url):
|
||||
try:
|
||||
resp = urllib2.urlopen(url)
|
||||
except urllib2.HTTPError, e:
|
||||
logger.error("HTTP error %s while getting %s" % (e.code))
|
||||
raise
|
||||
logger.error("HTTP error %s while getting %s" % (e.code, url))
|
||||
sys.exit(1)
|
||||
except IOError, e:
|
||||
# Typically an FTP error
|
||||
logger.error("Error %s while getting %s" % (e))
|
||||
raise
|
||||
logger.error("Error %s while getting %s" % (e, url))
|
||||
sys.exit(1)
|
||||
return resp
|
||||
|
||||
class Downloader(object):
|
||||
|
||||
Reference in New Issue
Block a user