summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cheetah/Template.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/cheetah/Template.py b/cheetah/Template.py
index f4cb4f8..7231db8 100644
--- a/cheetah/Template.py
+++ b/cheetah/Template.py
@@ -30,6 +30,14 @@ except ImportError:
def release(self):
pass
+filetype = None
+try:
+ # Python3
+ import io
+ filetype = io.IOBase
+except ImportError:
+ filetype = types.FileType
+
try:
x = set()
except NameError:
@@ -580,7 +588,7 @@ class Template(Servlet):
if not isinstance(source, (types.NoneType, basestring)):
raise TypeError(errmsg % ('source', 'string or None'))
- if not isinstance(file, (types.NoneType, basestring, types.FileType)):
+ if not isinstance(file, (types.NoneType, basestring, filetype)):
raise TypeError(errmsg %
('file', 'string, file-like object, or None'))
@@ -1162,7 +1170,7 @@ class Template(Servlet):
if not isinstance(source, (types.NoneType, basestring)):
raise TypeError(errmsg % ('source', 'string or None'))
- if not isinstance(source, (types.NoneType, basestring, types.FileType)):
+ if not isinstance(source, (types.NoneType, basestring, filetype)):
raise TypeError(errmsg %
('file', 'string, file open for reading, or None'))