__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
import functools
import operator
import itertools
from .errors import OptionError
from .extern.jaraco.text import yield_lines
from .extern.jaraco.functools import pass_none
from ._importlib import metadata
from ._itertools import ensure_unique
from .extern.more_itertools import consume
def ensure_valid(ep):
"""
Exercise one of the dynamic properties to trigger
the pattern match.
"""
try:
ep.extras
except AttributeError as ex:
msg = (
f"Problems to parse {ep}.\nPlease ensure entry-point follows the spec: "
"https://packaging.python.org/en/latest/specifications/entry-points/"
)
raise OptionError(msg) from ex
def load_group(value, group):
"""
Given a value of an entry point or series of entry points,
return each as an EntryPoint.
"""
# normalize to a single sequence of lines
lines = yield_lines(value)
text = f'[{group}]\n' + '\n'.join(lines)
return metadata.EntryPoints._from_text(text)
def by_group_and_name(ep):
return ep.group, ep.name
def validate(eps: metadata.EntryPoints):
"""
Ensure entry points are unique by group and name and validate each.
"""
consume(map(ensure_valid, ensure_unique(eps, key=by_group_and_name)))
return eps
@functools.singledispatch
def load(eps):
"""
Given a Distribution.entry_points, produce EntryPoints.
"""
groups = itertools.chain.from_iterable(
load_group(value, group)
for group, value in eps.items())
return validate(metadata.EntryPoints(groups))
@load.register(str)
def _(eps):
r"""
>>> ep, = load('[console_scripts]\nfoo=bar')
>>> ep.group
'console_scripts'
>>> ep.name
'foo'
>>> ep.value
'bar'
"""
return validate(metadata.EntryPoints(metadata.EntryPoints._from_text(eps)))
load.register(type(None), lambda x: x)
@pass_none
def render(eps: metadata.EntryPoints):
by_group = operator.attrgetter('group')
groups = itertools.groupby(sorted(eps, key=by_group), by_group)
return '\n'.join(
f'[{group}]\n{render_items(items)}\n'
for group, items in groups
)
def render_items(eps):
return '\n'.join(
f'{ep.name} = {ep.value}'
for ep in sorted(eps)
)
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| _distutils | Folder | 0755 |
|
|
| _vendor | Folder | 0755 |
|
|
| command | Folder | 0755 |
|
|
| config | Folder | 0755 |
|
|
| extern | Folder | 0755 |
|
|
| __init__.py | File | 8.23 KB | 0644 |
|
| _deprecation_warning.py | File | 218 B | 0644 |
|
| _entry_points.py | File | 2.23 KB | 0644 |
|
| _imp.py | File | 2.34 KB | 0644 |
|
| _importlib.py | File | 1.28 KB | 0644 |
|
| _itertools.py | File | 675 B | 0644 |
|
| _path.py | File | 749 B | 0644 |
|
| _reqs.py | File | 501 B | 0644 |
|
| archive_util.py | File | 7.17 KB | 0644 |
|
| build_meta.py | File | 19.14 KB | 0644 |
|
| dep_util.py | File | 949 B | 0644 |
|
| depends.py | File | 5.37 KB | 0644 |
|
| discovery.py | File | 20.31 KB | 0644 |
|
| dist.py | File | 44.19 KB | 0644 |
|
| errors.py | File | 2.41 KB | 0644 |
|
| extension.py | File | 5.46 KB | 0644 |
|
| glob.py | File | 4.76 KB | 0644 |
|
| installer.py | File | 3.73 KB | 0644 |
|
| launch.py | File | 812 B | 0644 |
|
| logging.py | File | 1.2 KB | 0644 |
|
| monkey.py | File | 4.74 KB | 0644 |
|
| msvc.py | File | 46.61 KB | 0644 |
|
| namespaces.py | File | 3.02 KB | 0644 |
|
| package_index.py | File | 39.38 KB | 0644 |
|
| py34compat.py | File | 245 B | 0644 |
|
| sandbox.py | File | 14.01 KB | 0644 |
|
| script (dev).tmpl | File | 218 B | 0644 |
|
| script.tmpl | File | 138 B | 0644 |
|
| unicode_utils.py | File | 941 B | 0644 |
|
| version.py | File | 144 B | 0644 |
|
| wheel.py | File | 8.18 KB | 0644 |
|
| windows_support.py | File | 718 B | 0644 |
|