1 # The software in this package is distributed under the GNU General
2 # Public License version 2 (with a special exception described below).
4 # A copy of GNU General Public License (GPL) is included in this distribution,
5 # in the file COPYING.GPL.
7 # As a special exception, if other files instantiate templates or use macros
8 # or inline functions from this file, or you compile this file and link it
9 # with other works to produce a work based on this file, this file
10 # does not by itself cause the resulting work to be covered
11 # by the GNU General Public License.
13 # However the source code for this file must still be made available
14 # in accordance with section (3) of the GNU General Public License.
16 # This exception does not invalidate any other reasons why a work based
17 # on this file might be covered by the GNU General Public License.
19 # Copyright (c) 2016-2018 Intra2net AG <info@intra2net.com>
22 Helpers for type checking and conversion, like `isstr(x)`, `is_file_obj(x)`
24 Some of these things used to be more complicated when python2 was still
25 around, so some functions are not that useful anymore.
32 """Alias for `isinstance(var, str)`."""
33 return isinstance(var, str)
36 def is_str_or_byte(var):
37 """Returns `True` for `str` and `bytes` objects."""
38 return isinstance(var, (str, bytes))
42 """Alias for `isinstance(var, str)`."""
43 return isinstance(var, str)
48 Determine whether given input is the result of 'open(file_name)'.
50 Just checks whether given var is subclass of io.IOBase, which is also True
51 for 'file-like objects' like StringIO.
53 return isinstance(var, IOBase)