[Checkins] SVN: zc.buildout/branches/gary-4/zc.recipe.egg_/src/zc/recipe/egg/ add option to script generation in zc.recipe.egg to import site.

Gary Poster gary.poster at canonical.com
Mon Dec 14 13:11:20 EST 2009


Log message for revision 106500:
  add option to script generation in zc.recipe.egg to import site.

Changed:
  U   zc.buildout/branches/gary-4/zc.recipe.egg_/src/zc/recipe/egg/api.txt
  U   zc.buildout/branches/gary-4/zc.recipe.egg_/src/zc/recipe/egg/egg.py
  U   zc.buildout/branches/gary-4/zc.recipe.egg_/src/zc/recipe/egg/tests.py

-=-
Modified: zc.buildout/branches/gary-4/zc.recipe.egg_/src/zc/recipe/egg/api.txt
===================================================================
--- zc.buildout/branches/gary-4/zc.recipe.egg_/src/zc/recipe/egg/api.txt	2009-12-14 17:25:00 UTC (rev 106499)
+++ zc.buildout/branches/gary-4/zc.recipe.egg_/src/zc/recipe/egg/api.txt	2009-12-14 18:11:20 UTC (rev 106500)
@@ -15,7 +15,7 @@
 around the egg recipe:
 
     >>> mkdir(sample_buildout, 'sample')
-    >>> write(sample_buildout, 'sample', 'sample.py', 
+    >>> write(sample_buildout, 'sample', 'sample.py',
     ... """
     ... import logging, os
     ... import zc.recipe.egg
@@ -53,7 +53,7 @@
     >>> write(sample_buildout, 'sample', 'setup.py',
     ... """
     ... from setuptools import setup
-    ... 
+    ...
     ... setup(
     ...     name = "sample",
     ...     entry_points = {'zc.buildout': ['default = sample:Sample']},
@@ -95,12 +95,13 @@
 computed by the egg recipe by looking at .installed.cfg:
 
     >>> cat(sample_buildout, '.installed.cfg')
+    ... # doctest: +NORMALIZE_WHITESPACE
     [buildout]
     installed_develop_eggs = /sample-buildout/develop-eggs/sample.egg-link
     parts = sample-part
     <BLANKLINE>
     [sample-part]
-    __buildout_installed__ = 
+    __buildout_installed__ =
     __buildout_signature__ = sample-6aWMvV2EJ9Ijq+bR8ugArQ==
             zc.recipe.egg-cAsnudgkduAa/Fd+WJIM6Q==
             setuptools-0.6-py2.4.egg
@@ -115,7 +116,9 @@
     executable = /usr/local/bin/python2.3
     extras = other
     find-links = http://localhost:27071/
+    include-site-packages = false
     index = http://localhost:27071/index
+    python = buildout
     recipe = sample
 
 If we use the extra-paths option:

Modified: zc.buildout/branches/gary-4/zc.recipe.egg_/src/zc/recipe/egg/egg.py
===================================================================
--- zc.buildout/branches/gary-4/zc.recipe.egg_/src/zc/recipe/egg/egg.py	2009-12-14 17:25:00 UTC (rev 106499)
+++ zc.buildout/branches/gary-4/zc.recipe.egg_/src/zc/recipe/egg/egg.py	2009-12-14 18:11:20 UTC (rev 106500)
@@ -52,7 +52,7 @@
         # verify that this is None, 'true' or 'false'
         get_bool(options, 'unzip')
 
-        python = options.get('python', b_options['python'])
+        python = options.setdefault('python', b_options['python'])
         options['executable'] = buildout[python]['executable']
 
     def working_set(self, extra=()):
@@ -70,10 +70,11 @@
         orig_distributions = distributions[:]
         distributions.extend(extra)
 
-        if self.buildout['buildout'].get('offline') == 'true':
+        if b_options.get('offline') == 'true':
             ws = zc.buildout.easy_install.working_set(
                 distributions, options['executable'],
-                [options['develop-eggs-directory'], options['eggs-directory']]
+                [options['develop-eggs-directory'],
+                 options['eggs-directory']],
                 )
         else:
             kw = {}
@@ -85,7 +86,7 @@
                 index=self.index,
                 executable=options['executable'],
                 path=[options['develop-eggs-directory']],
-                newest=self.buildout['buildout'].get('newest') == 'true',
+                newest=b_options.get('newest') == 'true',
                 allow_hosts=self.allow_hosts,
                 **kw)
 
@@ -102,11 +103,13 @@
     def __init__(self, buildout, name, options):
         super(Scripts, self).__init__(buildout, name, options)
 
-        options['bin-directory'] = buildout['buildout']['bin-directory']
+        b_options = buildout['buildout']
+
+        options['bin-directory'] = b_options['bin-directory']
         options['_b'] = options['bin-directory'] # backward compat.
 
         self.extra_paths = [
-            os.path.join(buildout['buildout']['directory'], p.strip())
+            os.path.join(b_options['directory'], p.strip())
             for p in options.get('extra-paths', '').split('\n')
             if p.strip()
             ]
@@ -115,16 +118,23 @@
 
 
         relative_paths = options.get(
-            'relative-paths',
-            buildout['buildout'].get('relative-paths', 'false')
-            )
+            'relative-paths', b_options.get('relative-paths', 'false'))
         if relative_paths == 'true':
-            options['buildout-directory'] = buildout['buildout']['directory']
+            options['buildout-directory'] = b_options['directory']
             self._relative_paths = options['buildout-directory']
         else:
             self._relative_paths = ''
             assert relative_paths == 'false'
 
+        value = options.setdefault(
+            'include-site-packages',
+            b_options.get('include-site-packages', 'false'))
+        if value not in ('true', 'false'):
+            raise zc.buildout.UserError(
+                "Invalid value for include-site-packages option: %s" %
+                (value,))
+        self.include_site_packages = (value == 'true')
+
     parse_entry_point = re.compile(
         '([^=]+)=(\w+(?:[.]\w+)*):(\w+(?:[.]\w+)*)$'
         ).match
@@ -167,6 +177,7 @@
                 initialization=options.get('initialization', ''),
                 arguments=options.get('arguments', ''),
                 relative_paths=self._relative_paths,
+                import_site=self.include_site_packages,
                 )
 
         return ()

