<pre style='margin:0'>
Andrew Stromnov (stromnov) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/92a2f45f53eeff4dc22416b6e6b9e15e3ca2d58a">https://github.com/macports/macports-ports/commit/92a2f45f53eeff4dc22416b6e6b9e15e3ca2d58a</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 92a2f45f53eeff4dc22416b6e6b9e15e3ca2d58a
</span>Author: Andrew Stromnov <stromnov@macports.org>
AuthorDate: Mon Jan 14 16:33:57 2019 +0300
<span style='display:block; white-space:pre;color:#404040;'> py-entrypoints: update to 0.3
</span>---
python/py-entrypoints/Portfile | 14 +-
python/py-entrypoints/files/entrypoints.py | 212 -----------------------------
python/py-entrypoints/files/setup.py | 11 --
3 files changed, 6 insertions(+), 231 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-entrypoints/Portfile b/python/py-entrypoints/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 7294b4e..13ed472 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-entrypoints/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-entrypoints/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,7 +4,7 @@ PortSystem 1.0
</span> PortGroup python 1.0
name py-entrypoints
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version 0.2.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 0.3
</span> revision 0
categories-append devel
platforms darwin
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -21,7 +21,11 @@ long_description ${description}
</span> homepage https://github.com/takluyver/entrypoints
master_sites pypi:[string index ${python.rootname} 0]/${python.rootname}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-distfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname ${python.rootname}-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 368a6f43ee97280b824a597947ea3a276f4125f5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 12315
</span>
if {${name} ne ${subport}} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -29,11 +33,5 @@ if {${name} ne ${subport}} {
</span> depends_lib-append port:py${python.version}-configparser
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- extract.mkdir yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- post-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file copy ${filespath}/setup.py ${filespath}/entrypoints.py ${worksrcpath}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> livecheck.type none
}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-entrypoints/files/entrypoints.py b/python/py-entrypoints/files/entrypoints.py
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index afd48c6..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-entrypoints/files/entrypoints.py
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,212 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-"""Discover and load entry points from installed packages."""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-from contextlib import contextmanager
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-import glob
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-from importlib import import_module
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-import io
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-import itertools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-import os.path as osp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-import re
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-import sys
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-import warnings
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-import zipfile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if sys.version_info[0] >= 3:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import configparser
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-else:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- from backports import configparser
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-entry_point_pattern = re.compile(r"""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(?P<modulename>\w+(\.\w+)*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(:(?P<objectname>\w+(\.\w+)*))?
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\s*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(\[(?P<extras>.+)\])?
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-$
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-""", re.VERBOSE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-__version__ = '0.2.2'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-class BadEntryPoint(Exception):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- """Raised when an entry point can't be parsed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- """
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- def __init__(self, epstr):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- self.epstr = epstr
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- def __str__(self):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return "Couldn't parse entry point spec: %r" % self.epstr
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @staticmethod
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @contextmanager
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- def err_to_warnings():
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- try:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- yield
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- except BadEntryPoint as e:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- warnings.warn(str(e))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-class NoSuchEntryPoint(Exception):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- """Raised by :func:`get_single` when no matching entry point is found."""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- def __init__(self, group, name):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- self.group = group
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- self.name = name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- def __str__(self):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return "No {!r} entry point found in group {!r}".format(self.name, self.group)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-class CaseSensitiveConfigParser(configparser.ConfigParser):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- optionxform = staticmethod(str)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-class EntryPoint(object):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- def __init__(self, name, module_name, object_name, extras=None, distro=None):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- self.name = name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- self.module_name = module_name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- self.object_name = object_name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- self.extras = extras
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- self.distro = distro
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- def __repr__(self):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return "EntryPoint(%r, %r, %r, %r)" % \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (self.name, self.module_name, self.object_name, self.distro)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- def load(self):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- """Load the object to which this entry point refers.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- """
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mod = import_module(self.module_name)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- obj = mod
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if self.object_name:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for attr in self.object_name.split('.'):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- obj = getattr(obj, attr)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return obj
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @classmethod
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- def from_string(cls, epstr, name, distro=None):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- """Parse an entry point from the syntax in entry_points.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- :param str epstr: The entry point string (not including 'name =')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- :param str name: The name of this entry point
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- :param Distribution distro: The distribution in which the entry point was found
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- :rtype: EntryPoint
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- :raises BadEntryPoint: if *epstr* can't be parsed as an entry point.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- """
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- m = entry_point_pattern.match(epstr)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if m:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mod, obj, extras = m.group('modulename', 'objectname', 'extras')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if extras is not None:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extras = re.split(',\s*', extras)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return cls(name, mod, obj, extras, distro)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- raise BadEntryPoint(epstr)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-class Distribution(object):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- def __init__(self, name, version):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- self.name = name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- self.version = version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- def __repr__(self):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return "Distribution(%r, %r)" % (self.name, self.version)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-def iter_files_distros(path=None, repeated_distro='first'):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if path is None:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- path = sys.path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Distributions found earlier in path will shadow those with the same name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # found later. If these distributions used different module names, it may
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # actually be possible to import both, but in most cases this shadowing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # will be correct.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- distro_names_seen = set()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for folder in path:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if folder.rstrip('/\\').endswith('.egg'):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Gah, eggs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- egg_name = osp.basename(folder)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if '-' in egg_name:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- distro = Distribution(*egg_name.split('-')[:2])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (repeated_distro == 'first') \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- and (distro.name in distro_names_seen):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- continue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- distro_names_seen.add(distro.name)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- distro = None
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if osp.isdir(folder):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ep_path = osp.join(folder, 'EGG-INFO', 'entry_points.txt')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if osp.isfile(ep_path):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cp = CaseSensitiveConfigParser()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cp.read(ep_path)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- yield cp, distro
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- elif zipfile.is_zipfile(folder):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- z = zipfile.ZipFile(folder)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- try:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- info = z.getinfo('EGG-INFO/entry_points.txt')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- except KeyError:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- continue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cp = CaseSensitiveConfigParser()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with z.open(info) as f:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fu = io.TextIOWrapper(f)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cp.read_file(fu,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- source=osp.join(folder, 'EGG-INFO', 'entry_points.txt'))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- yield cp, distro
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for path in itertools.chain(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- glob.iglob(osp.join(folder, '*.dist-info', 'entry_points.txt')),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- glob.iglob(osp.join(folder, '*.egg-info', 'entry_points.txt'))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- distro_name_version = osp.splitext(osp.basename(osp.dirname(path)))[0]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if '-' in distro_name_version:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- distro = Distribution(*distro_name_version.split('-', 1))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (repeated_distro == 'first') \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- and (distro.name in distro_names_seen):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- continue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- distro_names_seen.add(distro.name)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- distro = None
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cp = CaseSensitiveConfigParser()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cp.read(path)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- yield cp, distro
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-def get_single(group, name, path=None):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- """Find a single entry point.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Returns an :class:`EntryPoint` object, or raises :exc:`NoSuchEntryPoint`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if no match is found.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- """
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for config, distro in iter_files_distros(path=path):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (group in config) and (name in config[group]):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- epstr = config[group][name]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with BadEntryPoint.err_to_warnings():
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return EntryPoint.from_string(epstr, name, distro)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- raise NoSuchEntryPoint(group, name)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-def get_group_named(group, path=None):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- """Find a group of entry points with unique names.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Returns a dictionary of names to :class:`EntryPoint` objects.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- """
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- result = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for ep in get_group_all(group, path=path):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if ep.name not in result:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- result[ep.name] = ep
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return result
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-def get_group_all(group, path=None):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- """Find all entry points in a group.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Returns a list of :class:`EntryPoint` objects.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- """
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- result = []
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for config, distro in iter_files_distros(path=path):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if group in config:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for name, epstr in config[group].items():
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with BadEntryPoint.err_to_warnings():
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- result.append(EntryPoint.from_string(epstr, name, distro))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return result
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if __name__ == '__main__':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import pprint
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pprint.pprint(get_group_all('console_scripts'))
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-entrypoints/files/setup.py b/python/py-entrypoints/files/setup.py
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 95807b1..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-entrypoints/files/setup.py
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-from distutils.core import setup
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-setup(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- name='entrypoints',
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- version='0.2.2',
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- description='Discover and load entry points from installed packages.',
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- author='Thomas Kluyver',
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- author_email='thomas@kluyver.me.uk',
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- url='https://github.com/takluyver/entrypoints',
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- py_modules=['entrypoints'],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-)
</span></pre><pre style='margin:0'>
</pre>