summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAngel Velásquez <angvp@archlinux.org>2017-06-12 11:47:36 -0400
committerGitHub <noreply@github.com>2017-06-12 11:47:36 -0400
commitddf70d1c6a9d953186d6a3d808445554260628b1 (patch)
tree3dc2cf5cae65245ebefa369d6aca1854ceaa4ee8
parentd28a06966468faf255038500b490a8880026c006 (diff)
parent6951bb59e7ca6484d61b99558716f37b70f118dc (diff)
downloadarchweb-ddf70d1c6a9d953186d6a3d808445554260628b1.tar.gz
archweb-ddf70d1c6a9d953186d6a3d808445554260628b1.zip
Merge pull request #32 from jelly/syncisos
Syncisos
-rw-r--r--releng/management/commands/syncisos.py22
1 files changed, 16 insertions, 6 deletions
diff --git a/releng/management/commands/syncisos.py b/releng/management/commands/syncisos.py
index f182cc33..0a082911 100644
--- a/releng/management/commands/syncisos.py
+++ b/releng/management/commands/syncisos.py
@@ -17,11 +17,15 @@ class IsoListParser(HTMLParser):
self.url_re = re.compile('(?!\.{2})/$')
def handle_starttag(self, tag, attrs):
- if tag == 'a':
- for name, value in attrs:
- if name == "href":
- if value != '../' and self.url_re.search(value) is not None:
- self.hyperlinks.append(value[:-1])
+ 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:
@@ -40,7 +44,13 @@ class Command(BaseCommand):
def handle(self, *args, **options):
parser = IsoListParser()
isonames = Iso.objects.values_list('name', flat=True)
- active_isos = parser.parse(settings.ISO_LIST_URL)
+ 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