diff roundup/cgi/templating.py @ 1591:21312a7564fd

moving templates around
author Richard Jones <richard@users.sourceforge.net>
date Thu, 17 Apr 2003 03:38:00 +0000
parents 1e617a4a663d
children 8a908bbad1ef
line wrap: on
line diff
--- a/roundup/cgi/templating.py	Thu Apr 17 03:21:29 2003 +0000
+++ b/roundup/cgi/templating.py	Thu Apr 17 03:38:00 2003 +0000
@@ -38,9 +38,9 @@
             if os.path.isdir(filename): continue
             if '.' in filename:
                 name, extension = filename.split('.')
-                self.getTemplate(name, extension)
+                self.get(name, extension)
             else:
-                self.getTemplate(filename, None)
+                self.get(filename, None)
 
     def get(self, name, extension=None):
         ''' Interface to get a template, possibly loading a compiled template.
@@ -66,27 +66,31 @@
             filename = name
 
         src = os.path.join(self.dir, filename)
+        if not os.path.exists(src):
+            filename = filename + '.html'
+            src = os.path.join(self.dir, filename)
+            if not os.path.exists(src):
+                if not extension:
+                    raise NoTemplate, 'Template file "%s" doesn\'t exist'%name
+
+                # try for a generic template
+                generic = '_generic.%s'%extension
+                src = os.path.join(self.dir, generic)
+                if not os.path.exists(src):
+                    generic = '_generic.%s.html'%extension
+                    src = os.path.join(self.dir, generic)
+                    if not os.path.exists(src):
+                        raise NoTemplate, 'No template file exists for '\
+                            'templating "%s" with template "%s" (neither '\
+                            '"%s" nor "%s")'%(name, extension, filename,
+                            generic)
+                filename = generic
+
         try:
             stime = os.stat(src)[os.path.stat.ST_MTIME]
         except os.error, error:
             if error.errno != errno.ENOENT:
                 raise
-            if not extension:
-                raise NoTemplate, 'Template file "%s" doesn\'t exist'%name
-
-            # try for a generic template
-            generic = '_generic.%s'%extension
-            src = os.path.join(self.dir, generic)
-            try:
-                stime = os.stat(src)[os.path.stat.ST_MTIME]
-            except os.error, error:
-                if error.errno != errno.ENOENT:
-                    raise
-                # nicer error
-                raise NoTemplate, 'No template file exists for templating '\
-                    '"%s" with template "%s" (neither "%s" nor "%s")'%(name,
-                    extension, filename, generic)
-            filename = generic
 
         if self.templates.has_key(src) and \
                 stime < self.templates[src].mtime:

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