Skip to content

Conversation

@rysson
Copy link
Collaborator

@rysson rysson commented Mar 5, 2019

Przeróbka funkcji normalizującej tytuł (UTF-8 → ASCII).
Wstawiam to co napisałem w ramach #40.

Podać można unicode jak i byte-coded string. Zwraca ASCII.
Obsługa małych i dużych liter. Plus kilka innych znaków.
Dzięki czemu mamy konwersję (zawsze można rozszerzyć unicode_translate_table jakby co):

UTF-8 ASCII
Zażółć AŁĆ Zazolc ALC
• Hit – „Česki Film «Arabela ½»” . Hit - "Ceski Film <Arabela 1/2>"
µ-film ?-film

Działa w Python2 i Python3 (choć bytes jest średnio użyteczne).

Review

Proszę o review i sprawdzenie czy działa poprawnie (testy robiłem ale sobie nie ufam).

This was referenced Mar 5, 2019
@xulek
Copy link
Collaborator

xulek commented Mar 6, 2019

tak mi się przypomina, że chyba ta funkcja kiedyś tak wyglądała do normalizacji ale implementacja pythona w Kodi na androidzie albo coreelec nie pozwalała na użycie unicodedata.normalize i sypała exceptionami. Trzeba by to sprawdzić bo nie pamiętam...

@rysson
Copy link
Collaborator Author

rysson commented Mar 7, 2019

Ale zważ, że unicodedata.normalize('NFKD'...) jest zarówno w starej jak i w nowej wersji.
Mogę ją obłożyć try-except i dodać wszystkie polskie znaczki do unicode_translate_table.

@rysson
Copy link
Collaborator Author

rysson commented Mar 7, 2019

Zmieniłem, nawet jak się unicodedata.normalize wywali, to polskie znaki będą poprawne.

@xulek
Copy link
Collaborator

xulek commented Mar 7, 2019

Tak ale właśnie w starej była obłożona exceptionami bo były jakieś problemy. @notoco może ty coś pamiętasz na ten temat, chyba kiedyś próbowaliśmy rozwiązać ten problem

@xulek xulek merged commit ad4dc45 into master Mar 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants