summaryrefslogtreecommitdiffstats
path: root/releng
diff options
context:
space:
mode:
authorjelle van der Waa <jelle@vdwaa.nl>2018-02-17 18:55:13 +0100
committerAngel Velásquez <angvp@archlinux.org>2018-02-17 12:55:13 -0500
commit875d50d8f23069515b865b28044fb572a14049ed (patch)
tree496de6fd9b257ac3a1d3bf20b8fcd66e789d6b1b /releng
parent15e4f75321f5c43198cc5a2a3709c817f885a08c (diff)
downloadarchweb-875d50d8f23069515b865b28044fb572a14049ed.tar.gz
archweb-875d50d8f23069515b865b28044fb572a14049ed.zip
Remove unused Iso Model (#82)
The ISO model was used for the releng feedback form which was removed earlier. All this code is therefore now unused.
Diffstat (limited to 'releng')
-rw-r--r--releng/admin.py13
-rw-r--r--releng/management/commands/syncisos.py71
-rw-r--r--releng/models.py20
-rw-r--r--releng/views.py23
4 files changed, 3 insertions, 124 deletions
diff --git a/releng/admin.py b/releng/admin.py
index 09af9171..251cc90a 100644
--- a/releng/admin.py
+++ b/releng/admin.py
@@ -1,16 +1,6 @@
from django.contrib import admin
-from .models import (Iso, Release)
-
-class IsoAdmin(admin.ModelAdmin):
- list_display = ('name', 'created', 'active', 'removed')
- list_filter = ('active', 'created')
- date_hierarchy = 'created'
-
-class TestAdmin(admin.ModelAdmin):
- list_display = ('user_name', 'user_email', 'created', 'ip_address',
- 'iso', 'success')
- list_filter = ('success', 'iso')
+from .models import Release
class ReleaseAdmin(admin.ModelAdmin):
list_display = ('version', 'release_date', 'kernel_version', 'available',
@@ -19,7 +9,6 @@ class ReleaseAdmin(admin.ModelAdmin):
readonly_fields = ('created', 'last_modified')
-admin.site.register(Iso, IsoAdmin)
admin.site.register(Release, ReleaseAdmin)
# vim: set ts=4 sw=4 et:
diff --git a/releng/management/commands/syncisos.py b/releng/management/commands/syncisos.py
deleted file mode 100644
index 0a082911..00000000
--- a/releng/management/commands/syncisos.py
+++ /dev/null
@@ -1,71 +0,0 @@
-import re
-import urllib
-from HTMLParser import HTMLParser, HTMLParseError
-
-from django.conf import settings
-from django.core.management.base import BaseCommand, CommandError
-from django.utils.timezone import now
-
-from releng.models import Iso
-
-
-class IsoListParser(HTMLParser):
- def __init__(self):
- HTMLParser.__init__(self)
-
- self.hyperlinks = []
- self.url_re = re.compile('(?!\.{2})/$')
-
- def handle_starttag(self, tag, attrs):
- if tag != 'a':
- return
-
- for name, value in attrs:
- if name != "href":
- continue
-
- if value != '../' and self.url_re.search(value) is not None:
- self.hyperlinks.append(value[:-1])
-
- def parse(self, url):
- try:
- remote_file = urllib.urlopen(url)
- data = remote_file.read()
- remote_file.close()
- self.feed(data)
- self.close()
- return self.hyperlinks
- except HTMLParseError:
- raise CommandError('Couldn\'t parse "%s"' % url)
-
-class Command(BaseCommand):
- help = 'Gets new ISOs from %s' % settings.ISO_LIST_URL
-
- def handle(self, *args, **options):
- parser = IsoListParser()
- isonames = Iso.objects.values_list('name', flat=True)
- try:
- active_isos = parser.parse(settings.ISO_LIST_URL)
- except IOError as e:
- print('Unable to fetch active isos from {}'.format(settings.ISO_LIST_URL))
- if options.get('verbosity') > 1:
- print(e)
- return
-
- for iso in active_isos:
- # create any names that don't already exist
- if iso not in isonames:
- new = Iso(name=iso, active=True)
- new.save()
- # update those that do if they were marked inactive
- else:
- existing = Iso.objects.get(name=iso)
- if not existing.active:
- existing.active = True
- existing.removed = None
- existing.save(update_fields=('active', 'removed'))
- # and then mark all other names as no longer active
- Iso.objects.filter(active=True).exclude(name__in=active_isos).update(
- active=False, removed=now())
-
-# vim: set ts=4 sw=4 et:
diff --git a/releng/models.py b/releng/models.py
index 8a8d0ad2..afa0094b 100644
--- a/releng/models.py
+++ b/releng/models.py
@@ -13,22 +13,6 @@ from django.utils.safestring import mark_safe
from main.utils import set_created_field, parse_markdown
-class Iso(models.Model):
- name = models.CharField(max_length=255)
- created = models.DateTimeField(editable=False)
- removed = models.DateTimeField(null=True, blank=True, default=None)
- active = models.BooleanField(default=True)
-
- def get_absolute_url(self):
- return reverse('releng-results-iso', args=[self.pk])
-
- def __unicode__(self):
- return self.name
-
- class Meta:
- verbose_name = 'ISO'
-
-
class Release(models.Model):
release_date = models.DateField(db_index=True)
version = models.CharField(max_length=50, unique=True)
@@ -103,8 +87,6 @@ class Release(models.Model):
return metadata
-for model in (Iso, Release):
- pre_save.connect(set_created_field, sender=model,
- dispatch_uid="releng.models")
+pre_save.connect(set_created_field, sender=Release, dispatch_uid="releng.models")
# vim: set ts=4 sw=4 et:
diff --git a/releng/views.py b/releng/views.py
index b962a4d3..ad433056 100644
--- a/releng/views.py
+++ b/releng/views.py
@@ -3,35 +3,14 @@ import json
from django.core.serializers.json import DjangoJSONEncoder
from django.core.urlresolvers import reverse
-from django.db.models import Count
from django.http import Http404, HttpResponse
from django.shortcuts import get_object_or_404, render
from django.views.generic import DetailView, ListView
-from .models import (Iso, Release)
+from .models import Release
from mirrors.models import MirrorUrl
-def iso_overview(request):
- isos = Iso.objects.all().order_by('-pk')
- successes = dict(Iso.objects.values_list('pk').filter(
- test__success=True).annotate(ct=Count('test')))
- failures = dict(Iso.objects.values_list('pk').filter(
- test__success=False).annotate(ct=Count('test')))
- for iso in isos:
- iso.successes = successes.get(iso.pk, 0)
- iso.failures = failures.get(iso.pk, 0)
-
- # only show "useful" rows, currently active ISOs or those with results
- isos = [iso for iso in isos if
- iso.active is True or iso.successes > 0 or iso.failures > 0]
-
- context = {
- 'isos': isos
- }
- return render(request, 'releng/iso_overview.html', context)
-
-
class ReleaseListView(ListView):
model = Release