trytond-aeat_sii/tools.py

27 lines
737 B
Python
Raw Normal View History

# -*- coding: utf-8 -*-
# The COPYRIGHT file at the top level of this repository contains the full
# copyright notices and license terms.
import unicodedata
2018-01-18 17:08:54 +01:00
src_chars = u"/*+?¿!$[]{}@#`^:;<>=~%\\"
dst_chars = u"________________________"
def normalize(text):
if isinstance(text, unicode):
text = text.encode('utf-8')
return text
2018-01-18 17:08:54 +01:00
def unaccent(text):
2018-01-18 17:08:54 +01:00
if isinstance(text, bytes):
text = unicode(text, 'utf-8')
output = text
for c in xrange(len(src_chars)):
if c >= len(dst_chars):
break
output = output.replace(src_chars[c], dst_chars[c])
output = unicodedata.normalize('NFKD', output).encode('ASCII',
'ignore')
return output.strip('_').encode('utf-8')