[Checkins] SVN: zc.buildout/branches/regebro-python3/ dev.py now works under Python 2.6and Python 3.1.
Lennart Regebro
regebro at gmail.com
Sun Nov 21 09:54:16 EST 2010
Log message for revision 118516:
dev.py now works under Python 2.6and Python 3.1.
Changed:
U zc.buildout/branches/regebro-python3/dev.py
U zc.buildout/branches/regebro-python3/src/zc/buildout/buildout.py
U zc.buildout/branches/regebro-python3/src/zc/buildout/download.py
-=-
Modified: zc.buildout/branches/regebro-python3/dev.py
===================================================================
--- zc.buildout/branches/regebro-python3/dev.py 2010-11-21 14:36:46 UTC (rev 118515)
+++ zc.buildout/branches/regebro-python3/dev.py 2010-11-21 14:54:16 UTC (rev 118516)
@@ -19,7 +19,12 @@
$Id$
"""
-import os, shutil, sys, subprocess, urllib.request, urllib.error, urllib.parse, subprocess
+import os, shutil, sys, subprocess
+try:
+ from urllib.request import urlopen
+except ImportError:
+ from urllib2 import urlopen
+
from optparse import OptionParser
if sys.platform == 'win32':
@@ -102,7 +107,7 @@
raise ImportError
import setuptools # A flag. Sometimes pkg_resources is installed alone.
except ImportError:
- ez_code = urllib.request.urlopen(setup_source).read().replace(b'\r\n', b'\n')
+ ez_code = urlopen(setup_source).read().replace(b'\r\n', b'\n')
ez = {}
exec(ez_code, ez)
setup_args = dict(to_dir='eggs', download_delay=0)
Modified: zc.buildout/branches/regebro-python3/src/zc/buildout/buildout.py
===================================================================
--- zc.buildout/branches/regebro-python3/src/zc/buildout/buildout.py 2010-11-21 14:36:46 UTC (rev 118515)
+++ zc.buildout/branches/regebro-python3/src/zc/buildout/buildout.py 2010-11-21 14:54:16 UTC (rev 118516)
@@ -22,7 +22,11 @@
from md5 import md5
import base64
-import configparser
+try:
+ import configparser
+except ImportError:
+ import ConfigParser as configparser
+
import copy
import distutils.errors
import glob
@@ -798,7 +802,7 @@
f = open(installed, 'w')
_save_options('buildout', installed_options['buildout'], f)
for part in installed_options['buildout']['parts'].split():
- print(file=f)
+ f.write(os.linesep)
_save_options(part, installed_options[part], f)
f.close()
@@ -1269,6 +1273,7 @@
def __setitem__(self, option, value):
if not isinstance(value, str):
+ import pdb;pdb.set_trace()
raise TypeError('Option values must be strings', value)
self._data[option] = value
@@ -1390,10 +1395,12 @@
value = '%(__buildout_space_n__)s' + value[2:]
if value.endswith('\n\t'):
value = value[:-2] + '%(__buildout_space_n__)s'
- print(option, '=', value, file=f)
+ f.write(' '.join((option, '=', value)))
+ f.write(os.linesep)
def _save_options(section, options, f):
- print('[%s]' % section, file=f)
+ f.write('[%s]' % section)
+ f.write(os.linesep)
items = list(options.items())
items.sort()
for option, value in items:
@@ -1491,7 +1498,7 @@
hash.update((' '.join(filenames)).encode())
for name in filenames:
hash.update(open(os.path.join(dirpath, name)).read().encode())
- return base64.b64encode(hash.digest()).strip().decode()
+ return str(base64.b64encode(hash.digest()).strip())
def _dists_sig(dists):
result = []
Modified: zc.buildout/branches/regebro-python3/src/zc/buildout/download.py
===================================================================
--- zc.buildout/branches/regebro-python3/src/zc/buildout/download.py 2010-11-21 14:36:46 UTC (rev 118515)
+++ zc.buildout/branches/regebro-python3/src/zc/buildout/download.py 2010-11-21 14:54:16 UTC (rev 118516)
@@ -17,6 +17,15 @@
from hashlib import md5
except ImportError:
from md5 import new as md5
+try:
+ from urllib.request import FancyURLopener, URLopener, urlretrieve
+ from urllib.parse import urlparse
+ from urllib import request
+except ImportError:
+ from urllib import FancyURLopener, URLopener, urlretrieve
+ from urlparse import urlparse
+ import urllib as request
+
from zc.buildout.easy_install import realpath
import logging
import os
@@ -24,13 +33,12 @@
import re
import shutil
import tempfile
-import urllib.request, urllib.parse, urllib.error
-import urllib.parse
+
import zc.buildout
-class URLOpener(urllib.request.FancyURLopener):
- http_error_default = urllib.request.URLopener.http_error_default
+class URLOpener(FancyURLopener):
+ http_error_default = URLopener.http_error_default
class ChecksumError(zc.buildout.UserError):
@@ -151,7 +159,7 @@
"""
if re.match(r"^[A-Za-z]:\\", url):
url = 'file:' + url
- parsed_url = urllib.parse.urlparse(url, 'file')
+ parsed_url = urlparse(url, 'file')
url_scheme, _, url_path = parsed_url[:3]
if url_scheme == 'file':
self.logger.debug('Using local resource %s' % url)
@@ -166,11 +174,11 @@
"Couldn't download %r in offline mode." % url)
self.logger.info('Downloading %s' % url)
- urllib.request._urlopener = url_opener
+ request._urlopener = url_opener
handle, tmp_path = tempfile.mkstemp(prefix='buildout-')
try:
try:
- tmp_path, headers = urllib.request.urlretrieve(url, tmp_path)
+ tmp_path, headers = urlretrieve(url, tmp_path)
if not check_md5sum(tmp_path, md5sum):
raise ChecksumError(
'MD5 checksum mismatch downloading %r' % url)
@@ -195,7 +203,7 @@
else:
if re.match(r"^[A-Za-z]:\\", url):
url = 'file:' + url
- parsed = urllib.parse.urlparse(url, 'file')
+ parsed = urlparse(url, 'file')
url_path = parsed[2]
if parsed[0] == 'file':
More information about the checkins
mailing list