+# _PCHARS_DICT = dict(zip((ord(x) for x in u"ĄĆĘŁŃÓŚŻŹąćęłńóśżź "), u"ACELNOSZZacelnoszz_"))
+_PCHARS_DICT = dict(zip((ord(x) for x in u" "), u"_"))
+
+# I know this is barbaric, but I didn't find a better solution ;(
+def split_name(name):
+ parts = name.translate(_PCHARS_DICT).split('__')
+ return parts
+
+def join_name(*parts, **kwargs):
+ name = u'__'.join(p.translate(_PCHARS_DICT) for p in parts)
+ logger.info("JOIN %r -> %r", parts, name)
+ return name
+
+def normalize_name(name):
+ """
+ >>> normalize_name("gąska".decode('utf-8'))
+ u'g\u0105ska'
+ """
+ return name.translate(_PCHARS_DICT).lower()
+