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('
')
+ # 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 = ''
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'