]> git.0d.be Git - panikweb.git/commitdiff
python3 bits
authorFrédéric Péters <fpeters@0d.be>
Thu, 26 Sep 2019 12:50:02 +0000 (14:50 +0200)
committerFrédéric Péters <fpeters@0d.be>
Thu, 26 Sep 2019 12:50:02 +0000 (14:50 +0200)
panikweb/paniktags/templatetags/paniktags.py
panikweb/settings.py
panikweb/urls.py
panikweb/views.py

index 77bb5bd1d758aaf80f4fbb55e8944b13397f59aa..b6d468dd9398bbf054d7de774ee50d79e40032c9 100644 (file)
@@ -3,14 +3,16 @@ import datetime
 import json
 import re
 import time
-import urlparse
-import urllib2
 import uuid
 
 from django import template
 from django.conf import settings
 from django.core.urlresolvers import reverse
 from django.db.models.query import QuerySet
+from django.utils.encoding import force_text
+from django.utils.http import quote
+from django.utils.six.moves.urllib import parse as urlparse
+
 from datetime import datetime, timedelta
 
 from emissions.models import Emission, Episode, NewsItem, SoundFile, Focus
@@ -243,7 +245,7 @@ def remove_facet(facet_id, url, facet):
         x[0] == 'selected_facets' and x[1] == facet)]
     query = '&'.join(['%s=%s' % x for x in query_string])
     url = urlparse.urlunsplit([scheme, netloc, path, query, None])
-    return unicode(re.sub(r'&page=\d+', '', url), 'utf-8')
+    return force_text(re.sub(r'&page=\d+', '', url), 'utf-8')
 
 @register.filter
 def remove_tag_facet(url, facet):
@@ -264,7 +266,7 @@ def remove_format_facet(url, facet):
 
 
 def append_facet(facet_id, url, facet):
-    facet = urllib2.quote(facet.encode('utf-8'), safe='')
+    facet = quote(facet.encode('utf-8'), safe='')
     if not '?' in url:
         url = url + '?'
     return re.sub(r'&page=\d+', '', url + '&selected_facets=%s_exact:%s' % (facet_id, facet))
index 3ac26a93acef33e07aa1762b682060fd47cfeac1..44cc1214dd411fe857e172ae7176a4c019452855 100644 (file)
@@ -245,8 +245,8 @@ COMBO_INITIAL_LOGIN_PAGE_PATH = '/'
 COMBO_WELCOME_PAGE_PATH = None
 
 try:
-    from local_settings import *
-except ImportError, e:
+    from .local_settings import *
+except ImportError as e:
     pass
 
 if DEBUG and DEBUG_TOOLBAR:
index 9d4bbd334c1f5d76b228ea0865e0123fef793336..8ca2e5bf8c17b0e7bc91263648f4891546f9829d 100644 (file)
@@ -62,5 +62,5 @@ urlpatterns.append(url(r'', include('combo.public.urls')))
 
 try:
     from local_urls import *
-except ImportError, e:
+except ImportError as e:
     pass
index 29579f80ce27b4e00cc31be2c135875ba4ca29cd..1b8b0f4066190fdbfd0c6c115848c18b99e6f09e 100644 (file)
@@ -4,11 +4,13 @@ import random
 import os
 import stat
 import time
-import urlparse
 
 from django.core.urlresolvers import reverse
 from django.conf import settings
 from django.http import Http404, JsonResponse
+from django.utils.encoding import force_text
+from django.utils.encoding import python_2_unicode_compatible
+from django.utils.six.moves.urllib import parse as urlparse
 from django.views.decorators.cache import cache_control
 from django.views.generic.base import TemplateView
 from django.views.generic.detail import DetailView
@@ -238,6 +240,7 @@ class ProgramView(TemplateView):
 
 program = ProgramView.as_view()
 
+@python_2_unicode_compatible
 class TimeCell:
     nonstop = None
     w = 1
@@ -259,14 +262,14 @@ class TimeCell:
                 end_time.minute)
         self.schedules.append(schedule)
 
-    def __unicode__(self):
+    def __str__(self):
         if self.schedules:
             return ', '.join([x.emission.title for x in self.schedules])
         else:
             return self.nonstop
 
     def __eq__(self, other):
-        return (unicode(self) == unicode(other) and self.time_label == other.time_label)
+        return (force_text(self) == force_text(other) and self.time_label == other.time_label)
 
 
 class Grid(TemplateView):
@@ -349,7 +352,7 @@ class Grid(TemplateView):
                             continue
                         # here it is, same cell, same emission, several
                         # schedules
-                        schedule_list.sort(lambda x,y: cmp(x.get_duration(), y.get_duration()))
+                        schedule_list.sort(key=lambda x: x.get_duration())
 
                         schedule = schedule_list[0]
                         end_time = schedule.datetime + timedelta(
@@ -455,8 +458,7 @@ class Grid(TemplateView):
                                     grid[i][j].time_label = same_cell_below.time_label
                                     # then we sort emissions so the longest are
                                     # put first
-                                    grid[i][j].schedules.sort(
-                                            lambda x, y: -cmp(x.get_duration(), y.get_duration()))
+                                    grid[i][j].schedules.sort(key=lambda x: -x.get_duration())
                                     # then we add individual time labels to the
                                     # other schedules
                                     for schedule in current_cell_schedules: