[z3-checkins] r5580 - z3/www/trunk
faassen at codespeak.net
faassen at codespeak.net
Wed Jul 14 20:15:07 MEST 2004
Author: faassen
Date: Wed Jul 14 20:15:06 2004
New Revision: 5580
Added:
z3/www/trunk/z3publish.py
Modified:
z3/www/trunk/mkwebsite.py
Log:
Move some utility classes into their own module.
Modified: z3/www/trunk/mkwebsite.py
==============================================================================
--- z3/www/trunk/mkwebsite.py (original)
+++ z3/www/trunk/mkwebsite.py Wed Jul 14 20:15:06 2004
@@ -1,101 +1,7 @@
#!/usr/bin/python
import publish
+from z3publish import Z3Page, Site, Project
-class Z3Page(publish.RstPage):
- def __init__(self, package, path, name=None):
- publish.RstPage.__init__(
- self, publish.UrlSource(
- 'http://codespeak.net/svn/z3/%s/trunk/%s' % (package, path)),
- name)
-
-class Site(publish.Website):
- def __init__(self, path, root_project, css_link):
- publish.Website.__init__(self, path)
- self._root = root_project
- self._projects = []
- self._css_link = css_link
-
- def registerProject(self, project):
- self._projects.append(project)
-
- def getMainProjectLinks(self, short_title=True):
- if short_title:
- title = self._root.getShortTitle()
- else:
- title = self._root.getTitle()
- result = [(title, 'index.html')]
- for project in self._projects:
- if short_title:
- title = project.getShortTitle()
- else:
- title = project.getTitle()
- result.append((title, project.getName()))
- return result
-
- def getProjectLinks(self):
- result = []
- for title, link in self.getMainProjectLinks():
- if link == 'index.html':
- link = '..'
- else:
- link = '../' + link
- result.append((title, link))
- return result
-
- def getRootLayouter(self):
- # layouter for pages in the website root
- return publish.FileSimpleLayouter(
- self._root.getTemplatePath(),
- style=self._css_link,
- banner=self._root.getBannerLink(),
- site_links=self.getMainProjectLinks(),
- )
-
- def getProjectLayouter(self, project):
- # layouter for pages in directories under root
- banner_link = project.getBannerLink()
- if banner_link is None:
- banner_link = '../' + self._root.getBannerLink()
- return publish.FileSimpleLayouter(
- project.getTemplatePath(),
- style='../' + self._css_link,
- banner=banner_link,
- site_links=self.getProjectLinks(),
- )
-
- def construct(self):
- self._root.construct(self)
- for project in self._projects:
- project.construct(self)
-
-class Project:
- def __init__(self, name, short_title, title, factory,
- template_path=None, banner_link=None):
- self._name = name
- self._short_title = short_title
- self._title = title
- self._factory = factory
- self._template_path = template_path
- self._banner_link = banner_link
-
- def getName(self):
- return self._name
-
- def getShortTitle(self):
- return self._short_title
-
- def getTitle(self):
- return self._title
-
- def getTemplatePath(self):
- return self._template_path
-
- def getBannerLink(self):
- return self._banner_link
-
- def construct(self, site):
- self._factory(site, self)
-
def createWebSite(path):
"""Create the website from various resources, and save.
Added: z3/www/trunk/z3publish.py
==============================================================================
--- (empty file)
+++ z3/www/trunk/z3publish.py Wed Jul 14 20:15:06 2004
@@ -0,0 +1,101 @@
+import publish
+
+"""
+Some classes which are specific to Z3 but could possibly be
+made more generic in the future.
+"""
+
+class Z3Page(publish.RstPage):
+ def __init__(self, package, path, name=None):
+ publish.RstPage.__init__(
+ self, publish.UrlSource(
+ 'http://codespeak.net/svn/z3/%s/trunk/%s' % (package, path)),
+ name)
+
+class Site(publish.Website):
+ def __init__(self, path, root_project, css_link):
+ publish.Website.__init__(self, path)
+ self._root = root_project
+ self._projects = []
+ self._css_link = css_link
+
+ def registerProject(self, project):
+ self._projects.append(project)
+
+ def getMainProjectLinks(self, short_title=True):
+ if short_title:
+ title = self._root.getShortTitle()
+ else:
+ title = self._root.getTitle()
+ result = [(title, 'index.html')]
+ for project in self._projects:
+ if short_title:
+ title = project.getShortTitle()
+ else:
+ title = project.getTitle()
+ result.append((title, project.getName()))
+ return result
+
+ def getProjectLinks(self):
+ result = []
+ for title, link in self.getMainProjectLinks():
+ if link == 'index.html':
+ link = '..'
+ else:
+ link = '../' + link
+ result.append((title, link))
+ return result
+
+ def getRootLayouter(self):
+ # layouter for pages in the website root
+ return publish.FileSimpleLayouter(
+ self._root.getTemplatePath(),
+ style=self._css_link,
+ banner=self._root.getBannerLink(),
+ site_links=self.getMainProjectLinks(),
+ )
+
+ def getProjectLayouter(self, project):
+ # layouter for pages in directories under root
+ banner_link = project.getBannerLink()
+ if banner_link is None:
+ banner_link = '../' + self._root.getBannerLink()
+ return publish.FileSimpleLayouter(
+ project.getTemplatePath(),
+ style='../' + self._css_link,
+ banner=banner_link,
+ site_links=self.getProjectLinks(),
+ )
+
+ def construct(self):
+ self._root.construct(self)
+ for project in self._projects:
+ project.construct(self)
+
+class Project:
+ def __init__(self, name, short_title, title, factory,
+ template_path=None, banner_link=None):
+ self._name = name
+ self._short_title = short_title
+ self._title = title
+ self._factory = factory
+ self._template_path = template_path
+ self._banner_link = banner_link
+
+ def getName(self):
+ return self._name
+
+ def getShortTitle(self):
+ return self._short_title
+
+ def getTitle(self):
+ return self._title
+
+ def getTemplatePath(self):
+ return self._template_path
+
+ def getBannerLink(self):
+ return self._banner_link
+
+ def construct(self, site):
+ self._factory(site, self)
More information about the z3-checkins
mailing list