releng: auto-deactivate old ISO names

Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Dan McGee 2011-04-29 10:16:17 -05:00
parent 87983d141b
commit 23cda53f81
2 changed files with 9 additions and 5 deletions

View File

@ -9,7 +9,8 @@ class IsoAdmin(admin.ModelAdmin):
list_filter = ('active',)
class TestAdmin(admin.ModelAdmin):
list_display = ('user_name', 'user_email', 'created', 'ip_address', 'iso', 'success')
list_display = ('user_name', 'user_email', 'created', 'ip_address',
'iso', 'success')
list_filter = ('success', 'iso')

View File

@ -19,7 +19,7 @@ def handle_starttag(self, tag, attrs):
for name, value in attrs:
if name == "href":
if value != '../' and self.url_re.search(value) != None:
self.hyperlinks.append(value[:len(value)-1])
self.hyperlinks.append(value[:-1])
def parse(self, url):
try:
@ -38,11 +38,14 @@ class Command(BaseCommand):
def handle(self, *args, **options):
parser = IsoListParser()
isonames = Iso.objects.values_list('name', flat=True)
new_isos = parser.parse(settings.ISO_LIST_URL)
active_isos = parser.parse(settings.ISO_LIST_URL)
for iso in new_isos:
# create any names that don't already exist
for iso in active_isos:
if iso not in isonames:
new = Iso(name=iso)
new = Iso(name=iso, active=True)
new.save()
# and then mark all other names as no longer active
Iso.objects.exclude(name__in=active_isos).update(active=False)
# vim: set ts=4 sw=4 et: