diff options
author | Jason Madden <jamadden@gmail.com> | 2017-08-14 11:53:34 -0500 |
---|---|---|
committer | Jason Madden <jamadden@gmail.com> | 2017-08-14 11:53:34 -0500 |
commit | 67c529190c57b5ff47de51694a21a173223da0de (patch) | |
tree | c5fad7d7b613ba4ce6cf3dac3d0e59873cf3ac7c /src/zope/pagetemplate/pagetemplatefile.py | |
parent | 7cea1b2eaf656edd2da0c561a225ffeec26067f6 (diff) | |
download | zope-pagetemplate-coverage.tar.gz |
100% test coveragecoverage
Fixes #9
Two potentially important changes:
- Removed unused code in the tests/ package. If other packages were
using it, they will need updates. (They shouldn't be, but that's
happened before.)
- Changed TraversableModuleImporter to catch ImportError instead of
KeyError. There's no way the underlying SimpleModuleImporter can
raise a KeyError anymore. I think this is the desired semantic but I
am not 100% sure.
Diffstat (limited to 'src/zope/pagetemplate/pagetemplatefile.py')
-rw-r--r-- | src/zope/pagetemplate/pagetemplatefile.py | 26 |
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 |