mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-01-06 11:09:57 -08:00
4468c3e4af
* Bump mako from 1.2.4 to 1.3.2 Bumps [mako](https://github.com/sqlalchemy/mako) from 1.2.4 to 1.3.2. - [Release notes](https://github.com/sqlalchemy/mako/releases) - [Changelog](https://github.com/sqlalchemy/mako/blob/main/CHANGES) - [Commits](https://github.com/sqlalchemy/mako/commits) --- updated-dependencies: - dependency-name: mako dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Update mako==1.3.2 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> [skip ci]
71 lines
1.8 KiB
Python
71 lines
1.8 KiB
Python
# mako/compat.py
|
|
# Copyright 2006-2024 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 metadata as importlib_metadata
|
|
from importlib import util
|
|
import inspect
|
|
import sys
|
|
|
|
win32 = sys.platform.startswith("win")
|
|
pypy = hasattr(sys, "pypy_version_info")
|
|
|
|
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__
|
|
|
|
|
|
def importlib_metadata_get(group):
|
|
ep = importlib_metadata.entry_points()
|
|
if hasattr(ep, "select"):
|
|
return ep.select(group=group)
|
|
else:
|
|
return ep.get(group, ())
|