Modified: zc.buildout/branches/gary-4/zc.recipe.egg_/src/zc/recipe/egg/tests.py
===================================================================
--- zc.buildout/branches/gary-4/zc.recipe.egg_/src/zc/recipe/egg/tests.py	2009-12-14 17:25:00 UTC (rev 106499)
+++ zc.buildout/branches/gary-4/zc.recipe.egg_/src/zc/recipe/egg/tests.py	2009-12-14 18:11:20 UTC (rev 106500)
@@ -36,7 +36,7 @@
 def setUpSelecting(test):
     zc.buildout.testselectingpython.setup(test)
     zc.buildout.testing.install_develop('zc.recipe.egg', test)
-    
+
 def test_suite():
     suite = unittest.TestSuite((
         doctest.DocFileSuite(
@@ -67,7 +67,7 @@
                            'setuptools-\S+\s+'
                            'zc.buildout-\S+\s*'
                            ),
-                '__buildout_signature__ = sample- zc.recipe.egg-'),
+                '__buildout_signature__ = sample- zc.recipe.egg-\n'),
                (re.compile('executable = [\S ]+python\S*', re.I),
                 'executable = python'),
                (re.compile('find-links = http://localhost:\d+/'),
@@ -89,7 +89,7 @@
                (re.compile('extdemo[.]pyd'), 'extdemo.so')
                ]),
             ),
-        
+
         ))
 
     if sys.version_info[:2] == (2, 5):
@@ -115,7 +115,7 @@
                    ]),
                 ),
             )
-    
+
     return suite
 
 if __name__ == '__main__':



More information about the checkins mailing list