diff options
author | Angel Velásquez <angvp@archlinux.org> | 2017-06-12 11:47:36 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-12 11:47:36 -0400 |
commit | ddf70d1c6a9d953186d6a3d808445554260628b1 (patch) | |
tree | 3dc2cf5cae65245ebefa369d6aca1854ceaa4ee8 | |
parent | d28a06966468faf255038500b490a8880026c006 (diff) | |
parent | 6951bb59e7ca6484d61b99558716f37b70f118dc (diff) | |
download | archweb-ddf70d1c6a9d953186d6a3d808445554260628b1.tar.gz archweb-ddf70d1c6a9d953186d6a3d808445554260628b1.zip |
Merge pull request #32 from jelly/syncisos
Syncisos
-rw-r--r-- | releng/management/commands/syncisos.py | 22 |
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 |