def test_basic(self): exe = Executable.from_representation("foo = core:main") self.assertEqual(exe.name, "foo") self.assertEqual(exe.module, "core") self.assertEqual(exe.function, "main") self.assertEqual(exe.full_representation(), "foo = core:main")
def test_basic(self): exe = Executable.from_representation("foo = core:main") self.assertEqual(exe.name, "foo") self.assertEqual(exe.module, "core") self.assertEqual(exe.function, "main") self.assertEqual(exe.full_representation(), "foo = core:main")
def distutils_to_package_description(dist): root = bento.core.node.Node("", None) top = root.find_dir(os.getcwd()) data = {} data['name'] = dist.get_name() data['version'] = dist.get_version() data['author'] = dist.get_author() data['author_email'] = dist.get_author_email() data['maintainer'] = dist.get_contact() data['maintainer_email'] = dist.get_contact_email() data['summary'] = dist.get_description() data['description'] = dist.get_long_description().replace("#", "\#") data['license'] = dist.get_license() data['platforms'] = dist.get_platforms() data['download_url'] = dist.get_download_url() data['url'] = dist.get_url() # XXX: reliable way to detect whether Distribution was monkey-patched by # setuptools try: reqs = getattr(dist, "install_requires") # FIXME: how to detect this correctly if is_string(reqs): reqs = [reqs] data['install_requires'] = reqs except AttributeError: pass if dist.py_modules is None: data['py_modules'] = [] else: data['py_modules'] = dist.py_modules if dist.packages is None: packages = [] else: packages = dist.packages data['packages'] = validate_packages(packages, top) if dist.ext_modules: data['extensions'] = dict([(e.name, e) for e in dist.ext_modules]) else: data['extensions'] = {} data['classifiers'] = dist.get_classifiers() data["executables"] = {} entry_points = entry_points_from_dist(dist) if entry_points: console_scripts = entry_points.get("console_scripts", []) for entry in console_scripts: exe = Executable.from_representation(entry) data["executables"][exe.name] = exe return PackageDescription(**data)
def distutils_to_package_description(dist): root = bento.core.node.Node("", None) top = root.find_dir(os.getcwd()) data = {} data['name'] = dist.get_name() data['version'] = dist.get_version() data['author'] = dist.get_author() data['author_email'] = dist.get_author_email() data['maintainer'] = dist.get_contact() data['maintainer_email'] = dist.get_contact_email() data['summary'] = dist.get_description() data['description'] = dist.get_long_description().replace("#", "\#") data['license'] = dist.get_license() data['platforms'] = dist.get_platforms() data['download_url'] = dist.get_download_url() data['url'] = dist.get_url() # XXX: reliable way to detect whether Distribution was monkey-patched by # setuptools try: reqs = getattr(dist, "install_requires") # FIXME: how to detect this correctly if issubclass(type(reqs), (str, unicode)): reqs = [reqs] data['install_requires'] = reqs except AttributeError: pass if dist.py_modules is None: data['py_modules'] = [] else: data['py_modules'] = dist.py_modules if dist.packages is None: packages = [] else: packages = dist.packages data['packages'] = validate_packages(packages, top) if dist.ext_modules: data['extensions'] = dict([(e.name, e) for e in dist.ext_modules]) else: data['extensions'] = {} data['classifiers'] = dist.get_classifiers() data["executables"] = {} entry_points = entry_points_from_dist(dist) if entry_points: console_scripts = entry_points.get("console_scripts", []) for entry in console_scripts: exe = Executable.from_representation(entry) data["executables"][exe.name] = exe return PackageDescription(**data)