compat: Make more urlparse usage py2+3 compatible

This commit is contained in:
Stein Magnus Jodal 2015-10-29 22:43:09 +01:00
parent b29d5df9b8
commit 587f2ac3d9
6 changed files with 28 additions and 26 deletions

View File

@ -4,9 +4,9 @@ import collections
import contextlib
import logging
import operator
import urlparse
from mopidy import compat, exceptions, models
from mopidy.compat import urllib
from mopidy.internal import deprecation, validation
@ -35,7 +35,7 @@ class LibraryController(object):
self.core = core
def _get_backend(self, uri):
uri_scheme = urlparse.urlparse(uri).scheme
uri_scheme = urllib.parse.urlparse(uri).scheme
return self.backends.with_library.get(uri_scheme, None)
def _get_backends_to_uris(self, uris):
@ -102,7 +102,7 @@ class LibraryController(object):
return sorted(directories, key=operator.attrgetter('name'))
def _browse(self, uri):
scheme = urlparse.urlparse(uri).scheme
scheme = urllib.parse.urlparse(uri).scheme
backend = self.backends.with_library_browse.get(scheme)
if not backend:
@ -253,7 +253,7 @@ class LibraryController(object):
futures = {}
backends = {}
uri_scheme = urlparse.urlparse(uri).scheme if uri else None
uri_scheme = urllib.parse.urlparse(uri).scheme if uri else None
for backend_scheme, backend in self.backends.with_library.items():
backends.setdefault(backend, set()).add(backend_scheme)

View File

@ -1,10 +1,10 @@
from __future__ import absolute_import, unicode_literals
import logging
import urlparse
from mopidy import models
from mopidy.audio import PlaybackState
from mopidy.compat import urllib
from mopidy.core import listener
from mopidy.internal import deprecation, validation
@ -33,7 +33,7 @@ class PlaybackController(object):
def _get_backend(self, tl_track):
if tl_track is None:
return None
uri_scheme = urlparse.urlparse(tl_track.track.uri).scheme
uri_scheme = urllib.parse.urlparse(tl_track.track.uri).scheme
return self.backends.with_playback.get(uri_scheme, None)
# Properties

View File

