X-Git-Url: https://codewiz.org/gitweb?p=geekigeeki.git;a=blobdiff_plain;f=geekigeeki.py;h=79960d45422760c24f867238426ee76b8a905af4;hp=9d443fc6997d5cdf0c39ee774d3c91b3ade82804;hb=HEAD;hpb=799b890d2a48b494346a1334393fb7c0198b446d diff --git a/geekigeeki.py b/geekigeeki.py index 9d443fc..79960d4 100755 --- a/geekigeeki.py +++ b/geekigeeki.py @@ -20,9 +20,9 @@ title_done = False import cgi, sys, os, re, errno, stat, glob -image_ext = 'png|gif|jpg|jpeg|bmp|ico' -video_ext = "ogg|ogv|oga|webm" # 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) +image_ext = 'png|gif|jpg|jpeg|svg|bmp|ico' +video_ext = 'avi|webm|mkv|ogv' +image_re = re.compile(r".*\.(" + image_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_\.\-/ ]*)$") @@ -163,7 +163,10 @@ def link_inline(name, descr=None, kvargs={}): if not descr: descr = humanlink(name) url = relative_url(name) if video_re.match(name): - return '' % url + args = '' + if 'maxwidth' in kvargs: + args += 'width=' + kvargs['maxwidth'] + return '' % (url, args) elif image_re.match(name): return '' % (url, url + url_args(kvargs), descr) elif file_re.match(name) and not ext_re.search(name): # FIXME: this guesses a wiki page @@ -586,9 +589,9 @@ class Page: out += '[[' + pathname + '|' + dirname + ']]/' out += ' ==\n' images_out = '\n' - + for filename in page_list(self._filename(), file_re): - if image_re.match(filename): + if image_re.match(filename) or video_re.match(filename): maxwidth = config_get('image_maxwidth', '400') if maxwidth: maxwidth = ' | maxwidth=' + str(maxwidth) @@ -646,7 +649,8 @@ class Page: emit_header(name and self._mtime()) print('\n') print("