from time import clock
start_time = clock()
+title_done = False
import cgi, sys, os, re, errno, stat
url_re = re.compile(r"^[a-z]{3,8}://[^\s'\"]+\S$")
ext_re = re.compile(r"\.([^\./]+)$")
-title_done = False
-
# CGI stuff ---------------------------------------------------------
def script_name():
return os.environ.get('SCRIPT_NAME', '')
return re.sub(' ', '-', re.sub('[^a-z0-9_ ]', '', s.lower()).strip())
def humanlink(s):
- return re.compile('([^:/\.]+)(?:\.[^/:]+|)$').search(s).group(1).replace('_', ' ')
+ return re.search('([^:/\.]+)(?:\.[^/:]+|)$', s).group(1).replace('_', ' ')
# Split arg lists like "blah| blah blah| width=100 | align = center",
# return a list containing anonymous arguments and a map containing the named arguments
print_search_stats(len(hits), len(all_pages))
def handle_titlesearch(query, form):
- # TODO: check needle is legal -- but probably we can just accept any RE
needle = form['q'].value
send_title(None, 'Title search for "' + needle + '"')
name = args.pop(0)
if len(args):
descr = args.pop(0)
- # The "extthumb" nonsense works around a limitation of the HTML block model
- return '<div class="extthumb"><div class="thumb">' \
+ # This double div nonsense works around a limitation of the HTML block model
+ return '<div class="' + kvargs.get('class', 'thumb') + '">' \
+ + '<div class="innerthumb">' \
+ link_inline(name, descr, kvargs) \
+ '<div class="caption">' + descr + '</div></div></div>'
else:
for filename in page_list(self._filename(), file_re):
if img_re.match(filename):
if image_maxwidth:
- maxwidth_arg = '|maxwidth=' + str(image_maxwidth)
- out += '{{' + self.page_name + '/' + filename + '|' + humanlink(filename) + maxwidth_arg + '}}\n'
+ maxwidth_arg = ' | maxwidth=' + str(image_maxwidth)
+ out += '{{' + self.page_name + '/' + filename + ' | ' + humanlink(filename) + maxwidth_arg + ' | class=thumbleft}}\n'
else:
out += ' * [[' + self.page_name + '/' + filename + ']]\n'
return out