changeset 4728:4caa6de726a5

templating: Rename 'extension' argument in Loader.load() to 'view' to avoid confusion with file extension, and because this is what this argument really does - specifies a different view for a class.
author anatoly techtonik <techtonik@gmail.com>
date Mon, 14 Jan 2013 00:13:58 +0300
parents 5033c2ad80a7
children 3fa74b99d42d
files roundup/cgi/client.py roundup/cgi/engine_chameleon.py roundup/cgi/engine_zopetal.py roundup/cgi/templating.py test/test_templating.py
diffstat 5 files changed, 25 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/roundup/cgi/client.py	Sun Jan 13 22:39:46 2013 +0300
+++ b/roundup/cgi/client.py	Mon Jan 14 00:13:58 2013 +0300
@@ -1067,7 +1067,7 @@
         """ Return a PageTemplate for the named page
         """
         name = self.classname
-        extension = self.template
+        view = self.template
 
         # catch errors so we can handle PT rendering errors more nicely
         args = {
@@ -1075,7 +1075,7 @@
             'error_message': self.error_message
         }
         try:
-            pt = self.instance.templates.load(name, extension)
+            pt = self.instance.templates.load(name, view)
             # let the template render figure stuff out
             result = pt.render(self, None, None, **args)
             self.additional_headers['Content-Type'] = pt.content_type
--- a/roundup/cgi/engine_chameleon.py	Sun Jan 13 22:39:46 2013 +0300
+++ b/roundup/cgi/engine_chameleon.py	Mon Jan 14 00:13:58 2013 +0300
@@ -12,15 +12,15 @@
         self.dir = dir
         self.loader = chameleon.PageTemplateLoader(dir)
 
-    def load(self, name, extension=None):
+    def load(self, name, view=None):
         # default the name to "home"
         if name is None:
             name = 'home'
-        elif extension is None and '.' in name:
+        elif view is None and '.' in name:
             # split name
-            name, extension = name.split('.')
+            name, view = name.split('.')
 
-        src, filename = find_template(self.dir, name, extension)
+        src, filename = find_template(self.dir, name, view)
         return RoundupPageTemplate(self.loader.load(src))
 
 class RoundupPageTemplate(object):
--- a/roundup/cgi/engine_zopetal.py	Sun Jan 13 22:39:46 2013 +0300
+++ b/roundup/cgi/engine_zopetal.py	Mon Jan 14 00:13:58 2013 +0300
@@ -21,16 +21,16 @@
     def __init__(self, dir):
         self.dir = dir
 
-    def load(self, name, extension=None):
+    def load(self, name, view=None):
         # default the name to "home"
         if name is None:
             name = 'home'
-        elif extension is None and '.' in name:
+        elif view is None and '.' in name:
             # split name
-            name, extension = name.split('.')
+            name, view = name.split('.')
 
         # find the source
-        src, filename = find_template(self.dir, name, extension)
+        src, filename = find_template(self.dir, name, view)
 
         # has it changed?
         try:
--- a/roundup/cgi/templating.py	Sun Jan 13 22:39:46 2013 +0300
+++ b/roundup/cgi/templating.py	Mon Jan 14 00:13:58 2013 +0300
@@ -102,7 +102,7 @@
     if not view:
         raise NoTemplate, 'Template file "%s" doesn\'t exist'%name
 
-    # try for a _generic template
+    # try _generic template for the view
     generic = '_generic.%s'%view
     src = os.path.join(dir, generic)
     if os.path.exists(src):
@@ -140,31 +140,31 @@
 
             # load the template
             if '.' in filename:
-                name, extension = filename.split('.', 1)
-                self.load(name, extension)
+                name, view = filename.split('.', 1)
+                self.load(name, view)
             else:
                 self.load(filename, None)
 
-    def load(self, name, extension=None):
+    def load(self, name, view=None):
         """ Interface to get a template, possibly loading a compiled template.
 
-            "name" and "extension" indicate the template we're after, which in
-            most cases will be "name.extension". If "extension" is None, then
-            we look for a template just called "name" with no extension.
-
-            If the file "name.extension" doesn't exist, we look for
-            "_generic.extension" as a fallback.
+            "name" and "view" indicate the template we're after, which in
+            most cases will be "name.view". If "view" is None, then
+            we look for a template just called "name".
+
+            If the file "name.view" doesn't exist, we look for
+            "_generic.view" as a fallback.
         """
         # [ ] document default 'home' template and other special pages
         raise NotImplementedError
 
     def __getitem__(self, name):
         """Special method to access templates by loader['name']"""
-        name, extension = os.path.splitext(name)
-        if extension:
-            extension = extension[1:]
+        view = None
+        if '.' in name:
+            name, view = name.split('.', 1)
         try:
-            return self.load(name, extension)
+            return self.load(name, view)
         except NoTemplate, message:
             raise KeyError, message
 
--- a/test/test_templating.py	Sun Jan 13 22:39:46 2013 +0300
+++ b/test/test_templating.py	Mon Jan 14 00:13:58 2013 +0300
@@ -336,7 +336,7 @@
 class Unauthorised(Exception):
     def __init__(self, action, klass):
     def __str__(self):
-def find_template(dir, name, extension):
+def find_template(dir, name, view):
 
 class Loader:
     def __init__(self, dir):

Roundup Issue Tracker: http://roundup-tracker.org/