X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=geekigeeki.py;h=76888601650f52e137b24a9278cbf9c5c12aad04;hb=dfa7879fd3551cd71fe2977ca3146833189b90cf;hp=0a441bf5658c4de1ba72199673651ad1d7af0590;hpb=4418a51a22439df095133aef170814fabc597c55;p=geekigeeki.git diff --git a/geekigeeki.py b/geekigeeki.py index 0a441bf..7688860 100755 --- a/geekigeeki.py +++ b/geekigeeki.py @@ -137,11 +137,10 @@ def send_title(name, text="Limbo", msg_text=None, msg_type='error'): # Navbar print '' -# ---------------------------------------------------------- -# Macros +# Macros ------------------------------------------------------------ def _macro_TitleSearch(*vargs): return _macro_search("titlesearch") @@ -325,8 +323,6 @@ def _macro_TitleIndex(*vargs): s += Page(name).link_to() return s - -# ---------------------------------------------------------- class PageFormatter: """Object that turns Wiki markup into HTML. @@ -336,7 +332,7 @@ class PageFormatter: def __init__(self, raw): self.raw = raw self.h_level = 0 - self.in_pre = self.in_table = False + self.in_pre = self.in_table = self.in_li = False self.in_header = True self.list_indents = [] self.tr_cnt = 0 @@ -360,12 +356,12 @@ class PageFormatter: def _tit_repl(self, word): if self.h_level: - result = '' % self.h_level + result = '

\n' % self.h_level self.h_level = 0 else: self.h_level = len(word) - 1 abridged = re.sub('[^A-Za-z0-9_]', '', self.line).lower() - result = '¶ ' % (self.h_level, abridged, abridged) + result = '\n

¶ ' % (self.h_level, abridged, abridged) return result def _br_repl(self, word): @@ -417,7 +413,11 @@ class PageFormatter: '>': '>'}[s] def _li_repl(self, match): - return '
  • ' + if self.in_li: + return '
  • ' + else: + self.in_li = True + return '
  • ' def _pre_repl(self, word): if word == '{{{' and not self.in_pre: @@ -460,6 +460,9 @@ class PageFormatter: s = '

    ' while self._indent_level() > new_level: del(self.list_indents[-1]) + if self.in_li: + s += '
  • ' + self.in_li = False # FIXME s += '\n' while self._indent_level() < new_level: self.list_indents.append(new_level) @@ -549,7 +552,6 @@ class PageFormatter: print self._undent() print '

    ' -# ---------------------------------------------------------- class Page: def __init__(self, page_name): self.page_name = page_name @@ -614,6 +616,7 @@ class Page: return self.get_attrs().get(name, default) def can(self, action, default=True): + acl = None try: #acl SomeUser:read,write All:read acl = self.get_attr("acl", None)