[Checkins] SVN: zc.buildout/branches/reinout-scripts/src/zc/buildout/easy_install. Got correct script to be written

Reinout van Rees reinout at vanrees.org
Fri Sep 4 07:51:23 EDT 2009


Log message for revision 103530:
  Got correct script to be written

Changed:
  U   zc.buildout/branches/reinout-scripts/src/zc/buildout/easy_install.py
  U   zc.buildout/branches/reinout-scripts/src/zc/buildout/easy_install.txt

-=-
Modified: zc.buildout/branches/reinout-scripts/src/zc/buildout/easy_install.py
===================================================================
--- zc.buildout/branches/reinout-scripts/src/zc/buildout/easy_install.py	2009-09-04 11:01:23 UTC (rev 103529)
+++ zc.buildout/branches/reinout-scripts/src/zc/buildout/easy_install.py	2009-09-04 11:51:23 UTC (rev 103530)
@@ -966,7 +966,6 @@
                     initialization, rpsetup)
             )
 
-    # TODO: integrate distutils_scripts
     for name, full_script_path in distutils_scripts:
         if scripts is not None:
             sname = scripts.get(name)
@@ -990,6 +989,7 @@
 
     return generated
 
+
 def _relative_path_and_setup(sname, path, relative_paths):
     if relative_paths:
         relative_paths = os.path.normcase(relative_paths)
@@ -1019,6 +1019,7 @@
         path = dirname
     return n
 
+
 def _relative_path(common, path):
     r = []
     while 1:
@@ -1032,6 +1033,7 @@
     r.reverse()
     return os.path.join(*r)
 
+
 def _relativitize(path, script, relative_paths):
     if path == script:
         raise AssertionError("path == script")
@@ -1068,7 +1070,12 @@
 
 def _distutils_script(path, dest, original_file, executable, initialization, rsetup):
 
-    original_content = "TODO, strip first line from original_file"
+    lines = open(original_file).readlines()
+    if not ('#!' in lines[0]) and ('python' in lines[0]):
+        # The script doesn't follow distutil's rules.  Ignore it.
+        return []
+    original_content = ''.join(lines[1:])
+    # TODO: does this work OK with non-ascii characters?
     contents = distutils_script_template % dict(
         python = _safe_arg(executable),
         path = path,

Modified: zc.buildout/branches/reinout-scripts/src/zc/buildout/easy_install.txt
===================================================================
--- zc.buildout/branches/reinout-scripts/src/zc/buildout/easy_install.txt	2009-09-04 11:01:23 UTC (rev 103529)
+++ zc.buildout/branches/reinout-scripts/src/zc/buildout/easy_install.txt	2009-09-04 11:51:23 UTC (rev 103530)
@@ -935,7 +935,15 @@
 sys.path like for the console_scripts:
 
     >>> cat(distbin, 'distutilsscript')
-    TODO
+    #!/usr/local/bin/python2.4
+    <BLANKLINE>
+    import sys
+    sys.path[0:0] = [
+      '/distutilsscriptdir/other-1.0-pyN.N.egg',
+      ]
+    <BLANKLINE>
+    <BLANKLINE>
+    print "distutils!"
 
 
 Handling custom build options for extensions provided in source distributions



More information about the checkins mailing list