Refactor
This commit is contained in:
parent
181376e25a
commit
e991578ab6
|
@ -1243,7 +1243,7 @@ class _BaseObject(object):
|
||||||
# Convert any ints (or whatever) into strings
|
# Convert any ints (or whatever) into strings
|
||||||
values = map(six.text_type, self._get_params().values())
|
values = map(six.text_type, self._get_params().values())
|
||||||
|
|
||||||
return hash(self.network) + hash(six.text_type(type(self)) + casefold(
|
return hash(self.network) + hash(six.text_type(type(self)) + _casefold(
|
||||||
"".join(list(self._get_params().keys()) + list(values))))
|
"".join(list(self._get_params().keys()) + list(values))))
|
||||||
|
|
||||||
def _extract_cdata_from_request(self, method_name, tag_name, params):
|
def _extract_cdata_from_request(self, method_name, tag_name, params):
|
||||||
|
@ -1443,7 +1443,7 @@ class _Chartable(object):
|
||||||
self.ws_prefix + method, True, params)
|
self.ws_prefix + method, True, params)
|
||||||
|
|
||||||
seq = []
|
seq = []
|
||||||
for node in doc.getElementsByTagName(casefold(chart_kind)):
|
for node in doc.getElementsByTagName(_casefold(chart_kind)):
|
||||||
item = chart_type(
|
item = chart_type(
|
||||||
_extract(node, "artist"), _extract(node, "name"), self.network)
|
_extract(node, "artist"), _extract(node, "name"), self.network)
|
||||||
weight = _number(_extract(node, "playcount"))
|
weight = _number(_extract(node, "playcount"))
|
||||||
|
@ -1533,11 +1533,11 @@ class _Taggable(object):
|
||||||
tags_on_server = self.get_tags()
|
tags_on_server = self.get_tags()
|
||||||
|
|
||||||
for tag in tags_on_server:
|
for tag in tags_on_server:
|
||||||
c_old_tags.append(casefold(tag.get_name()))
|
c_old_tags.append(_casefold(tag.get_name()))
|
||||||
old_tags.append(tag.get_name())
|
old_tags.append(tag.get_name())
|
||||||
|
|
||||||
for tag in tags:
|
for tag in tags:
|
||||||
c_new_tags.append(casefold(tag))
|
c_new_tags.append(_casefold(tag))
|
||||||
new_tags.append(tag)
|
new_tags.append(tag)
|
||||||
|
|
||||||
for i in range(0, len(old_tags)):
|
for i in range(0, len(old_tags)):
|
||||||
|
@ -1668,11 +1668,10 @@ class _Opus(_BaseObject, _Taggable):
|
||||||
def __eq__(self, other):
|
def __eq__(self, other):
|
||||||
if type(self) != type(other):
|
if type(self) != type(other):
|
||||||
return False
|
return False
|
||||||
a = casefold(self.get_title())
|
return (_casefold_equal(self.get_title(),
|
||||||
b = casefold(other.get_title())
|
other.get_title()) and
|
||||||
c = casefold(self.get_artist().get_name())
|
_casefold_equal(self.get_artist().get_name(),
|
||||||
d = casefold(other.get_artist().get_name())
|
other.get_artist().get_name()))
|
||||||
return (a == b) and (c == d)
|
|
||||||
|
|
||||||
def __ne__(self, other):
|
def __ne__(self, other):
|
||||||
return not self.__eq__(other)
|
return not self.__eq__(other)
|
||||||
|
@ -1846,7 +1845,7 @@ class Artist(_BaseObject, _Taggable):
|
||||||
|
|
||||||
def __eq__(self, other):
|
def __eq__(self, other):
|
||||||
if type(self) is type(other):
|
if type(self) is type(other):
|
||||||
return casefold(self.get_name()) == casefold(other.get_name())
|
return _casefold_equal(self.get_name(), other.get_name())
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -2236,9 +2235,10 @@ class Country(_BaseObject):
|
||||||
return self.get_name()
|
return self.get_name()
|
||||||
|
|
||||||
def __eq__(self, other):
|
def __eq__(self, other):
|
||||||
return casefold(self.get_name()) == casefold(other.get_name())
|
return _casefold_equal(self.get_name(), other.get_name())
|
||||||
|
|
||||||
def __ne__(self, other):
|
def __ne__(self, other):
|
||||||
|
# TODO _casefold name?
|
||||||
return self.get_name() != other.get_name()
|
return self.get_name() != other.get_name()
|
||||||
|
|
||||||
def _get_params(self): # TODO can move to _BaseObject
|
def _get_params(self): # TODO can move to _BaseObject
|
||||||
|
@ -2320,13 +2320,13 @@ class Metro(_BaseObject):
|
||||||
return self.get_name() + ", " + self.get_country()
|
return self.get_name() + ", " + self.get_country()
|
||||||
|
|
||||||
def __eq__(self, other):
|
def __eq__(self, other):
|
||||||
return (casefold(self.get_name()) == casefold(other.get_name()) and
|
return (_casefold_equal(self.get_name(), other.get_name()) and
|
||||||
casefold(self.get_country()) == casefold(other.get_country()))
|
_casefold_equal(self.get_country(), other.get_country()))
|
||||||
|
|
||||||
def __ne__(self, other):
|
def __ne__(self, other):
|
||||||
# TODO casefold name?
|
# TODO _casefold name?
|
||||||
return (self.get_name() != other.get_name() or
|
return (self.get_name() != other.get_name() or
|
||||||
casefold(self.get_country()) != casefold(other.get_country()))
|
_casefold_not_equal(self.get_country(), other.get_country()))
|
||||||
|
|
||||||
def _get_params(self):
|
def _get_params(self):
|
||||||
return {'metro': self.get_name(), 'country': self.get_country()}
|
return {'metro': self.get_name(), 'country': self.get_country()}
|
||||||
|
@ -2802,10 +2802,10 @@ class Tag(_BaseObject, _Chartable):
|
||||||
return self.get_name()
|
return self.get_name()
|
||||||
|
|
||||||
def __eq__(self, other):
|
def __eq__(self, other):
|
||||||
return casefold(self.get_name()) == casefold(other.get_name())
|
return _casefold_equal(self.get_name(), other.get_name())
|
||||||
|
|
||||||
def __ne__(self, other):
|
def __ne__(self, other):
|
||||||
return casefold(self.get_name()) != casefold(other.get_name())
|
return _casefold_not_equal(self.get_name(), other.get_name())
|
||||||
|
|
||||||
def _get_params(self):
|
def _get_params(self):
|
||||||
return {self.ws_prefix: self.get_name()}
|
return {self.ws_prefix: self.get_name()}
|
||||||
|
@ -3026,9 +3026,10 @@ class Group(_BaseObject, _Chartable):
|
||||||
return self.get_name()
|
return self.get_name()
|
||||||
|
|
||||||
def __eq__(self, other):
|
def __eq__(self, other):
|
||||||
return casefold(self.get_name()) == casefold(other.get_name())
|
return _casefold_equal(self.get_name(), other.get_name())
|
||||||
|
|
||||||
def __ne__(self, other):
|
def __ne__(self, other):
|
||||||
|
# TODO _casefold name?
|
||||||
return self.get_name() != other.get_name()
|
return self.get_name() != other.get_name()
|
||||||
|
|
||||||
def _get_params(self):
|
def _get_params(self):
|
||||||
|
@ -4123,7 +4124,7 @@ def _extract_events_from_doc(doc, network):
|
||||||
def _url_safe(text):
|
def _url_safe(text):
|
||||||
"""Does all kinds of tricks on a text to make it safe to use in a url."""
|
"""Does all kinds of tricks on a text to make it safe to use in a url."""
|
||||||
|
|
||||||
return casefold(url_quote_plus(url_quote_plus(_string(text))))
|
return _casefold(url_quote_plus(url_quote_plus(_string(text))))
|
||||||
|
|
||||||
|
|
||||||
def _number(string):
|
def _number(string):
|
||||||
|
@ -4154,15 +4155,25 @@ def _unescape_htmlentity(string):
|
||||||
return string
|
return string
|
||||||
|
|
||||||
|
|
||||||
def casefold(s):
|
def _casefold(s):
|
||||||
"""Casefold or lower a string"""
|
"""Casefold or lower text for caseless comparison"""
|
||||||
try:
|
try:
|
||||||
# casefold new in Python 3.3
|
# casefold new in Python 3.3
|
||||||
return s.casefold()
|
return s._casefold()
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
return s.lower()
|
return s.lower()
|
||||||
|
|
||||||
|
|
||||||
|
def _casefold_equal(a, b):
|
||||||
|
"""Casefolded comparison"""
|
||||||
|
return _casefold(a) == _casefold(b)
|
||||||
|
|
||||||
|
|
||||||
|
def _casefold_not_equal(a, b):
|
||||||
|
"""Casefolded comparison"""
|
||||||
|
return _casefold(a) != _casefold(b)
|
||||||
|
|
||||||
|
|
||||||
def extract_items(top_items_or_library_items):
|
def extract_items(top_items_or_library_items):
|
||||||
"""
|
"""
|
||||||
Extracts a sequence of items from a sequence of TopItem or
|
Extracts a sequence of items from a sequence of TopItem or
|
||||||
|
|
Loading…
Reference in a new issue