[Checkins] SVN: zc.buildout/branches/python-3-2/ Snapshot: make 'pythonX.Y dev.py' work for 2.4, 2.5, 2.6, 2.7 and 3.2

Christian Theune ct at gocept.com
Thu Apr 7 03:54:41 EDT 2011


Log message for revision 121317:
  Snapshot: make 'pythonX.Y dev.py' work for 2.4, 2.5, 2.6, 2.7 and 3.2
  

Changed:
  U   zc.buildout/branches/python-3-2/dev.py
  U   zc.buildout/branches/python-3-2/src/zc/buildout/buildout.py
  U   zc.buildout/branches/python-3-2/src/zc/buildout/download.py
  U   zc.buildout/branches/python-3-2/src/zc/buildout/easy_install.py
  U   zc.buildout/branches/python-3-2/zc.recipe.egg_/src/zc/recipe/egg/egg.py

-=-
Modified: zc.buildout/branches/python-3-2/dev.py
===================================================================
--- zc.buildout/branches/python-3-2/dev.py	2011-04-07 07:09:05 UTC (rev 121316)
+++ zc.buildout/branches/python-3-2/dev.py	2011-04-07 07:54:41 UTC (rev 121317)
@@ -18,7 +18,11 @@
 """
 
 import os, shutil, sys, subprocess
-import urllib.request, urllib.error, urllib.parse
+try:
+    import urllib.request as urllib2
+except ImportError:
+    import urllib2
+
 from optparse import OptionParser
 
 if sys.platform == 'win32':
@@ -101,7 +105,7 @@
         raise ImportError
     import setuptools # A flag.  Sometimes pkg_resources is installed alone.
 except ImportError:
-    ez_code = urllib.request.urlopen(setup_source).read().replace(
+    ez_code = urllib2.urlopen(setup_source).read().replace(
         '\r\n'.encode(), '\n'.encode())
     ez = {}
     exec(ez_code, ez)

Modified: zc.buildout/branches/python-3-2/src/zc/buildout/buildout.py
===================================================================
--- zc.buildout/branches/python-3-2/src/zc/buildout/buildout.py	2011-04-07 07:09:05 UTC (rev 121316)
+++ zc.buildout/branches/python-3-2/src/zc/buildout/buildout.py	2011-04-07 07:54:41 UTC (rev 121317)
@@ -14,7 +14,7 @@
 """Buildout main script
 """
 
-from .rmtree import rmtree
+from zc.buildout.rmtree import rmtree
 try:
     from hashlib import md5
 except ImportError:
@@ -43,7 +43,6 @@
 import zc.buildout.download
 import zc.buildout.easy_install
 
-
 realpath = zc.buildout.easy_install.realpath
 
 setuptools_key = zc.buildout.easy_install.setuptools_key
@@ -645,7 +644,7 @@
                 recipe, 'zc.buildout.uninstall', entry, self)
             self._logger.info('Running uninstall recipe.')
             uninstaller(part, installed_part_options[part])
-        except (ImportError, pkg_resources.DistributionNotFound) as v:
+        except (ImportError, pkg_resources.DistributionNotFound):
             pass
 
         # remove created files and directories
@@ -799,7 +798,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('\n')
             _save_options(part, installed_options[part], f)
         f.close()
 
@@ -1099,7 +1098,8 @@
         return pkg_resources.load_entry_point(
             req.project_name, group, entry)
 
-    except Exception as v:
+    except Exception:
+        v = sys.exc_info()[1]
         buildout._logger.log(
             1,
             "Could't load %s entry point %s\nfrom %s:\n%s.",
@@ -1382,10 +1382,10 @@
         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('%s = %s\n' % (option, value))
 
 def _save_options(section, options, f):
-    print('[%s]' % section, file=f)
+    f.write('[%s]\n' % section)
     items = list(options.items())
     items.sort()
     for option, value in items:

Modified: zc.buildout/branches/python-3-2/src/zc/buildout/download.py
===================================================================
--- zc.buildout/branches/python-3-2/src/zc/buildout/download.py	2011-04-07 07:09:05 UTC (rev 121316)
+++ zc.buildout/branches/python-3-2/src/zc/buildout/download.py	2011-04-07 07:54:41 UTC (rev 121317)
@@ -25,13 +25,20 @@
 import shutil
 import sys
 import tempfile
-import urllib.request, urllib.parse, urllib.error
-import urllib.parse
+try:
+    import urllib.request as urllib2
+    import urllib.parse as urlparse
+    from urllib.request import FancyURLopener, URLopener
+except ImportError:
+    import urllib2
+    from urllib import FancyURLopener, URLopener
+    import urlparse
+
 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):
@@ -176,18 +183,19 @@
         urllib.request._urlopener = url_opener
         handle, tmp_path = tempfile.mkstemp(prefix='buildout-')
         try:
-            tmp_path, headers = urllib.request.urlretrieve(url, tmp_path)
-            if not check_md5sum(tmp_path, md5sum):
-                raise ChecksumError(
-                    'MD5 checksum mismatch downloading %r' % url)
-        except IOError:
-            e = sys.exc_info()[1]
-            os.remove(tmp_path)
-            raise zc.buildout.UserError("Error downloading extends for URL "
-                              "%s:\n%s" % (url, e))
-        except Exception:
-            os.remove(tmp_path)
-            raise
+            try:
+                tmp_path, headers = urllib.request.urlretrieve(url, tmp_path)
+                if not check_md5sum(tmp_path, md5sum):
+                    raise ChecksumError(
+                        'MD5 checksum mismatch downloading %r' % url)
+            except IOError:
+                e = sys.exc_info()[1]
+                os.remove(tmp_path)
+                raise zc.buildout.UserError("Error downloading extends for URL "
+                                  "%s:\n%s" % (url, e))
+            except Exception:
+                os.remove(tmp_path)
+                raise
         finally:
             os.close(handle)
 

Modified: zc.buildout/branches/python-3-2/src/zc/buildout/easy_install.py
===================================================================
--- zc.buildout/branches/python-3-2/src/zc/buildout/easy_install.py	2011-04-07 07:09:05 UTC (rev 121316)
+++ zc.buildout/branches/python-3-2/src/zc/buildout/easy_install.py	2011-04-07 07:54:41 UTC (rev 121317)
@@ -943,7 +943,8 @@
                 if dist is None:
                     try:
                         dist = best[req.key] = env.best_match(req, ws)
-                    except pkg_resources.VersionConflict as err:
+                    except pkg_resources.VersionConflict:
+                        err = sys.exc_info()[1]
                         raise VersionConflict(err, ws)
                     if dist is None or (
                         dist.location in self._site_packages and not
@@ -1200,12 +1201,11 @@
                 args[1] == '-v'
         if log_level < logging.DEBUG:
             logger.debug("in: %r\n%s", directory, ' '.join(args))
-        
-        try:
-            subprocess.check_call([_safe_arg(executable)] + args)
-        except subprocess.CalledProcessError:
+
+        retcode = subprocess.call([_safe_arg(executable)] + args)
+        if retcode != 0:
             raise zc.buildout.UserError("Installing develop egg failed")
-            
+
         return _copyeggs(tmp3, dest, '.egg-link', undo)
 
     finally:
@@ -1482,7 +1482,7 @@
     if changed:
         open(script_name, 'w').write(contents)
         try:
-            os.chmod(script_name, 0o755)
+            os.chmod(script_name, int('755', 8))
         except (AttributeError, os.error):
             pass
         logger.info("Generated %s %r.", logged_type, full_name)

Modified: zc.buildout/branches/python-3-2/zc.recipe.egg_/src/zc/recipe/egg/egg.py
===================================================================
--- zc.buildout/branches/python-3-2/zc.recipe.egg_/src/zc/recipe/egg/egg.py	2011-04-07 07:09:05 UTC (rev 121316)
+++ zc.buildout/branches/python-3-2/zc.recipe.egg_/src/zc/recipe/egg/egg.py	2011-04-07 07:54:41 UTC (rev 121317)
@@ -16,6 +16,10 @@
 $Id$
 """
 
+try:
+    from collections import UserDict
+except ImportError:
+    from UserDict import UserDict
 import collections, logging, os, re, zipfile
 import zc.buildout
 import zc.buildout.easy_install
@@ -198,7 +202,7 @@
 Egg = Scripts
 
 
-class _BackwardsSupportOption(collections.UserDict):
+class _BackwardsSupportOption(UserDict):
 
     def __init__(self, data):
         self.data = data # We want to show mutations to the underlying dict.



More information about the checkins mailing list