Exemplo n.º 1
0
    def fill_package_build(self, pkg: ArchPackage):
        cached_pkgbuild = pkg.get_cached_pkgbuild_path()
        if pkg.installed and os.path.exists(cached_pkgbuild):
            with open(cached_pkgbuild) as f:
                pkg.pkgbuild = f.read()
        else:
            res = self.http_client.get(pkg.get_pkg_build_url())

            if res and res.status_code == 200 and res.text:
                pkg.pkgbuild = res.text
Exemplo n.º 2
0
    def get_info(self, pkg: ArchPackage) -> dict:
        if pkg.installed:
            t = Thread(target=self.mapper.fill_package_build, args=(pkg, ))
            t.start()

            info = pacman.get_info_dict(pkg.name)

            t.join()

            if pkg.pkgbuild:
                info['13_pkg_build'] = pkg.pkgbuild

            info['14_installed_files'] = pacman.list_installed_files(pkg.name)

            return info
        else:
            info = {
                '01_id': pkg.id,
                '02_name': pkg.name,
                '03_description': pkg.description,
                '03_version': pkg.version,
                '04_popularity': pkg.popularity,
                '05_votes': pkg.votes,
                '06_package_base': pkg.package_base,
                '07_maintainer': pkg.maintainer,
                '08_first_submitted': pkg.first_submitted,
                '09_last_modified': pkg.last_modified,
                '10_url': pkg.url_download
            }

            srcinfo = self.aur_client.get_src_info(pkg.name)

            if srcinfo:
                if srcinfo.get('makedepends'):
                    info['12_makedepends'] = srcinfo['makedepends']

                if srcinfo.get('depends'):
                    info['13_dependson'] = srcinfo['depends']

                if srcinfo.get('optdepends'):
                    info['14_optdepends'] = srcinfo['optdepends']

                if srcinfo.get('checkdepends'):
                    info['15_checkdepends'] = srcinfo['checkdepends']

            if pkg.pkgbuild:
                info['00_pkg_build'] = pkg.pkgbuild
            else:
                info['11_pkg_build_url'] = pkg.get_pkg_build_url()

            return info
Exemplo n.º 3
0
    def fill_package_build(self, pkg: ArchPackage):
        res = self.http_client.get(pkg.get_pkg_build_url())

        if res and res.status_code == 200 and res.text:
            pkg.pkgbuild = res.text