Example #1
0
    def sync(self):
        """"""
        pypi = CheeseShop()
        for package in pypi.list_packages():
            (pn, vers) = pypi.query_versions_pypi(package)
            for version in vers:
                # TODO: parse_* will not return anything for correct atoms
                atom = Enamer.construct_atom(
                    Enamer.parse_pn(pn)[0], self.config.category,
                    Enamer.parse_pv(version[0]))

                # we skip existing ebuilds
                if PortageUtils.ebuild_exists(atom):
                    continue
                try:
                    url = pypi.get_download_urls(pn, version)[0]
                    # TODO: use setuptools way also
                except IndexError:
                    log.warn('Skipping %s, no download url', atom)
                else:
                    try:
                        self.config.configs['argparse']['uri'] = url
                        self.config.configs['argparse']['up_pn'] = pn
                        self.config.configs['argparse']['up_pv'] = version
                        gpypi = GPyPI(pn, version, self.config)
                        gpypi.create_ebuilds()
                    except KeyboardInterrupt:
                        raise
                    except:
                        log.exception(
                            'Unexpected error occured during ebuild creation:')
Example #2
0
    def sync(self):
        """"""
        pypi = CheeseShop()
        for package in pypi.list_packages():
            (pn, vers) = pypi.query_versions_pypi(package)
            for version in vers:
                # TODO: parse_* will not return anything for correct atoms
                atom = Enamer.construct_atom(Enamer.parse_pn(pn)[0], self.config.category, Enamer.parse_pv(version[0]))

                # we skip existing ebuilds
                if PortageUtils.ebuild_exists(atom):
                    continue
                try:
                    url = pypi.get_download_urls(pn, version)[0]
                    # TODO: use setuptools way also
                except IndexError:
                    log.warn('Skipping %s, no download url', atom)
                else:
                    try:
                        self.config.configs['argparse']['uri'] = url
                        self.config.configs['argparse']['up_pn'] = pn
                        self.config.configs['argparse']['up_pv'] = version
                        gpypi = GPyPI(pn, version, self.config)
                        gpypi.create_ebuilds()
                    except KeyboardInterrupt:
                        raise
                    except:
                        log.exception('Unexpected error occured during ebuild creation:')
Example #3
0
class TestPyPi(BaseTestCase):
    """"""
    def setUp(self):
        self.pypi = CheeseShop()
        self.all_packages = []
        for package in self.pypi.list_packages():
            (pn, vers) = self.pypi.query_versions_pypi(package)
            for version in vers:
                try:
                    url = self.pypi.get_download_urls(pn, version)[0]
                except IndexError:
                    pass
                    # TODO: log how many packages do not have URL
                else:
                    self.all_packages.append((pn, version))
                    # TODO: cache entries with cPickle

    #def test_get_vars_against_pypi(self):
        #for package_name, version in self.all_packages:
            #try:
                #d = Enamer.get_vars(url, pn, version)
            #except:
                #pass
            ## TODO: maybe assert some of dictionary stuff?
        #self.fail('Fail!')

    def test_get_vars_against_pypi(self):
        for package_name, version in self.all_packages:
            #try:
            main(['create', package_name, version])
            #except:
                #pass
            # TODO: maybe assert some of dictionary stuff?
        self.fail('Fail!')