import json
import re
import time
+import urllib.parse
import uuid
from datetime import datetime, timedelta
from django.urls import reverse
from django.utils.encoding import force_text
from django.utils.http import quote
-from django.utils.six.moves.urllib import parse as urlparse
from emissions.models import Emission, Episode, Focus, NewsItem, SoundFile
from emissions.utils import period_program
from taggit.models import Tag
def remove_facet(facet_id, url, facet):
- scheme, netloc, path, query, fragment = list(urlparse.urlsplit(str(url)))
+ scheme, netloc, path, query, fragment = list(urllib.parse.urlsplit(str(url)))
facet = '%s_exact:%s' % (facet_id, facet)
- query_string = urlparse.parse_qsl(query)
+ query_string = urllib.parse.parse_qsl(query)
query_string = [x for x in query_string if not (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])
+ url = urllib.parse.urlunsplit([scheme, netloc, path, query, None])
return re.sub(r'&page=\d+', '', url)
def with_facet(url, facet_id, facet):
- scheme, netloc, path, query, fragment = list(urlparse.urlsplit(str(url)))
+ scheme, netloc, path, query, fragment = list(urllib.parse.urlsplit(str(url)))
criteria = '%s_exact:' % facet_id
- query_string = urlparse.parse_qsl(query)
+ query_string = urllib.parse.parse_qsl(query)
query_string = [x for x in query_string if not (x[0] == 'selected_facets' and x[1].startswith(criteria))]
if facet is not None:
query_string.append(('selected_facets', criteria + facet))
query = '&'.join(['%s=%s' % x for x in query_string])
- url = urlparse.urlunsplit([scheme, netloc, path, query, None])
+ url = urllib.parse.urlunsplit([scheme, netloc, path, query, None])
return re.sub(r'&page=\d+', '', url)
import random
import stat
import time
+import urllib.parse
from datetime import date, datetime, timedelta
from django.conf import settings
from django.urls import reverse
from django.utils.encoding import force_text, python_2_unicode_compatible
from django.utils.feedgenerator import Atom1Feed, Rss201rev2Feed
-from django.utils.six.moves.urllib import parse as urlparse
from django.views.decorators.cache import cache_control
from django.views.decorators.csrf import csrf_exempt
from django.views.generic.base import TemplateView
image_url = emission.image.url
else:
image_url = settings.PODCASTS_DEFAULT_IMAGE_PATH
- image_url = urlparse.urljoin(self.feed['link'], image_url)
+ image_url = urllib.parse.urljoin(self.feed['link'], image_url)
handler.startElement('image', {})
if emission:
handler.addQuickElement('title', emission.title)
handler.addQuickElement('itunes:explicit', explicit)
episode = item.get('episode')
if episode and episode.image and episode.image.url:
- image_url = urlparse.urljoin(self.feed['link'], episode.image.url)
+ image_url = urllib.parse.urljoin(self.feed['link'], episode.image.url)
handler.addQuickElement('itunes:image', None, {'href': image_url})
soundfile = item.get('soundfile')
if soundfile.duration:
class Atom1FeedWithBaseXml(Atom1Feed):
def root_attributes(self):
root_attributes = super().root_attributes()
- scheme, netloc, path, params, query, fragment = urlparse.urlparse(self.feed['feed_url'])
- root_attributes['xml:base'] = urlparse.urlunparse((scheme, netloc, '/', params, query, fragment))
+ scheme, netloc, path, params, query, fragment = urllib.parse.urlparse(self.feed['feed_url'])
+ root_attributes['xml:base'] = urllib.parse.urlunparse((scheme, netloc, '/', params, query, fragment))
return root_attributes