[Zope-Checkins] CVS: Zope3/lib/python/Zope/PageTemplate - TALES.py:1.1.2.10 PageTemplate.py:1.1.2.13 PageTemplateFile.py:1.1.2.17

Shane Hathaway shane@cvs.zope.org
Thu, 14 Mar 2002 17:49:56 -0500


Update of /cvs-repository/Zope3/lib/python/Zope/PageTemplate
In directory cvs.zope.org:/tmp/cvs-serv29782

Modified Files:
      Tag: Zope-3x-branch
	TALES.py PageTemplate.py PageTemplateFile.py 
Log Message:
Made use of the source_url and warnings attributes of traceback supplements.


=== Zope3/lib/python/Zope/PageTemplate/TALES.py 1.1.2.9 => 1.1.2.10 ===
     def __init__(self, context, expression):
         self.context = context
-        self.expression = repr(expression)
+        self.source_url = context.source_file
         self.line = context.position[0]
         self.column = context.position[1]
-
-##        source_file = context.source_file
-##        if (isinstance(source_file, StringType) and
-##            source_file.startswith('traversal:')):
-##            p = source_file[10:]
-##            # XXX There should be a better way to find the Zope app root.
-##            root = self.context.contexts.get('root', None)
-##            if root is not None:
-##                try:
-##                    object = root.unrestrictedTraverse(p)
-##                except:
-##                    # Hmm, couldn't find the script??
-##                    pass
-##                else:
-##                    self.manageable_object = object
+        self.expression = repr(expression)
         
     def getInfo(self, as_html=0):
         import pprint


=== Zope3/lib/python/Zope/PageTemplate/PageTemplate.py 1.1.2.12 => 1.1.2.13 ===
         self.manageable_object = pt
         try:
-            errors = pt.pt_errors()
+            w = pt.pt_warnings()
+            e = pt.pt_errors()
+            if e:
+                if w:
+                    w = list(w) + list(e)
+                else:
+                    w = e
         except: # We're already trying to report an error, don't make another.
-            errors = None
-        self.errors = errors
-
-    def getInfo(self, as_html=0):
-        errors = self.errors
-        if not errors:
-            return None
-        if not as_html:
-            return '   - Errors:\n      %s' % '\n      '.join(errors)
-        else:
-            from cgi import escape
-            s = '<br />'.join(map(escape, errors))
-            return '<b>Errors:</b><br />%s' % s
-
+            w = None
+        self.warnings = w


=== Zope3/lib/python/Zope/PageTemplate/PageTemplateFile.py 1.1.2.16 => 1.1.2.17 ===
         return self.read()
 
+    def pt_source_file(self):
+        return self.filename
+
     def __getstate__(self):
         raise StorageError, ("Instance of AntiPersistent class %s "
                              "cannot be stored." % self.__class__.__name__)