Add avatar
[geekigeeki.git] / geekigeeki.py
index 5abd90f3f2c72d2a49ddf0df4a9390e66a79733b..64333eaf0605d79abdc674eb9a5042fed05e5050 100755 (executable)
@@ -265,17 +265,20 @@ def make_index_key():
     return '<p><center>'+ ' | '.join(links) + '</center></p>'
 
 def page_list(dir = None, re = word_re):
-    return filter(re.match, os.listdir(dir or data_dir))
+    return sorted(filter(re.match, os.listdir(dir or data_dir)))
 
 def send_footer(name, mod_string=None):
     if globals().get('debug_cgi', False):
         cgi.print_arguments()
         cgi.print_form(form)
         cgi.print_environ()
-    print '<div id="footer"><hr />'
-    print ('<p class="copyright"><span class="benchmark">generated in %0.3fs</span>' +
-        ' by <a href="http://www.codewiz.org/wiki/GeekiGeeki">GeekiGeeki</a>' +
-        ' version %s</p>') % (clock() - start_time, __version__)
+    print '''
+<div id="footer"><hr />
+<p class="copyright">
+<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img class="license" alt="Creative Commons License" src="http://i.creativecommons.org/l/by-sa/3.0/80x15.png" /></a>
+<span class="benchmark">generated in %0.3fs</span> by <a href="http://www.codewiz.org/wiki/GeekiGeeki">GeekiGeeki</a> version %s
+</p>
+''' % (clock() - start_time, __version__)
     if mod_string:
         print '<p class="modified">last modified %s</p>' % mod_string
     print '</div></body></html>'
@@ -360,12 +363,11 @@ class WikiFormatter:
     def _hurl_repl(self, word):
         m = link_re.match(word)
         name = m.group(1)
-        if m.group(2) is None:
+        descr = m.group(2)
+        if descr is None:
             descr = name
         elif img_re.match(m.group(2)):
             descr = '<img border="0" src="' + descr + '" />'
-        else:
-            descr = m.group(2)
 
         return link_tag(name, descr, 'wikilink')
 
@@ -622,7 +624,7 @@ class Page:
                 self.attrs[m.group(1)] = m.group(2).strip()
                 #print "bernie: attrs[" + m.group(1) + "] = " + m.group(2) + "<br>\n"
         except IOError, er:
-            if er.errno != errno.ENOENT:
+            if er.errno != errno.ENOENT and er.errno != errno.EISDIR:
                 raise er
         return self.attrs
 
@@ -661,7 +663,7 @@ class Page:
         value = self.get_attr("css", None)
         if value:
             global link_urls
-            link_urls += { "stylesheet": value }
+            link_urls += [ [ "stylesheet", value ] ]
 
         send_title(self.page_name, self.split_title(),
             msg_text=self.msg_text, msg_type=self.msg_type, writable=self.can_write())