def _find_package_resource(pkg_name, res_name): try: resources = list(reslib.for_name(res_name)) except LookupError: return None else: for res in resources: if namespace.apply_namespace(res.dist.project_name) == pkg_name: return res return None
def _find_package_resource(pkg_name, res_name): from guild import namespace # expensive from guild import resource as reslib # expensive try: resources = list(reslib.for_name(res_name)) except LookupError: return None else: for res in resources: if namespace.apply_namespace(res.dist.project_name) == pkg_name: return res return None
def _packaged_resource(spec, ctx): m = re.match(r"(%s)/(%s)$" % (RESOURCE_TERM, RESOURCE_TERM), spec) if m is None: return None pkg_name = m.group(1) res_name = m.group(2) try: resources = list(resource.for_name(res_name)) except LookupError: pass else: for res in resources: if namespace.apply_namespace(res.dist.project_name) == pkg_name: return Resource(res.resdef, ctx) raise DependencyError( "resource '%s' required by operation '%s' is not installed" % (spec, ctx.opdef.fullname))