$55 GRAYBYTE WORDPRESS FILE MANAGER $62

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.157
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/opt/alt/python311/lib/python3.11/site-packages/setuptools/

HOME
Current File : /opt/alt/python311/lib/python3.11/site-packages/setuptools//_entry_points.py
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)
    )


Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
7 Jan 2026 10.45 PM
root / linksafe
0755
__pycache__
--
3 Mar 2024 10.48 PM
root / linksafe
0755
_distutils
--
3 Mar 2024 10.48 PM
root / linksafe
0755
_vendor
--
3 Mar 2024 10.48 PM
root / linksafe
0755
command
--
3 Mar 2024 10.48 PM
root / linksafe
0755
config
--
3 Mar 2024 10.48 PM
root / linksafe
0755
extern
--
3 Mar 2024 10.48 PM
root / linksafe
0755
__init__.py
8.231 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
_deprecation_warning.py
0.213 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
_entry_points.py
2.229 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
_imp.py
2.336 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
_importlib.py
1.28 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
_itertools.py
0.659 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
_path.py
0.731 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
_reqs.py
0.489 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
archive_util.py
7.174 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
build_meta.py
19.136 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
dep_util.py
0.927 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
depends.py
5.37 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
discovery.py
20.312 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
dist.py
44.191 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
errors.py
2.406 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
extension.py
5.46 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
glob.py
4.759 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
installer.py
3.734 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
launch.py
0.793 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
logging.py
1.203 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
monkey.py
4.743 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
msvc.py
46.605 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
namespaces.py
3.021 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
package_index.py
39.384 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
py34compat.py
0.239 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
sandbox.py
14.012 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
script (dev).tmpl
0.213 KB
13 Nov 2023 10.03 PM
root / root
0644
script.tmpl
0.135 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
unicode_utils.py
0.919 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
version.py
0.141 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
wheel.py
8.18 KB
13 Nov 2023 10.03 PM
root / linksafe
0644
windows_support.py
0.701 KB
13 Nov 2023 10.03 PM
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF