X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=geekigeeki.py;h=7695228a895cb33c7d9720980022aaae891a9b8a;hb=5be2755679e8f80974075153c8ec1a54434fd29b;hp=a6158a3122b41b184930bf0255664a428851858d;hpb=fef72da7c35a10fc92c098a9287683e9d71bea1d;p=geekigeeki.git diff --git a/geekigeeki.py b/geekigeeki.py index a6158a3..7695228 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. @@ -339,7 +335,7 @@ class PageFormatter: self.in_pre = self.in_table = False self.in_header = True self.list_indents = [] - self.tr_cnt = self.h_cnt = 0 + self.tr_cnt = 0 self.styles = { #wiki html enabled? "//": ["em", False], @@ -364,9 +360,8 @@ class PageFormatter: self.h_level = 0 else: self.h_level = len(word) - 1 - self.h_cnt += 1 - #abridged = re.sub('[^a-z_]', '', word.lower().replace(' ', '_')) - result = '¶ ' % (self.h_level, self.h_cnt, self.h_cnt) + abridged = re.sub('[^A-Za-z0-9_]', '', self.line).lower() + result = '¶ ' % (self.h_level, abridged, abridged) return result def _br_repl(self, word): @@ -524,33 +519,32 @@ class PageFormatter: indent_re = re.compile(r"^\s*") tr_re = re.compile(r"^\s*\|\|") eol_re = re.compile(r"\r?\n") - for line in eol_re.split(self.raw.expandtabs()): + for self.line in eol_re.split(self.raw.expandtabs()): # Skip ACLs if self.in_header: - if line.startswith('#'): + if self.line.startswith('#'): continue self.in_header = False if self.in_pre: - print re.sub(pre_re, self.replace, line) + print re.sub(pre_re, self.replace, self.line) else: - if self.in_table and not tr_re.match(line): + if self.in_table and not tr_re.match(self.line): self.in_table = False print '

' - if blank_re.match(line): + if blank_re.match(self.line): print '

' else: - indent = indent_re.match(line) + indent = indent_re.match(self.line) print self._indent_to(len(indent.group(0))) - print re.sub(scan_re, self.replace, line) + print re.sub(scan_re, self.replace, self.line) if self.in_pre: print '' if self.in_table: print '

' print self._undent() print '

' -# ---------------------------------------------------------- class Page: def __init__(self, page_name): self.page_name = page_name