[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