trytond-account_es_sii/tools.py

27 lines
830 B
Python
Raw Normal View History

2017-07-20 16:32:39 +02:00
# -*- coding: utf-8 -*-
# The COPYRIGHT file at the top level of this repository contains the full
# copyright notices and license terms.
import unicodedata
src_chars = """"/*+?¿!$[]{}@#`^:;<>=~%\\"""
2017-07-20 16:32:39 +02:00
src_chars = unicode(src_chars, 'iso-8859-1')
dst_chars = """________________________"""
2017-07-20 16:32:39 +02:00
dst_chars = unicode(dst_chars, 'iso-8859-1')
def normalize(text):
if isinstance(text, unicode):
text = text.encode('utf-8')
return text
def unaccent(text):
if isinstance(text, str):
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')