#!/usr/bin/python import os, re, sys, time from xml.sax.saxutils import escape from glob import glob svgpath = '/home/rubys/public_html/svg/%s.svg' mombo = '/home/rubys/web/intertwingly.net/mombo' if mombo not in sys.path: sys.path.insert(0, mombo) cwd = os.path.abspath(os.curdir) if cwd not in sys.path: sys.path.insert(0, cwd) from config import directory, urlpath from post import param, sanitize, xmlchars from get import resize def format(content): content=sanitize(content) content=re.sub(r'\[#(\S*) (.*?)\]
', r'%s' % escape(log)}) icons = [os.path.basename(os.path.splitext(file)[0]) for file in glob(svgpath % '*')] icons.sort() from config import channel, service, __dict__ as config data={'channel':channel, 'parent':parent, 'Icons': icons, 'iconpreview': resize(iconpreview), 'iconselected':param('icon')} from postform import postform as template print template(searchList=[data, config]) if param('submit'): import daemonize, fcntl, search # complete the http request log=open(directory.web+"post.log","w") daemonize.daemonize(stdout=log.name) fcntl.flock(log.fileno(),fcntl.LOCK_EX) print search.index() fcntl.flock(log.fileno(),fcntl.LOCK_UN) log.close() except: ####################################################################### # Format tracebacks for display # ####################################################################### print 'Status: 500 Internal Error\r\nContent-type: text/html\r\n' import traceback tb = ''.join(apply(traceback.format_exception, sys.exc_info())) from xml.sax.saxutils import escape print '' print '
traceback:' + escape(tb) + '' print '' print ''