X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/5780495e13ec2d55bc2dee96dec372a9ea395462..e33227021472d98ab797912e73427a9a71c5a531:/apps/wiki/models.py diff --git a/apps/wiki/models.py b/apps/wiki/models.py index d2b74605..a8a94057 100644 --- a/apps/wiki/models.py +++ b/apps/wiki/models.py @@ -15,12 +15,13 @@ from django.http import Http404 import logging logger = logging.getLogger("fnp.wiki") -_PCHARS_DICT = dict(zip((ord(x) for x in u"ĄĆĘŁŃÓŚŻŹąćęłńóśżź "), u"ACELNOSZZacelnoszz_")) + +# _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('__') - logger.info("SPLIT %r -> %r", name, parts) return parts def join_name(*parts, **kwargs): @@ -31,7 +32,7 @@ def join_name(*parts, **kwargs): def normalize_name(name): """ >>> normalize_name("gąska".decode('utf-8')) - u'gaska' + u'g\u0105ska' """ return name.translate(_PCHARS_DICT).lower() @@ -50,6 +51,10 @@ class DocumentStorage(object): text, rev = self.vstorage.page_text_by_tag(name, tag) return Document(self, name=name, text=text, revision=rev) + def revert(self, name, revision): + text, rev = self.vstorage.revert(name, revision) + return Document(self, name=name, text=text, revision=rev) + def get_or_404(self, *args, **kwargs): try: return self.get(*args, **kwargs) @@ -67,7 +72,7 @@ class DocumentStorage(object): return document def create_document(self, text, name): - title = u', '.join(p.title for p in split_name(name)) + title = u', '.join(p.title() for p in split_name(name)) if text is None: text = u''