[CalendarServer-changes] [12619] CalendarServer/trunk/calendarserver/webadmin

source_changes at macosforge.org source_changes at macosforge.org
Wed Mar 12 11:20:37 PDT 2014


Revision: 12619
          http://trac.calendarserver.org//changeset/12619
Author:   wsanchez at apple.com
Date:     2014-02-07 19:47:48 -0800 (Fri, 07 Feb 2014)
Log Message:
-----------
Add PageElement class

Modified Paths:
--------------
    CalendarServer/trunk/calendarserver/webadmin/landing.py
    CalendarServer/trunk/calendarserver/webadmin/resource.py

Modified: CalendarServer/trunk/calendarserver/webadmin/landing.py
===================================================================
--- CalendarServer/trunk/calendarserver/webadmin/landing.py	2014-02-08 02:41:32 UTC (rev 12618)
+++ CalendarServer/trunk/calendarserver/webadmin/landing.py	2014-02-08 03:47:48 UTC (rev 12619)
@@ -23,51 +23,28 @@
     "WebAdminLandingResource",
 ]
 
-from twisted.python.modules import getModule
-from twisted.web.template import Element, renderer, XMLFile, tags
+# from twisted.web.template import renderer
 
-from .resource import TemplateResource
+from .resource import PageElement, TemplateResource
 
 
 
-class WebAdminLandingPageElement(Element):
+class WebAdminLandingPageElement(PageElement):
     """
     Web administration langing page element.
     """
 
-    loader = XMLFile(
-        getModule(__name__).filePath.sibling("landing.xhtml")
-    )
-
-    pageSlots = {
-        u"title": u"Calendar & Contacts Server Administration",
-    }
-
-
     def __init__(self):
-        Element.__init__(self)
+        PageElement.__init__(self, "landing")
 
 
-    @renderer
-    def main(self, request, tag):
-        """
-        Main renderer, which fills page-global slots like 'title'.
-        """
-        tag.fillSlots(**self.pageSlots)
-        return tag
+    def pageSlots(self):
+        return {
+            u"title": u"Calendar & Contacts Server Administration",
+        }
 
 
-    @renderer
-    def stylesheet(self, request, tag):
-        return tags.link(
-            rel="stylesheet",
-            media="screen",
-            href="style.css",
-            type="text/css",
-        )
 
-
-
 class WebAdminLandingResource(TemplateResource):
     """
     Web administration landing page resource.

Modified: CalendarServer/trunk/calendarserver/webadmin/resource.py
===================================================================
--- CalendarServer/trunk/calendarserver/webadmin/resource.py	2014-02-08 02:41:32 UTC (rev 12618)
+++ CalendarServer/trunk/calendarserver/webadmin/resource.py	2014-02-08 03:47:48 UTC (rev 12619)
@@ -41,7 +41,7 @@
 
 from twisted.web.iweb import ITemplateLoader
 from twisted.web.template import (
-    Element, renderer, XMLFile, flattenString
+    Element, renderer, XMLFile, flattenString, tags
 )
 
 from twistedcaldav.config import config
@@ -726,6 +726,45 @@
 
 
 
+class PageElement(Element):
+    """
+    Page element.
+    """
+
+    def __init__(self, templateName):
+        Element.__init__(self)
+
+        self.loader = XMLFile(
+            getModule(__name__).filePath.sibling(
+                "{name}.xhtml".format(name=templateName)
+            )
+        )
+
+
+    def pageSlots(self):
+        return {}
+
+
+    @renderer
+    def main(self, request, tag):
+        """
+        Main renderer, which fills page-global slots like 'title'.
+        """
+        tag.fillSlots(**self.pageSlots())
+        return tag
+
+
+    @renderer
+    def stylesheet(self, request, tag):
+        return tags.link(
+            rel="stylesheet",
+            media="screen",
+            href="/style.css",
+            type="text/css",
+        )
+
+
+
 class TemplateResource(Resource):
     """
     Resource that renders a template.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140312/a37f5450/attachment.html>


More information about the calendarserver-changes mailing list