[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