More Py3 compatibility fixes.
authorRadek Czajka <rczajka@rczajka.pl>
Sun, 17 Mar 2019 20:34:36 +0000 (21:34 +0100)
committerRadek Czajka <rczajka@rczajka.pl>
Sun, 17 Mar 2019 20:50:00 +0000 (21:50 +0100)
src/contact/mailing.py
src/lesmianator/models.py
src/opds/views.py
src/search/custom.py
src/search/index.py
src/stats/utils.py
src/wolnelektury/templates/widget.html

index 2d578e6..baacf3d 100644 (file)
@@ -1,5 +1,3 @@
-# -*- coding: utf-8 -*-
-
 from hashlib import md5
 
 from django.conf import settings
@@ -8,7 +6,7 @@ from mailchimp3.mailchimpclient import MailChimpError
 
 
 def subscriber_hash(email):
-    return md5(email).hexdigest()
+    return md5(email.encode('utf-8')).hexdigest()
 
 
 def remove_from_groups(email, client):
index 0a4c059..47b4315 100644 (file)
@@ -1,7 +1,7 @@
-# -*- 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.
 #
+from functools import reduce
 import pickle
 from pickle import PickleError
 from datetime import datetime
@@ -155,7 +155,7 @@ class Continuations(models.Model):
             obj = cls.objects.get(content_type=object_type, object_id=sth.id)
             if not obj.pickle:
                 raise cls.DoesNotExist
-            f = open(obj.pickle.path)
+            f = open(obj.pickle.path, 'rb')
             keys, conts = pickle.load(f)
             f.close()
             if set(keys) != should_keys:
index 1afbcda..f14696b 100644 (file)
@@ -1,7 +1,7 @@
-# -*- 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.
 #
+from functools import reduce
 import os.path
 from urllib.parse import urljoin
 
index 8f7b893..9337157 100644 (file)
@@ -23,7 +23,7 @@ class CustomSolrConnection(connection.SolrConnection):
             url = self.analysis_url
             kwargs = dict(
                 method="POST",
-                body=qs,
+                data=qs,
                 headers={"Content-Type": "application/x-www-form-urlencoded"},
             )
         else:
index a712b07..7120893 100644 (file)
@@ -1,7 +1,7 @@
 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
 #
-from functools import total_ordering
+from functools import reduce, total_ordering
 from itertools import chain
 import logging
 import operator
@@ -713,12 +713,12 @@ class SearchResult(object):
                             break
 
             def theme_by_name(n):
-                th = filter(lambda t: t.name == n, themes)
+                th = list(filter(lambda t: t.name == n, themes))
                 if th:
                     return th[0]
                 else:
                     return None
-            themes_hit = filter(lambda a: a is not None, map(theme_by_name, themes_hit))
+            themes_hit = list(filter(lambda a: a is not None, map(theme_by_name, themes_hit)))
 
             m = {'score': f[self.SCORE],
                  'fragment': frag,
index eba7202..d21eb3c 100644 (file)
@@ -1,4 +1,3 @@
-# -*- 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.
 #
@@ -6,7 +5,7 @@ from django.conf import settings
 from datetime import datetime
 import logging
 from functools import update_wrapper
-import urllib
+from urllib.parse import urlencode
 from random import random
 from inspect import isclass
 
@@ -18,7 +17,7 @@ logger = logging.getLogger(__name__)
 
 
 def piwik_url(request):
-    return urllib.urlencode(dict(
+    return urlencode(dict(
         idsite=getattr(settings, 'PIWIK_SITE_ID', '0'),
         rec=1,
         url=force_bytes('http://%s%s' % (request.META['HTTP_HOST'], request.path)),
index 1103641..de79b56 100644 (file)
@@ -15,7 +15,7 @@
         <a href="/">
           <img src="{% static 'img/logo-neon.png' %}">
         </a>
-        <form action="{% url 'search' %}" method="get" accept-charset="utf-8" id="wl-form">
+        <form action="{% url 'wlsearch' %}" method="get" accept-charset="utf-8" id="wl-form">
           <div id="wl-search">
             <input data-source="{% url 'search_hint' %}?max=3" id="id_qq" name="q" title="tytuł, autor, motyw/temat, epoka, rodzaj, gatunek, cytat" placeholder="tytuł, autor, motyw/temat, epoka, rodzaj, gatunek, cytat" type="text" value=""/>
           </div>