X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=geekigeeki.py;h=494118661918794e5726000858eabe9db891023d;hb=fe9e24ac252d4e400fd800102451ff165bd179b3;hp=44b5131bb1435a0e2781f56a8583e108b52b0b75;hpb=bc824021236f6cec7008d4f4493f0a2b95ad1632;p=geekigeeki.git diff --git a/geekigeeki.py b/geekigeeki.py index 44b5131..4941186 100755 --- a/geekigeeki.py +++ b/geekigeeki.py @@ -25,7 +25,7 @@ video_ext = "ogg|ogv|oga" # Not supported by Firefox 3.5: mkv|mpg|mpeg|mp4|avi|a 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_\.\-/]*)$") +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"\.([^\./]+)$") @@ -120,7 +120,7 @@ def send_guru(msg_text, msg_type): print(cgi.escape(msg_text)) if msg_type == 'error': print '\n Guru Meditation #DEADBEEF.ABADC0DE' - print('' \ + print('' \ % relative_url('sys/GuruMeditation.js')) def send_title(name, text="Limbo", msg_text=None, msg_type='error', writable=False, mtime=None): @@ -556,8 +556,8 @@ class WikiFormatter: | (?P --) # Links - | (?P \<\<([^\s\|\>]+)(?:\s*\|\s*([^\>]+)|)\>\>) - | (?P \[\[([^\s\|]+)(?:\s*\|\s*([^\]]+)|)\]\]) + | (?P \<\<[^\>]+\>\>) + | (?P \[\[[^\]]+\]\]) # Inline HTML | (?P <(br|hr|div|span|form|iframe|input|textarea|a|img|h[1-5])\b ) @@ -573,7 +573,7 @@ class WikiFormatter: # Lists, divs, spans and inline objects | (?P
  • ^\s+[\*\#]\s+) | (?P
       \{\{\{|\s*\}\}\})
    -            | (?P   \{\{([^\s\|]+)(?:\s*\|\s*([^\]]+)|)\}\})
    +            | (?P   \{\{[^\}]+\}\})
     
                 # Tables
                 | (?P    ^\s*\|\|(=|)\s*)
    @@ -621,7 +621,7 @@ class WikiFormatter:
     
     class Page:
         def __init__(self, page_name):
    -        self.page_name = page_name
    +        self.page_name = page_name.rstrip('/');
             self.msg_text = ''
             self.msg_type = 'error'
     
    @@ -667,16 +667,17 @@ class Page:
                 pathname = (pathname and pathname + '/' ) + dirname
                 out += '[[' + pathname + '|' + dirname + ']]/'
             out += ' ==\n'
    +        images_out = '\n'
      
             for filename in page_list(self._filename(), file_re):
                 if image_re.match(filename):
                     maxwidth = config_get('image_maxwidth', '400')
                     if maxwidth:
                         maxwidth = ' | maxwidth=' + str(maxwidth)
    -                out += '{{' + self.page_name + '/' + filename + ' | ' + humanlink(filename) + maxwidth + ' | class=thumbleft}}\n'
    +                images_out += '{{' + self.page_name + '/' + filename + ' | ' + humanlink(filename) + maxwidth + ' | class=thumbleft}}\n'
                 else:
                     out += ' * [[' + self.page_name + '/' + filename + ']]\n'
    -        return out
    +        return out + images_out
     
         def pragmas(self):
             if not '_pragmas' in self.__dict__: