/usr/share/cagefs-skeleton/opt/cloudlinux/venv/lib/python3.11/site-packages/mako
# mako/compat.py # Copyright 2006-2022 the Mako authors and contributors <see AUTHORS file> # # This module is part of Mako and is released under # the MIT License: http://www.opensource.org/licenses/mit-license.php import collections from importlib import util import inspect import sys win32 = sys.platform.startswith("win") pypy = hasattr(sys, "pypy_version_info") py38 = sys.version_info >= (3, 8) ArgSpec = collections.namedtuple( "ArgSpec", ["args", "varargs", "keywords", "defaults"] ) def inspect_getargspec(func): """getargspec based on fully vendored getfullargspec from Python 3.3.""" if inspect.ismethod(func): func = func.__func__ if not inspect.isfunction(func): raise TypeError(f"{func!r} is not a Python function") co = func.__code__ if not inspect.iscode(co): raise TypeError(f"{co!r} is not a code object") nargs = co.co_argcount names = co.co_varnames nkwargs = co.co_kwonlyargcount args = list(names[:nargs]) nargs += nkwargs varargs = None if co.co_flags & inspect.CO_VARARGS: varargs = co.co_varnames[nargs] nargs = nargs + 1 varkw = None if co.co_flags & inspect.CO_VARKEYWORDS: varkw = co.co_varnames[nargs] return ArgSpec(args, varargs, varkw, func.__defaults__) def load_module(module_id, path): spec = util.spec_from_file_location(module_id, path) module = util.module_from_spec(spec) spec.loader.exec_module(module) return module def exception_as(): return sys.exc_info()[1] def exception_name(exc): return exc.__class__.__name__ if py38: from importlib import metadata as importlib_metadata else: import importlib_metadata # noqa def importlib_metadata_get(group): ep = importlib_metadata.entry_points() if hasattr(ep, "select"): return ep.select(group=group) else: return ep.get(group, ())
.
Edit
..
Edit
__init__.py
Edit
__pycache__
Edit
_ast_util.py
Edit
ast.py
Edit
cache.py
Edit
cmd.py
Edit
codegen.py
Edit
compat.py
Edit
exceptions.py
Edit
ext
Edit
filters.py
Edit
lexer.py
Edit
lookup.py
Edit
parsetree.py
Edit
pygen.py
Edit
pyparser.py
Edit
runtime.py
Edit
template.py
Edit
testing
Edit
util.py
Edit