[Checkins] SVN: z3c.pt/trunk/ If the provided filename is not an absolute path, infer the path using a sys._getframe-call.

Malthe Borch mborch at gmail.com
Fri Feb 22 12:40:27 EST 2008


Log message for revision 84143:
  If the provided filename is not an absolute path, infer the path using a sys._getframe-call.

Changed:
  U   z3c.pt/trunk/setup.py
  U   z3c.pt/trunk/z3c/pt/pagetemplate.py

-=-
Modified: z3c.pt/trunk/setup.py
===================================================================
--- z3c.pt/trunk/setup.py	2008-02-22 15:23:09 UTC (rev 84142)
+++ z3c.pt/trunk/setup.py	2008-02-22 17:40:27 UTC (rev 84143)
@@ -1,6 +1,6 @@
 from setuptools import setup, find_packages
 
-version = '0.3.1'
+version = '0.3.2'
 
 setup(name='z3c.pt',
       version=version,

Modified: z3c.pt/trunk/z3c/pt/pagetemplate.py
===================================================================
--- z3c.pt/trunk/z3c/pt/pagetemplate.py	2008-02-22 15:23:09 UTC (rev 84142)
+++ z3c.pt/trunk/z3c/pt/pagetemplate.py	2008-02-22 17:40:27 UTC (rev 84143)
@@ -1,6 +1,7 @@
 import os
 import translation
 import codegen
+import sys
 
 class PageTemplate(object):
     registry = {}
@@ -37,14 +38,14 @@
     def __init__(self, filename):
         self.filename = filename
         
-    def get_filename(self):
+    def _get_filename(self):
         return getattr(self, '_filename', None)
 
-    def set_filename(self, filename):
+    def _set_filename(self, filename):
         self._filename = filename
         self._v_last_read = False
 
-    filename = property(get_filename, set_filename)
+    filename = property(_get_filename, _set_filename)
 
     def render(self, **kwargs):
         if self._cook_check():
@@ -84,7 +85,13 @@
     
 class ViewPageTemplateFile(ViewPageTemplate):
     def __init__(self, filename):
+        if not os.path.isabs(filename):
+            package_name = sys._getframe(1).f_globals['__name__']
+            path = sys.modules[package_name].__path__[0]
+            filename = path + os.sep + filename
+
+        # make sure file exists
+        os.lstat(filename)
+            
         self.template = PageTemplateFile(filename)
         property.__init__(self, self.render)
-
-        



More information about the Checkins mailing list