euscanwww: charts, about, etc...

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
This commit is contained in:
Corentin Chary
2011-04-25 22:27:32 +02:00
parent 13dd433996
commit 0aba96f66f
30 changed files with 504 additions and 121 deletions

View File

@ -62,7 +62,7 @@ class Command(BaseCommand):
matches = sorted(matches)
pkg = matches.pop()
if pkg.version == '9999' and len(matches):
if '9999' in pkg.version and len(matches):
pkg = matches.pop()
obj, created = Package.objects.get_or_create(category=pkg.category, name=pkg.name)

View File

@ -103,14 +103,14 @@ class Command(BaseCommand):
slot = match.group('slot')
overlay = match.group('overlay')
if not package or not cpv.startswith(str(package)):
package = self.store_package(options, cpv)
cat, pkg, ver, rev = portage.catpkgsplit(cpv)
if not package or not (cat == package.category and pkg == package.name):
package = self.store_package(options, cat, pkg)
self.store_version(options, package, cpv, slot, overlay)
def store_package(self, options, cpv):
cat, pkg, ver, rev = portage.catpkgsplit(cpv)
def store_package(self, options, cat, pkg):
obj, created = Package.objects.get_or_create(category=cat, name=pkg)
if created:
@ -121,6 +121,7 @@ class Command(BaseCommand):
Version.objects.filter(package=obj, packaged=True).delete()
obj.n_packaged = 0
obj.n_overlay = 0
obj.n_versions = Version.objects.filter(package=obj).count()
obj.save()
@ -144,7 +145,10 @@ class Command(BaseCommand):
overlay=overlay)
if created or not package.n_packaged:
package.n_packaged += 1
if overlay == 'gentoo':
package.n_packaged += 1
else:
package.n_overlay += 1
if created:
package.n_versions += 1

View File

@ -51,40 +51,44 @@ class Command(BaseCommand):
for package in Package.objects.all():
# Should not be needed, but can't hurt
package.n_versions = Version.objects.filter(package=package).count()
package.n_packaged != Version.objects.filter(package=package,packaged=True).count()
package.n_packaged = Version.objects.filter(package=package, packaged=True, overlay='gentoo').count()
package.n_overlay = Version.objects.filter(package=package, packaged=True).exclude(overlay='gentoo').count()
package.save()
for herd in package.herds.all():
herds[herd].n_packages += 1
herds[herd].n_versions += package.n_versions
herds[herd].n_packaged += package.n_packaged
herds[herd].n_overlay += package.n_overlay
for maintainer in package.maintainers.all():
maintainers[maintainer].n_packages += 1
maintainers[maintainer].n_versions += package.n_versions
maintainers[maintainer].n_packaged += package.n_packaged
maintainers[maintainer].n_overlay += package.n_overlay
categories[package.category].n_packages += 1
categories[package.category].n_versions += package.n_versions
categories[package.category].n_packaged += package.n_packaged
categories[package.category].n_overlay += package.n_overlay
for clog in categories.values():
if not options['quiet']:
self.stdout.write('[c] %s - [%d, %d/%d]\n' %
self.stdout.write('[c] %s - [%d, %d/%d/%d]\n' %
(clog.category, clog.n_packages,
clog.n_packaged, clog.n_versions))
clog.n_packaged, clog.n_overlay, clog.n_versions))
clog.save()
for hlog in herds.values():
if not options['quiet']:
self.stdout.write('[h] %s - [%d, %d/%d]\n' %
self.stdout.write('[h] %s - [%d, %d/%d/%d]\n' %
(hlog.herd, hlog.n_packages,
hlog.n_packaged, hlog.n_versions))
hlog.n_packaged, hlog.n_overlay, hlog.n_versions))
hlog.save()
for mlog in maintainers.values():
if not options['quiet']:
self.stdout.write('[m] %s - [%d, %d/%d]\n' %
self.stdout.write('[m] %s - [%d, %d/%d/%d]\n' %
(mlog.maintainer, mlog.n_packages,
mlog.n_packaged, mlog.n_versions))
mlog.n_packaged, mlog.n_overlay, mlog.n_versions))
mlog.save()