Skip to content

Commit ad4dc45

Browse files
authored
Merge pull request #45 from CherryKodi/cleantitle
refactor cleantitle.normalize in PTW
2 parents 201ee18 + e2a70c9 commit ad4dc45

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

script.module.ptw/lib/ptw/libraries/cleantitle.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,17 +72,22 @@ def query(title):
7272
return title
7373

7474

75-
def normalize(title):
75+
maketrans = lambda s1, s2: dict(zip(map(ord, s1), map(ord, s2)))
76+
unicode_translate_table = maketrans(u'ąćęłńóśźżĄĆĘŁŃÓŚŹŻ–—\u2044•„”«»', u'acelnoszzACELNOSZZ--/.""<>')
7677

78+
def normalize(title):
79+
"""Convert UTF-8 title to ASCII as well as we can."""
80+
if not isinstance(title, type(u'')):
81+
title = title.decode('utf-8')
7782
try:
78-
try: return title.decode('ascii').encode("utf-8")
79-
except: pass
80-
return str(''.join(c for c in unicodedata.normalize('NFKD', unicode(title.decode('utf-8'))) if unicodedata.category(c) != 'Mn')).replace('ł','l')
83+
title = u''.join(c for c in unicodedata.normalize('NFKD', title)
84+
if unicodedata.category(c) != 'Mn')
8185
except:
82-
title = str(title).replace('ą','a').replace('ę','e').replace('ć','c').replace('ź','z').replace('ż','z').replace('ó','o').replace('ł','l').replace('ń','n').replace('ś','s')
83-
return title
86+
pass
87+
return title.translate(unicode_translate_table).encode('ascii', 'replace')
88+
8489

8590
def clean_search_query(url):
8691
url = url.replace('-','+')
8792
url = url.replace(' ', '+')
88-
return url
93+
return url

0 commit comments

Comments
 (0)