コード例 #1
0
ファイル: out.py プロジェクト: EvaSDK/euscan
    def result(self, cp, version, urls, handler, confidence):
        from euscan.version import get_version_type

        cpv = '%s-%s' % (cp, version)
        urls = ' '.join(
            transform_url(self.config, cpv, url) for url in urls.split()
        )

        if self.config['format'] in ['json', 'dict']:
            _curr = self.queries[self.current_query]
            _curr["result"].append(
                {
                    "version": version,
                    "urls": urls.split(),
                    "handler": handler,
                    "confidence": confidence,
                    "type": get_version_type(version)
                }
            )
        else:
            if not self.config['quiet']:
                print "Upstream Version:", pp.number("%s" % version),
                print pp.path(" %s" % urls)
            else:
                print pp.cpv("%s-%s" % (cp, version)) + ":", pp.path(urls)
コード例 #2
0
    def result(self, cp, version, urls, handler, confidence):
        from euscan.version import get_version_type

        cpv = '%s-%s' % (cp, version)
        urls = ' '.join(
            transform_url(self.config, cpv, url) for url in urls.split()
        )

        if self.config['format'] in ['json', 'dict']:
            _curr = self.queries[self.current_query]
            _curr["result"].append(
                {
                    "version": version,
                    "urls": urls.split(),
                    "handler": handler,
                    "confidence": confidence,
                    "type": get_version_type(version)
                }
            )
        else:
            if not self.config['quiet']:
                print("Upstream Version:", pp.number("%s" % version), end=' ')
                print(pp.path(" %s" % urls))
            else:
                print(pp.cpv("%s-%s" % (cp, version)) + ":", pp.path(urls))
コード例 #3
0
    def store_version(self, package, cpv, slot, overlay, overlay_path):
        cat, pkg, ver, rev = portage.catpkgsplit(cpv)
        if not overlay:
            overlay = 'gentoo'

        created = False
        obj = self.cache_get_version(package.category, package.name, ver, rev,
                                     overlay)

        overlay_path = overlay_path or portage.settings["PORTDIR"]
        package_path = os.path.join(overlay_path, package.category,
                                    package.name)
        ebuild_path = os.path.join(package_path,
                                   "%s.ebuild" % cpv.split("/")[-1])
        metadata_path = os.path.join(package_path, "metadata.xml")
        if not os.path.exists(metadata_path):
            metadata_path = None

        if not obj:
            obj, created = Version.objects.get_or_create(
                package=package,
                revision=rev,
                version=ver,
                overlay=overlay,
                defaults={
                    "slot": slot,
                    "packaged": True,
                    "vtype": get_version_type(ver),
                    "confidence": 100,
                    "handler": "portage",
                    "ebuild_path": ebuild_path,
                    "metadata_path": metadata_path,
                })
        if not created:  # Created objects have defaults values
            if obj.slot != slot or obj.package != True:
                obj.slot = slot
                obj.packaged = True
                obj.save()

        if created:
            self.cache_store_version(obj)

        # nothing to do (note: it can't be an upstream version because
        # overlay can't be empty here)
        if not created:
            return obj, created

        # New version created
        self.logger.info('+ [v] %s' % (obj))

        if overlay == 'gentoo':
            package.n_packaged += 1
        else:
            package.n_overlay += 1
        package.n_versions += 1
        package.save()

        if not self.no_log:
            VersionLog.objects.create(
                package=obj.package,
                action=VersionLog.VERSION_ADDED,
                slot=obj.slot,
                revision=obj.revision,
                version=obj.version,
                overlay=obj.overlay,
                vtype=obj.vtype,
            )

        return obj, created
コード例 #4
0
ファイル: scan_portage.py プロジェクト: iksaif/euscan
    def store_version(self, package, cpv, slot, overlay, overlay_path):
        cat, pkg, ver, rev = portage.catpkgsplit(cpv)
        if not overlay:
            overlay = 'gentoo'

        created = False
        obj = self.cache_get_version(
            package.category, package.name, ver, rev, overlay
        )

        overlay_path = overlay_path or portage.settings["PORTDIR"]
        package_path = os.path.join(overlay_path, package.category, package.name)
        ebuild_path = os.path.join(package_path, "%s.ebuild" % cpv.split("/")[-1])
        metadata_path = os.path.join(package_path, "metadata.xml")
        if not os.path.exists(metadata_path):
            metadata_path = None

        if not obj:
            obj, created = Version.objects.get_or_create(
                package=package,
                revision=rev,
                version=ver,
                overlay=overlay,
                defaults={
                    "slot": slot,
                    "packaged": True,
                    "vtype": get_version_type(ver),
                    "confidence": 100,
                    "handler": "portage",
                    "ebuild_path": ebuild_path,
                    "metadata_path": metadata_path,
                }
            )
        if not created:  # Created objects have defaults values
            if obj.slot != slot or obj.package != True:
                obj.slot = slot
                obj.packaged = True
                obj.save()

        if created:
            self.cache_store_version(obj)

        # nothing to do (note: it can't be an upstream version because
        # overlay can't be empty here)
        if not created:
            return obj, created

        # New version created
        self.logger.info('+ [v] %s' % (obj))

        if overlay == 'gentoo':
            package.n_packaged += 1
        else:
            package.n_overlay += 1
        package.n_versions += 1
        package.save()

        if not self.no_log:
            VersionLog.objects.create(
                package=obj.package,
                action=VersionLog.VERSION_ADDED,
                slot=obj.slot,
                revision=obj.revision,
                version=obj.version,
                overlay=obj.overlay,
                vtype=obj.vtype,
            )

        return obj, created
コード例 #5
0
def version_type(version):
    return get_version_type(version)