@ -2,9 +2,9 @@ from __future__ import absolute_import, unicode_literals
import contextlib
import logging
import urlparse
from mopidy import exceptions
from mopidy.compat import urllib
from mopidy.core import listener
from mopidy.internal import deprecation, validation
from mopidy.models import Playlist, Ref
@ -81,7 +81,7 @@ class PlaylistsController(object):
"""
validation.check_uri(uri)
uri_scheme = urlparse.urlparse(uri).scheme
uri_scheme = urllib.parse.urlparse(uri).scheme
backend = self.backends.with_playlists.get(uri_scheme, None)
if not backend:
@ -175,7 +175,7 @@ class PlaylistsController(object):
"""
validation.check_uri(uri)
uri_scheme = urlparse.urlparse(uri).scheme
uri_scheme = urllib.parse.urlparse(uri).scheme
backend = self.backends.with_playlists.get(uri_scheme, None)
if not backend:
return None # TODO: error reporting to user
@ -229,7 +229,7 @@ class PlaylistsController(object):
:type uri: string
:rtype: :class:`mopidy.models.Playlist` or :class:`None`
"""
uri_scheme = urlparse.urlparse(uri).scheme
uri_scheme = urllib.parse.urlparse(uri).scheme
backend = self.backends.with_playlists.get(uri_scheme, None)
if not backend:
return None
@ -303,7 +303,7 @@ class PlaylistsController(object):
if playlist.uri is None:
return # TODO: log this problem?
uri_scheme = urlparse.urlparse(playlist.uri).scheme
uri_scheme = urllib.parse.urlparse(playlist.uri).scheme
backend = self.backends.with_playlists.get(uri_scheme, None)
if not backend:
return None

View File

@ -1,7 +1,6 @@
from __future__ import absolute_import, unicode_literals
import urlparse
from mopidy.compat import urllib
from mopidy.internal import deprecation
from mopidy.mpd import exceptions, protocol, translator
@ -25,7 +24,7 @@ def add(context, uri):
# If we have an URI just try and add it directly without bothering with
# jumping through browse...
if urlparse.urlparse(uri).scheme != '':
if urllib.parse.urlparse(uri).scheme != '':
if context.core.tracklist.add(uris=[uri]).get():
return

View File

@ -2,9 +2,9 @@ from __future__ import absolute_import, division, unicode_literals
import datetime
import logging
import urlparse
import warnings
from mopidy.compat import urllib
from mopidy.mpd import exceptions, protocol, translator
logger = logging.getLogger(__name__)
@ -170,8 +170,8 @@ def playlistadd(context, name, track_uri):
tracks=list(old_playlist.tracks) + new_tracks)
saved_playlist = context.core.playlists.save(new_playlist).get()
if saved_playlist is None:
playlist_scheme = urlparse.urlparse(old_playlist.uri).scheme
uri_scheme = urlparse.urlparse(track_uri).scheme
playlist_scheme = urllib.parse.urlparse(old_playlist.uri).scheme
uri_scheme = urllib.parse.urlparse(track_uri).scheme
raise exceptions.MpdInvalidTrackForPlaylist(
playlist_scheme, uri_scheme)
@ -180,7 +180,7 @@ def _create_playlist(context, name, tracks):
"""
Creates new playlist using backend appropriate for the given tracks
"""
uri_schemes = set([urlparse.urlparse(t.uri).scheme for t in tracks])
uri_schemes = set([urllib.parse.urlparse(t.uri).scheme for t in tracks])
for scheme in uri_schemes:
new_playlist = context.core.playlists.create(name, scheme).get()
if new_playlist is None:
@ -204,7 +204,7 @@ def _create_playlist(context, name, tracks):
new_playlist = new_playlist.replace(tracks=tracks)
saved_playlist = context.core.playlists.save(new_playlist).get()
if saved_playlist is None:
uri_scheme = urlparse.urlparse(new_playlist.uri).scheme
uri_scheme = urllib.parse.urlparse(new_playlist.uri).scheme
raise exceptions.MpdFailedToSavePlaylist(uri_scheme)
@ -227,7 +227,8 @@ def playlistclear(context, name):
# Just replace tracks with empty list and save
playlist = playlist.replace(tracks=[])
if context.core.playlists.save(playlist).get() is None:
raise exceptions.MpdFailedToSavePlaylist(urlparse.urlparse(uri).scheme)
raise exceptions.MpdFailedToSavePlaylist(
urllib.parse.urlparse(uri).scheme)
@protocol.commands.add('playlistdelete', songpos=protocol.UINT)
@ -252,7 +253,8 @@ def playlistdelete(context, name, songpos):
playlist = playlist.replace(tracks=tracks)
saved_playlist = context.core.playlists.save(playlist).get()
if saved_playlist is None:
raise exceptions.MpdFailedToSavePlaylist(urlparse.urlparse(uri).scheme)
raise exceptions.MpdFailedToSavePlaylist(
urllib.parse.urlparse(uri).scheme)
@protocol.commands.add(
@ -288,7 +290,8 @@ def playlistmove(context, name, from_pos, to_pos):
playlist = playlist.replace(tracks=tracks)
saved_playlist = context.core.playlists.save(playlist).get()
if saved_playlist is None:
raise exceptions.MpdFailedToSavePlaylist(urlparse.urlparse(uri).scheme)
raise exceptions.MpdFailedToSavePlaylist(
urllib.parse.urlparse(uri).scheme)
@protocol.commands.add('rename')
@ -301,7 +304,7 @@ def rename(context, old_name, new_name):
Renames the playlist ``NAME.m3u`` to ``NEW_NAME.m3u``.
"""
uri = context.lookup_playlist_uri_from_name(old_name)
uri_scheme = urlparse.urlparse(uri).scheme
uri_scheme = urllib.parse.urlparse(uri).scheme
old_playlist = uri is not None and context.core.playlists.lookup(uri).get()
if not old_playlist:
raise exceptions.MpdNoExistError('No such playlist')
@ -350,4 +353,4 @@ def save(context, name):
saved_playlist = context.core.playlists.save(new_playlist).get()
if saved_playlist is None:
raise exceptions.MpdFailedToSavePlaylist(
urlparse.urlparse(uri).scheme)
urllib.parse.urlparse(uri).scheme)

View File

@ -4,12 +4,12 @@ import fnmatch
import logging
import re
import time
import urlparse
import pykka
from mopidy import audio as audio_lib, backend, exceptions, stream
from mopidy.audio import scan, utils
from mopidy.compat import urllib
from mopidy.internal import http, playlists
from mopidy.models import Track
@ -51,7 +51,7 @@ class StreamLibraryProvider(backend.LibraryProvider):
r'^(%s)$' % '|'.join(fnmatch.translate(u) for u in blacklist))
def lookup(self, uri):
if urlparse.urlsplit(uri).scheme not in self.backend.uri_schemes:
if urllib.parse.urlsplit(uri).scheme not in self.backend.uri_schemes:
return []
if self._blacklist_re.match(uri):