[Checkins] SVN: grokproject/trunk/grokproject/utils.py Add helper to filter additional eggs for versions.cfg.

Uli Fouquet uli at gnufix.de
Sat Apr 11 12:05:41 EDT 2009


Log message for revision 99126:
  Add helper to filter additional eggs for versions.cfg.

Changed:
  U   grokproject/trunk/grokproject/utils.py

-=-
Modified: grokproject/trunk/grokproject/utils.py
===================================================================
--- grokproject/trunk/grokproject/utils.py	2009-04-11 15:00:35 UTC (rev 99125)
+++ grokproject/trunk/grokproject/utils.py	2009-04-11 16:05:41 UTC (rev 99126)
@@ -168,3 +168,35 @@
     for line in versionfile.split('\n'):
         if line.startswith('grok ='):
             return line.split(' ')[-1]
+
+
+def extend_versions_cfg(versions_cfg, for_zopectl=False):
+    """Add additional package versions for versions.cfg.
+    
+    We only add eggs that are not already included in versions.cfg
+    fetched from grok.zope.org/releaseinfo.
+    """
+    here = os.path.dirname(__file__)
+    if for_zopectl:
+        additional_eggs = open(
+            os.path.join(here, 'ext_eggs_zctl.cfg'), 'rb').read()
+    else:
+        additional_eggs = open(
+            os.path.join(here, 'ext_eggs_paster.cfg'), 'rb').read()
+        
+    # Create a list of already pinned eggs...
+    pinned = list()
+    for line in versions_cfg.split('\n'):
+        if not " " in line:
+            continue
+        pinned.append(line.split(' ')[0].strip())
+
+    result = ''
+    for line in additional_eggs.split('\n'):
+        if ' ' in line:
+            if line.split(' ')[0].strip() in pinned:
+                # Skip eggs already in versions.cfg...
+                continue
+            pass
+        result += '%s\n' % line
+    return result



More information about the Checkins mailing list