Compat Module¶
-
browsepy.compat.
isexec
(path)[source]¶ Check if given path points to an executable file.
Parameters: path (str) – file path Returns: True if executable, False otherwise Return type: bool
-
browsepy.compat.
pathconf
(path, os_name='posix', isdir_fnc=<function isdir>, pathconf_fnc=<built-in function pathconf>, pathconf_names={'PC_ALLOC_SIZE_MIN': 18, 'PC_ASYNC_IO': 10, 'PC_CHOWN_RESTRICTED': 6, 'PC_FILESIZEBITS': 13, 'PC_LINK_MAX': 0, 'PC_MAX_CANON': 1, 'PC_MAX_INPUT': 2, 'PC_NAME_MAX': 3, 'PC_NO_TRUNC': 7, 'PC_PATH_MAX': 4, 'PC_PIPE_BUF': 5, 'PC_PRIO_IO': 11, 'PC_REC_INCR_XFER_SIZE': 14, 'PC_REC_MAX_XFER_SIZE': 15, 'PC_REC_MIN_XFER_SIZE': 16, 'PC_REC_XFER_ALIGN': 17, 'PC_SOCK_MAXBUF': 12, 'PC_SYMLINK_MAX': 19, 'PC_SYNC_IO': 9, 'PC_VDISABLE': 8})[source]¶ Get all pathconf variables for given path.
Parameters: path (str) – absolute fs path Returns: dictionary containing pathconf keys and their values (both str) Return type: dict
-
browsepy.compat.
pathparse
(value, sep=':', os_sep='/')[source]¶ Get enviroment PATH directories as list.
This function cares about spliting, escapes and normalization of paths across OSes.
Parameters: Yields: every path
Ytype: str
-
browsepy.compat.
pathsplit
(value, sep=':')[source]¶ Get enviroment PATH elements as list.
This function only cares about spliting across OSes.
Parameters: Yields: every path
Ytype: str
-
browsepy.compat.
re_escape
(pattern, chars=frozenset({'|', ')', '#', '\\', '.', '(', '-', '{', '}', '+', '^', '?', '*', '[', '$', ']'}))[source]¶ Escape all special regex characters in pattern. Logic taken from regex module.
Parameters: pattern – regex pattern to escape Returns: escaped pattern Return type: str
-
browsepy.compat.
usedoc
(other)[source]¶ Decorator which copies __doc__ of given object into decorated one.
Usage:
>>> def fnc1(): ... """docstring""" ... pass >>> @usedoc(fnc1) ... def fnc2(): ... pass >>> fnc2.__doc__ 'docstring'collections.abc.D
Parameters: other (any) – anything with a __doc__ attribute Returns: decorator function Return type: callable
-
browsepy.compat.
FS_ENCODING
= sys.getfilesystemencoding()¶ Detected filesystem encoding: ie. utf-8.
-
browsepy.compat.
PY_LEGACY
= sys.version_info < (3, )¶ True on Python 2, False on newer.
-
browsepy.compat.
ENV_PATH
= ('/usr/local/bin', '/usr/bin', ... )¶
-
browsepy.compat.
ENV_PATHEXT
= ('.exe', '.bat', ... ) if os.name == 'nt' else ('',)¶ List of paths where commands are located, taken and processed from
PATH
environment variable. Used bywhich()
.
-
browsepy.compat.
TRUE_VALUES
= frozenset({'true', 'yes', '1', 'enable', 'enabled', True, 1})¶ Values which should be equivalent to True, used by
getdebug()
-
browsepy.compat.
FileNotFoundError
= OSError if PY_LEGACY else FileNotFoundError¶ Convenience python exception type reference.
-
browsepy.compat.
range
= xrange if PY_LEGACY else range¶ Convenience python builtin function reference.
-
browsepy.compat.
filter
= itertools.ifilter if PY_LEGACY else filter¶ Convenience python builtin function reference.
-
browsepy.compat.
basestring
= basestring if PY_LEGACY else str¶ Convenience python type reference.
-
browsepy.compat.
unicode
= unicode if PY_LEGACY else str¶ Convenience python type reference.
-
browsepy.compat.
scandir
= scandir.scandir or os.walk¶ New scandir, either from scandir module or Python3.6+ os module.
-
browsepy.compat.
walk
= scandir.walk or os.walk[source]¶ New walk, either from scandir module or Python3.6+ os module.
-
browsepy.compat.
pathconf
(path)[source] Get all pathconf variables for given path.
Parameters: path (str) – absolute fs path Returns: dictionary containing pathconf keys and their values (both str) Return type: dict
-
browsepy.compat.
isexec
(path)[source] Check if given path points to an executable file.
Parameters: path (str) – file path Returns: True if executable, False otherwise Return type: bool
-
browsepy.compat.
which
(name, env_path=ENV_PATH, is_executable_fnc=isexec, path_join_fnc=os.path.join)[source]¶ Get command absolute path.
Parameters: - name (str) – name of executable command
- env_path (list of str) – OS environment executable paths, defaults to autodetected
- is_executable_fnc (Callable) – callable will be used to detect if path is executable, defaults to isexec
- path_join_fnc (Callable) – callable will be used to join path components
- os_name (str) – os name, defaults to os.name
Returns: absolute path
Return type:
-
browsepy.compat.
getdebug
(environ=os.environ, true_values=TRUE_VALUES)[source]¶ Get if app is expected to be ran in debug mode looking at environment variables.
Parameters: environ (collections.abc.Mapping) – environment dict-like object Returns: True if debug contains a true-like string, False otherwise Return type: bool
-
browsepy.compat.
deprecated
(func_or_text, environ=os.environ)[source]¶ Decorator used to mark functions as deprecated. It will result in a warning being emmitted hen the function is called.
Usage:
>>> @deprecated ... def fnc(): ... pass
Usage (custom message):
>>> @deprecated('This is deprecated') ... def fnc(): ... pass
Parameters: - func_or_text (callable) – message or callable to decorate
- environ (collections.abc.Mapping) – optional environment mapping
Returns: nested decorator or new decorated function (depending on params)
Return type:
-
browsepy.compat.
usedoc
(other)[source] Decorator which copies __doc__ of given object into decorated one.
Usage:
>>> def fnc1(): ... """docstring""" ... pass >>> @usedoc(fnc1) ... def fnc2(): ... pass >>> fnc2.__doc__ 'docstring'collections.abc.D
Parameters: other (any) – anything with a __doc__ attribute Returns: decorator function Return type: callable
-
browsepy.compat.
fsdecode
(path, os_name=os.name, fs_encoding=FS_ENCODING, errors=None)[source]¶ Decode given path.
Parameters: Returns: decoded path
Return type:
-
browsepy.compat.
fsencode
(path, os_name=os.name, fs_encoding=FS_ENCODING, errors=None)[source]¶ Encode given path.
Parameters: Returns: encoded path
Return type:
-
browsepy.compat.
getcwd
(fs_encoding=FS_ENCODING, cwd_fnc=os.getcwd)[source]¶ Get current work directory’s absolute path. Like os.getcwd but garanteed to return an unicode-str object.
Parameters: - fs_encoding (str) – filesystem encoding, defaults to autodetected
- cwd_fnc (Callable) – callable used to get the path, defaults to os.getcwd
Returns: path
Return type:
-
browsepy.compat.
re_escape
(pattern, chars="()[]{}?*+|^$\.-#")[source] Escape all special regex characters in pattern. Logic taken from regex module.
Parameters: pattern – regex pattern to escape Returns: escaped pattern Return type: str
-
browsepy.compat.
pathsplit
(value, sep=os.pathsep)[source] Get enviroment PATH elements as list.
This function only cares about spliting across OSes.
Parameters: Yields: every path
Ytype: str
-
browsepy.compat.
pathparse
(value, sep=os.pathsep, os_sep=os.sep)[source] Get enviroment PATH directories as list.
This function cares about spliting, escapes and normalization of paths across OSes.
Parameters: Yields: every path
Ytype: str