[Checkins] SVN: zope.kgs/trunk/src/zope/kgs/ add offline mode.

Paul Carduner paulcarduner at gmail.com
Thu Jan 29 00:58:19 EST 2009


Log message for revision 95370:
  add offline mode.

Changed:
  U   zope.kgs/trunk/src/zope/kgs/link.py
  U   zope.kgs/trunk/src/zope/kgs/ppix.py
  U   zope.kgs/trunk/src/zope/kgs/site.py

-=-
Modified: zope.kgs/trunk/src/zope/kgs/link.py
===================================================================
--- zope.kgs/trunk/src/zope/kgs/link.py	2009-01-29 04:23:54 UTC (rev 95369)
+++ zope.kgs/trunk/src/zope/kgs/link.py	2009-01-29 05:58:18 UTC (rev 95370)
@@ -41,18 +41,19 @@
 
 LINK_TEMPLATE = '<a href="%(url)s#md5=%(md5_digest)s">%(filename)s</a><br/>'
 
-def generateLinks(packageConfigPath, outputPath):
+def generateLinks(packageConfigPath, outputPath, offline=False):
     """Generate a ``buildout.cfg`` from the list of controlled packages."""
     kgs = zope.kgs.kgs.KGS(packageConfigPath)
     server = xmlrpclib.Server('http://cheeseshop.python.org/pypi')
 
     # Collect all links
     links = []
-    for package in kgs.packages:
-        for version in package.versions:
-            dist_links = server.package_urls(package.name, version)
-            for link in dist_links:
-                links.append(LINK_TEMPLATE %link)
+    if not offline:
+        for package in kgs.packages:
+            for version in package.versions:
+                dist_links = server.package_urls(package.name, version)
+                for link in dist_links:
+                    links.append(LINK_TEMPLATE %link)
 
     # Write a new versions.cfg file
     open(outputPath, 'w').write(

Modified: zope.kgs/trunk/src/zope/kgs/ppix.py
===================================================================
--- zope.kgs/trunk/src/zope/kgs/ppix.py	2009-01-29 04:23:54 UTC (rev 95369)
+++ zope.kgs/trunk/src/zope/kgs/ppix.py	2009-01-29 05:58:18 UTC (rev 95370)
@@ -46,18 +46,19 @@
 
 SIMPLE_BASE_URL = "http://cheeseshop.python.org/simple/"
 
-def generatePackagePage(package, destDir, server):
+def generatePackagePage(package, destDir, server, offline=False):
     packagePath = os.path.join(destDir, package.name)
     links = []
-    for version in package.versions:
-        dist_links = server.package_urls(package.name, version)
-        for link in dist_links:
-            links.append(LINK_TEMPLATE %link)
+    if not offline:
+        for version in package.versions:
+            dist_links = server.package_urls(package.name, version)
+            for link in dist_links:
+                links.append(LINK_TEMPLATE %link)
 
     if not os.path.exists(packagePath):
         os.mkdir(packagePath)
 
-    if links:
+    if links or offline:
         open(os.path.join(packagePath, 'index.html'), 'w').write(
             TEMPLATE %{'title': 'Links for "%s"' %package.name,
                        'body': '\n'.join(links)})
@@ -68,12 +69,12 @@
         open(os.path.join(packagePath, 'index.html'), 'w').write(page)
 
 
-def generatePackagePages(packageConfigPath, destDir):
+def generatePackagePages(packageConfigPath, destDir, offline=False):
     kgs = zope.kgs.kgs.KGS(packageConfigPath)
     server = xmlrpclib.Server('http://cheeseshop.python.org/pypi')
 
     for package in kgs.packages:
-        generatePackagePage(package, destDir, server)
+        generatePackagePage(package, destDir, server, offline=offline)
 
 
 def generateIndexPage(packageConfigPath, destDir):

Modified: zope.kgs/trunk/src/zope/kgs/site.py
===================================================================
--- zope.kgs/trunk/src/zope/kgs/site.py	2009-01-29 04:23:54 UTC (rev 95369)
+++ zope.kgs/trunk/src/zope/kgs/site.py	2009-01-29 05:58:18 UTC (rev 95370)
@@ -109,7 +109,7 @@
             'title': set.name,
             'siteRoot':''}
 
-def generateSite(siteDir, templateDir, force=False):
+def generateSite(siteDir, templateDir, force=False, offline=False):
     # Create some important variables
     kgsPath = os.path.join(siteDir, 'controlled-packages.cfg')
     if not os.path.exists(kgsPath):
@@ -188,14 +188,14 @@
     # Create a links config file and version it
     linksPath = os.path.join(versionDir, 'links.html')
     logger.info("generating links")
-    link.generateLinks(kgsPath, linksPath)
+    link.generateLinks(kgsPath, linksPath, offline=offline)
 
     # Update the full index (which is assumed to live in the site directory)
     logger.info("updating the index")
     idxDir = os.path.join(versionDir, 'index')
     if not os.path.exists(idxDir):
         os.mkdir(idxDir)
-    ppix.generatePackagePages(kgsPath, idxDir)
+    ppix.generatePackagePages(kgsPath, idxDir, offline=offline)
     ppix.generateIndexPage(kgsPath, idxDir)
 
     # Update the minimal index
@@ -203,7 +203,7 @@
     midxDir = os.path.join(versionDir, 'minimal')
     if not os.path.exists(midxDir):
         os.mkdir(midxDir)
-    ppix.generatePackagePages(kgsPath, midxDir)
+    ppix.generatePackagePages(kgsPath, midxDir, offline=offline)
     ppix.generateIndexPage(kgsPath, midxDir)
 
     # Generate Web Site
@@ -229,7 +229,10 @@
     help="The directory where the site templates are located.")
 parser.add_option(
     "-f","--force", action="store_true", dest="force", default=False,
-    help="For the site to rebuild even if it is already at the latest version.")
+    help="Force the site to rebuild even if it is already at the latest version.")
+parser.add_option(
+    "-o","--offline", action="store_true", dest="offlineMode", default=False,
+    help="Run in offline mode.  Doesn't really do much, good for developing templates.")
 
 def main(args=None):
     if args is None:
@@ -248,4 +251,4 @@
 
     siteDir = os.path.abspath(options.siteDir)
     templateDir = os.path.abspath(options.templateDir)
-    generateSite(siteDir, templateDir, force=options.force)
+    generateSite(siteDir, templateDir, force=options.force, offline=options.offlineMode)



More information about the Checkins mailing list