Mercurial > p > roundup > code
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):
