summaryrefslogtreecommitdiff
path: root/src/zope/pagetemplate/pagetemplatefile.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/zope/pagetemplate/pagetemplatefile.py')
-rw-r--r--src/zope/pagetemplate/pagetemplatefile.py26
1 files changed, 11 insertions, 15 deletions
diff --git a/src/zope/pagetemplate/pagetemplatefile.py b/src/zope/pagetemplate/pagetemplatefile.py
index cee1c07..4cf0bf3 100644
--- a/src/zope/pagetemplate/pagetemplatefile.py
+++ b/src/zope/pagetemplate/pagetemplatefile.py
@@ -25,6 +25,8 @@ import logging
from zope.pagetemplate.pagetemplate import PageTemplate
+logger = logging.getLogger(__name__)
+
DEFAULT_ENCODING = "utf-8"
meta_pattern = re.compile(
@@ -40,10 +42,7 @@ class PageTemplateFile(PageTemplate):
"Zope wrapper for filesystem Page Template using TAL, TALES, and METAL"
_v_last_read = 0
-
- #_error_start = b'<!-- Page Template Diagnostics'
- #_error_end = b'-->'
- #_newline = b'\n'
+ _v_debug = __debug__
def __init__(self, filename, _prefix=None):
path = self.get_path_from_prefix(_prefix)
@@ -75,21 +74,18 @@ class PageTemplateFile(PageTemplate):
def _read_file(self):
__traceback_info__ = self.filename
- f = open(self.filename, "rb")
- try:
+ with open(self.filename, "rb") as f:
text = f.read(XML_PREFIX_MAX_LENGTH)
- except:
- f.close()
- raise
- type_ = sniff_type(text)
- text += f.read()
+ type_ = sniff_type(text)
+ text += f.read()
+
if type_ != "text/xml":
text, type_ = self._prepare_html(text)
- f.close()
+
return text, type_
def _cook_check(self):
- if self._v_last_read and not __debug__:
+ if self._v_last_read and not self._v_debug:
return
__traceback_info__ = self.filename
try:
@@ -102,8 +98,8 @@ class PageTemplateFile(PageTemplate):
self.pt_edit(text, type_)
assert self._v_cooked
if self._v_errors:
- logging.error('PageTemplateFile: Error in template %s: %s',
- self.filename, '\n'.join(self._v_errors))
+ logger.error('PageTemplateFile: Error in template %s: %s',
+ self.filename, '\n'.join(self._v_errors))
return
self._v_last_read = mtime