From: Bernie Innocenti Date: Tue, 24 Nov 2009 18:16:59 +0000 (-0500) Subject: Merge branch 'master' of ssh://sunjammer.codewiz.org/~/wiki/git/geekigeeki X-Git-Url: https://codewiz.org/gitweb?p=geekigeeki.git;a=commitdiff_plain;h=bc824021236f6cec7008d4f4493f0a2b95ad1632;hp=-c Merge branch 'master' of ssh://sunjammer.codewiz.org/~/wiki/git/geekigeeki --- bc824021236f6cec7008d4f4493f0a2b95ad1632 diff --combined geekigeeki.py index 9d2bf9e,84cc9af..44b5131 --- a/geekigeeki.py +++ b/geekigeeki.py @@@ -1,16 -1,16 +1,16 @@@ #!/usr/bin/python # -*- coding: utf-8 -*- # - # Copyright 1999, 2000 Martin Pool - # Copyright 2002 Gerardo Poggiali - # Copyright 2007, 2008, 2009 Bernie Innocenti + # Copyright (C) 1999, 2000 Martin Pool + # Copyright (C) 2002 Gerardo Poggiali + # Copyright (C) 2007, 2008, 2009 Bernie Innocenti # # This program is free software: you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by - # the Free Software Foundation, either version 3 of the License, or - # (at your option) any later version. You should have received a copy - # of the GNU General Public License along with this program. - # If not, see . + # it under the terms of the GNU Affero General Public License as + # published by the Free Software Foundation, either version 3 of the + # License, or (at your option) any later version. + # You should have received a copy of the GNU Affero General Public License + # along with this program. If not, see . __version__ = '4.0-' + '$Id$'[4:11] @@@ -22,11 -22,11 +22,11 @@@ import cgi, sys, os, re, errno, stat, g image_ext = 'png|gif|jpg|jpeg|bmp|ico' video_ext = "ogg|ogv|oga" # Not supported by Firefox 3.5: mkv|mpg|mpeg|mp4|avi|asf|flv|wmv|qt - image_re = re.compile(r".*\.(" + image_ext + "|" + video_ext + ")", re.IGNORECASE) - video_re = re.compile(r".*\.(" + video_ext + ")", re.IGNORECASE) + image_re = re.compile(r".*\.(" + image_ext + "|" + video_ext + ")$", re.IGNORECASE) + video_re = re.compile(r".*\.(" + video_ext + ")$", re.IGNORECASE) # FIXME: we accept stuff like foo/../bar and we shouldn't - file_re = re.compile(r"([A-Za-z0-9_\-][A-Za-z0-9_\.\-/]*)") - url_re = re.compile(r"[a-z]{3,8}://[^\s'\"]+\S") + file_re = re.compile(r"([A-Za-z0-9_\-][A-Za-z0-9_\.\-/]*)$") + url_re = re.compile(r"[a-z]{3,8}://[^\s'\"]+\S$") ext_re = re.compile(r"\.([^\./]+)$") # CGI stuff --------------------------------------------------------- @@@ -127,14 -127,11 +127,11 @@@ def send_title(name, text="Limbo", msg_ global title_done if title_done: return - # Head + # HEAD emit_header(mtime) - print('') - print('') - + print('\n') print("%s: %s" % (config_get('site_name', "Unconfigured Wiki"), text)) - print(' ') + print(' ') if not name: print(' ') @@@ -157,7 -154,7 +154,7 @@@ print('') - # Body + # BODY if editable: print('') else: @@@ -166,8 -163,8 +163,8 @@@ title_done = True send_guru(msg_text, msg_type) - # Navbar - print('') def send_httperror(status="403 Not Found", query=""): print("Status: %s" % status) @@@ -205,7 -202,7 +202,7 @@@ def link_tag(dest, text=None, privilege if text is None: text = humanlink(dest) elif image_re.match(text): - text = '' + text + '' + text = '' + text + '' link_class = kvargs.get('class', kvargs.get('cssclass', None)) if not link_class: @@@ -388,7 -385,6 +385,6 @@@ class WikiFormatter ",,": ["sub", False], "''": ["em", False], # LEGACY "'''": ["b", False], # LEGACY - "``": ["tt", False], # LEGACY } def _b_repl(self, word): @@@ -552,7 -548,7 +548,7 @@@ scan_re = re.compile(r"""(?: # Styles and formatting ("--" must cling to a word to disambiguate it from the dash) - (?P \*\* | // | \#\# | __ | --\b | \b-- | \^\^ | ,, | ''' | '' | `` ) + (?P \*\* | // | \#\# | __ | --\b | \b-- | \^\^ | ,, | ''' | '' ) | (?P \={2,6}) | (?P
\\\\) | (?P ^-{3,}) @@@ -614,8 -610,8 +610,8 @@@ print('

') else: indent = indent_re.match(self.line) - #3.0: print(self._indent_to(len(indent.group(0))), end=' ') print(self._indent_to(len(indent.group(1)), indent.group(2))) + # Stand back! Here we apply the monster regex that does all the parsing print(re.sub(scan_re, self.replace, self.line)) if self.in_pre: print('') @@@ -668,7 -664,7 +664,7 @@@ class Page out = '== ' pathname = '' for dirname in self.page_name.strip('/').split('/'): - pathname = (pathname + '/' + dirname) if pathname else dirname + pathname = (pathname and pathname + '/' ) + dirname out += '[[' + pathname + '|' + dirname + ']]/' out += ' ==\n'