def do_ebuild(self): """ Get SRC_URI using PyPI and attempt to create ebuild :returns: tuple with exit code and pkg_resources requirement """ #Get proper case for project name: (self.package_name, versions) = self.pypi.query_versions_pypi(self.package_name) if not versions: log.error("No package %s on PyPi." % self.package_name) return if self.version and (self.version not in versions): log.error("No package %s for version %s on PyPi." % (self.package_name, self.version)) return else: self.version = get_highest_version(versions) # TODO: self.options.uri only for first ebuild # TODO: make find_uri method configurable download_url = self.find_uri() log.info('Generating ebuild: %s %s', self.package_name, self.version) log.debug('URI from PyPi: %s', download_url) self.options.configs['argparse']['uri'] = download_url self.options.configs['argparse']['up_pn'] = self.package_name self.options.configs['argparse']['up_pv'] = self.version ebuild = Ebuild(self.options) ebuild.set_metadata(self.query_metadata()) if self.options.command == 'echo': ebuild.print_formatted() else: ebuild.create() return ebuild.requires