Fix WordIndex and TitleIndex, improve HTML output
[geekigeeki.git] / geekigeeki.py
index 5bae68b43b78e972a0b1e987ee29a214130df87a..3eb4c1a32ee7d4de3bcc2008856bc8caeaaa89ba 100755 (executable)
@@ -87,13 +87,6 @@ def permalink(s):
 def emit_header(mime_type="text/html"):
     print "Content-type: " + mime_type + "; charset=utf-8\n"
 
-def sendfile(dest_file, src_file):
-    """Efficiently copy file data between file descriptors"""
-    while 1:
-        data = src_file.read(65536)
-        if not data: break
-        dest_file.write(data)
-
 def send_guru(msg_text, msg_type):
     if not msg_text: return
     print '<pre id="guru" onclick="this.style.display = \'none\'" class="' + msg_type + '">'
@@ -103,10 +96,8 @@ def send_guru(msg_text, msg_type):
     if msg_type == 'error':
         print '\n           Guru Meditation #DEADBEEF.ABADC0DE'
     print '</pre>'
-    try:
-        sendfile(sys.stdout, open('gurumeditation.js', 'rb'))
-    except IOError, err:
-        pass
+    print '<script language="JavaScript" type="text/javascript" src="%s" defer="defer"></script>' \
+        % relative_url('sys/GuruMeditation.js')
 
 def send_title(name, text="Limbo", msg_text=None, msg_type='error', writable=False):
     global title_done
@@ -296,9 +287,10 @@ def handle_edit(pagename):
             text = form['savetext'].value
         pg.send_editor(text)
 
+# Used by macros/WordIndex and macros/TitleIndex
 def make_index_key():
     links = map(lambda ch: '<a href="#%s">%s</a>' % (ch, ch), 'abcdefghijklmnopqrstuvwxyz')
-    return '<p><center>'+ ' | '.join(links) + '</center></p>'
+    return '<p style="text-align: center">'+ ' | '.join(links) + '</p>'
 
 def page_list(dirname = None, re = word_re):
     return sorted(filter(re.match, os.listdir(dirname or data_dir)))