diff --git a/dav_submission/views.py b/dav_submission/views.py index 49f8de4..e6aeab9 100644 --- a/dav_submission/views.py +++ b/dav_submission/views.py @@ -153,10 +153,17 @@ class UploadView(generic.edit.FormView): def _sanitize_filename(self, input): max_length = None discard_chars = u'' + replace_chars = { + u'ä': u'ae', + u'ö': u'oe', + u'ü': u'ue', + u'ß': u'ss', + u'Ä': u'Ae', + u'Ö': u'Oe', + u'Ü': u'Ue', + } allowed_chars = (u'abcdefghijklmnopqrstuvwxyz' - u'äöüß' u'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - u'ÄÖÜ' u'0123456789' u'._-') non_allowed_substitute = u'_' @@ -169,6 +176,8 @@ class UploadView(generic.edit.FormView): for c in input: if c in discard_chars: continue + elif c in replace_chars: + r += replace_chars[c] elif allowed_chars is not None and c in allowed_chars: r += c elif allowed_chars is None and c.isalnum():