Fundraising in PDF.
[wolnelektury.git] / src / catalogue / management / commands / report_dead_links.py
index 34b1e70..866a7d0 100644 (file)
@@ -1,9 +1,6 @@
-# -*- coding: utf-8 -*-
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
-from __future__ import print_function, unicode_literals
-
 from django.core.management.base import BaseCommand
 
 
@@ -13,25 +10,28 @@ class Command(BaseCommand):
     def handle(self, **options):
         from catalogue.models import Book
         from picture.models import Picture
-        from urllib2 import urlopen, HTTPError, URLError
-        from django.core.urlresolvers import reverse
+        from urllib.request import urlopen, HTTPError, URLError
+        from django.urls import reverse
         from django.contrib.sites.models import Site
-        from django.contrib.sites.shortcuts import get_current_site
 
-        domain = get_current_site(None).domain
+        domain = Site.objects.get_current().domain
 
         fields = [
-            (Book, [
-                ('gazeta_link', lambda b: b.gazeta_link),
-                ('wiki_link', lambda b: b.wiki_link),
-                ('źródło', lambda b: b.extra_info.get('source_url')),
-                ], 'admin:catalogue_book_change'
+            (
+                Book,
+                [
+                    ('wiki_link', lambda b: b.wiki_link),
+                    ('źródło', lambda b: b.get_extra_info_json().get('source_url')),
+                ],
+                'admin:catalogue_book_change'
             ),
-            (Picture, [
-                ('gazeta_link', lambda p: p.culturepl_link),
-                ('wiki_link', lambda p: p.wiki_link),
-                ('źródło', lambda p: p.extra_info.get('source_url')),
-                ], 'admin:pictures_picture_change'
+            (
+                Picture,
+                [
+                    ('wiki_link', lambda p: p.wiki_link),
+                    ('źródło', lambda p: p.get_extra_info_json().get('source_url')),
+                ],
+                'admin:pictures_picture_change'
             )
         ]
 
@@ -43,14 +43,16 @@ class Command(BaseCommand):
                     if url:
                         try:
                             urlopen(url)
-                        except (HTTPError, URLError, ValueError), e:
+                        except (HTTPError, URLError, ValueError) as e:
                             if clean:
                                 clean = False
-                                print(unicode(obj).encode('utf-8'))
+                                print(str(obj).encode('utf-8'))
                                 print(('Na stronie: https://%s%s' % (domain, obj.get_absolute_url())).encode('utf-8'))
-                                print(('Administracja: https://%s%s' % (domain, reverse(admin_name, args=[obj.pk]))).encode('utf-8'))
-                                if obj.extra_info.get('about'):
-                                    print(('Redakcja: %s' % (obj.extra_info.get('about'),)).encode('utf-8'))
+                                print(
+                                    ('Administracja: https://%s%s' % (domain, reverse(admin_name, args=[obj.pk])))
+                                    .encode('utf-8'))
+                                if obj.get_extra_info_json().get('about'):
+                                    print(('Redakcja: %s' % (obj.get_extra_info_json().get('about'),)).encode('utf-8'))
                             print(('    %s (%s): %s' % (name, getattr(e, 'code', 'błąd'), url)).encode('utf-8'))
                 if not clean:
                     print()