<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>