Skip to content

Commit

Permalink
use and patch .select
Browse files Browse the repository at this point in the history
  • Loading branch information
Helveg committed Dec 4, 2023
1 parent c112515 commit f210b78
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions glia/_glia.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@
_installed = None


class _EntryPointsPatch(dict):
def select(self, name):
return self.get(name, [])


def _requires_install(func):
@wraps(func)
def wrapper(self, *args, **kwargs):
Expand Down Expand Up @@ -93,14 +98,20 @@ def catalogues(self):

def discover_packages(self):
self._packages = []
for pkg_ptr in entry_points().get("glia.package", []):
eps = entry_points()
if not hasattr(eps, "select"):
eps = _EntryPointsPatch(eps)
for pkg_ptr in eps.select("glia.package"):
advert = pkg_ptr.load()
self.entry_points.append(advert)
self._packages.append(Package.from_remote(self, advert))

def discover_catalogues(self):
self._catalogues = {}
for pkg_ptr in entry_points().get("glia.catalogue", []):
eps = entry_points()
if not hasattr(eps, "select"):
eps = _EntryPointsPatch(eps)
for pkg_ptr in eps.select("glia.catalogue"):
advert = pkg_ptr.load()
self.entry_points.append(advert)
if advert.name in self._catalogues:
Expand Down

0 comments on commit f210b78

Please sign in to comment.