annotate genshi/compat.py @ 1022:500573200533 trunk

Add isstring helper.
author hodgestar
date Sun, 16 Feb 2014 18:43:20 +0000
parents 3f8fb83045b9
children
rev   line source
931
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
1 # -*- coding: utf-8 -*-
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
2 #
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
3 # Copyright (C) 2006-2009 Edgewall Software
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
4 # All rights reserved.
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
5 #
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
6 # This software is licensed as described in the file COPYING, which
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
7 # you should have received as part of this distribution. The terms
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
8 # are also available at http://genshi.edgewall.org/wiki/License.
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
9 #
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
10 # This software consists of voluntary contributions made by many
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
11 # individuals. For the exact contribution history, see the revision
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
12 # history and logs, available at http://genshi.edgewall.org/log/.
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
13
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
14 """Various Python version compatibility classes and functions."""
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
15
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
16 import sys
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
17 from types import CodeType
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
18
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
19
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
20 IS_PYTHON2 = (sys.version_info[0] == 2)
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
21
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
22
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
23 # This function should only be called in Python 2, and will fail in Python 3
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
24
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
25 if IS_PYTHON2:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
26 def stringrepr(string):
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
27 ascii = string.encode('ascii', 'backslashreplace')
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
28 quoted = "'" + ascii.replace("'", "\\'") + "'"
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
29 if len(ascii) > len(string):
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
30 return 'u' + quoted
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
31 return quoted
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
32 else:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
33 def stringrepr(string):
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
34 raise RuntimeError(
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
35 'Python 2 compatibility function. Not usable in Python 3.')
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
36
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
37
1022
500573200533 Add isstring helper.
hodgestar
parents: 931
diff changeset
38 # We need to test if an object is an instance of a string type in places
500573200533 Add isstring helper.
hodgestar
parents: 931
diff changeset
39
500573200533 Add isstring helper.
hodgestar
parents: 931
diff changeset
40 if IS_PYTHON2:
500573200533 Add isstring helper.
hodgestar
parents: 931
diff changeset
41 def isstring(obj):
500573200533 Add isstring helper.
hodgestar
parents: 931
diff changeset
42 return isinstance(obj, basestring)
500573200533 Add isstring helper.
hodgestar
parents: 931
diff changeset
43 else:
500573200533 Add isstring helper.
hodgestar
parents: 931
diff changeset
44 def isstring(obj):
500573200533 Add isstring helper.
hodgestar
parents: 931
diff changeset
45 return isinstance(obj, str)
500573200533 Add isstring helper.
hodgestar
parents: 931
diff changeset
46
931
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
47 # We need to differentiate between StringIO and BytesIO in places
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
48
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
49 if IS_PYTHON2:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
50 from StringIO import StringIO
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
51 try:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
52 from cStringIO import StringIO as BytesIO
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
53 except ImportError:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
54 BytesIO = StringIO
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
55 else:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
56 from io import StringIO, BytesIO
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
57
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
58
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
59 # We want to test bytestring input to some stuff.
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
60
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
61 if IS_PYTHON2:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
62 def wrapped_bytes(bstr):
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
63 assert bstr.startswith('b')
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
64 return bstr[1:]
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
65 else:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
66 def wrapped_bytes(bstr):
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
67 assert bstr.startswith('b')
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
68 return bstr
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
69
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
70
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
71 # We do some scary stuff with CodeType() in template/eval.py
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
72
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
73 if IS_PYTHON2:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
74 def get_code_params(code):
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
75 return (code.co_nlocals, code.co_stacksize, code.co_flags,
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
76 code.co_code, code.co_consts, code.co_names, code.co_varnames,
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
77 code.co_filename, code.co_name, code.co_firstlineno,
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
78 code.co_lnotab, (), ())
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
79
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
80 def build_code_chunk(code, filename, name, lineno):
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
81 return CodeType(0, code.co_nlocals, code.co_stacksize,
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
82 code.co_flags | 0x0040, code.co_code, code.co_consts,
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
83 code.co_names, code.co_varnames, filename, name,
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
84 lineno, code.co_lnotab, (), ())
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
85 else:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
86 def get_code_params(code):
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
87 return (code.co_nlocals, code.co_kwonlyargcount, code.co_stacksize,
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
88 code.co_flags, code.co_code, code.co_consts, code.co_names,
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
89 code.co_varnames, code.co_filename, code.co_name,
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
90 code.co_firstlineno, code.co_lnotab, (), ())
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
91
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
92 def build_code_chunk(code, filename, name, lineno):
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
93 return CodeType(0, code.co_nlocals, code.co_kwonlyargcount,
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
94 code.co_stacksize, code.co_flags | 0x0040,
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
95 code.co_code, code.co_consts, code.co_names,
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
96 code.co_varnames, filename, name, lineno,
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
97 code.co_lnotab, (), ())
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
98
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
99 # Compatibility fallback implementations for Python < 2.6
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
100
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
101 try:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
102 next = next
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
103 except NameError:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
104 def next(iterator):
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
105 return iterator.next()
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
106
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
107 # Compatibility fallback implementations for Python < 2.5
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
108
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
109 try:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
110 all = all
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
111 any = any
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
112 except NameError:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
113 def any(S):
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
114 for x in S:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
115 if x:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
116 return True
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
117 return False
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
118
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
119 def all(S):
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
120 for x in S:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
121 if not x:
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
122 return False
3f8fb83045b9 Merge r1139 from py3k: add compatibility functions for dealing with python 3; factor existing compatibility functions out from genshi utils.
hodgestar
parents:
diff changeset
123 return True
Copyright (C) 2012-2017 Edgewall Software