X-Git-Url: https://git.tld-linux.org/?p=TLD.git;a=blobdiff_plain;f=pld-builder.new%2FPLD_Builder%2Frequest_handler_server.py;fp=pld-builder.new%2FPLD_Builder%2Frequest_handler_server.py;h=0000000000000000000000000000000000000000;hp=5c591f0f22c04f4c618153f47d69bf3bf707cec3;hb=3dc53b6865f716904ad4d02e934e04b3d4855c32;hpb=b235722fd546915a60800f2660d76f684d6f1445 diff --git a/pld-builder.new/PLD_Builder/request_handler_server.py b/pld-builder.new/PLD_Builder/request_handler_server.py deleted file mode 100644 index 5c591f0..0000000 --- a/pld-builder.new/PLD_Builder/request_handler_server.py +++ /dev/null @@ -1,192 +0,0 @@ -#!/usr/bin/python - -import socket -import string -import cgi -import time -import log -import sys -import traceback -import os -from config import config, init_conf - -from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer - -import request_handler -import path - -class MyHandler(BaseHTTPRequestHandler): - - def do_GET(self): - self.send_error(401); - - def do_POST(self): - global rootnode - try: - length = int(self.headers.getheader('content-length')) - ctype, pdict = cgi.parse_header(self.headers.getheader('content-type')) - if ctype != 'application/x-www-form-urlencoded': - log.error("request_handler_server: [%s]: 401 Unauthorized" % self.client_address[0]) - self.send_error(401) - self.end_headers() - return - - query = self.rfile.read(length) - - filename = self.headers.getheader('x-filename') - - if not request_handler.handle_request_main(query, filename = filename): - error = log.last_log(); - log.error("request_handler_server: [%s]: handle_request_main(..., %s) failed" % (self.client_address[0], filename)) - self.send_error(500, "%s: request failed. %s" % (filename, error)) - self.end_headers() - return - - self.send_response(200) - self.end_headers() - - except Exception, e: - self.send_error(500, "%s: %s" % (filename, e)) - self.end_headers() - log.error("request_handler_server: [%s]: exception: %s\n%s" % (self.client_address[0], e, traceback.format_exc())) - raise - pass - -def write_css(): - css_file = path.www_dir + "/style.css" - # skip if file exists and code is not newer - if os.path.exists(css_file) and os.stat(__file__).st_mtime < os.stat(css_file).st_mtime: - return - - # css from www.pld-linux.org wiki theme, using css usage firebug plugin to cleanup - css = """ -html { - background-color: white; - color: #5e5e5e; - font-family: Tahoma, Arial, Lucida Grande, sans-serif; - font-size: 0.75em; - line-height: 1.25em; -} - -a { - text-decoration: underline; - color: #006; -} - -a:hover { - color: #006; -} - -pre { - background: #FFF8EB; - border: 1pt solid #FFE2AB; - font-family: courier, monospace; - padding: 0.5em; - white-space: pre-wrap; - word-wrap: break-word; -} - -@media screen, projection { - html { - background-color: #f3efe3; - } - - body { - position: relative; - } - - div { - background-color: white; - margin: 10px 0px; - padding: 2px; - } - div > a { - font-weight: bold; - color: #5e5e5e; - } - div > a:hover { - color: #5e5e5e; - } - div.upgrade { - background-color: #e4f1cf; - } - div:target { - background-color: #ffffcc; - color: black; - } -} -@media print { - a { - background-color: inherit; - color: inherit; - } -} - -@media projection { - html { line-height: 1.8em; } - body, b, a, p { font-size: 22pt; } -} -""" - old_umask = os.umask(0022) - f = open(css_file, "w") - f.write(css) - f.close() - os.umask(old_umask) - -def write_js(): - js_file = path.www_dir + "/script.js" - # skip if file exists and code is not newer - if os.path.exists(js_file) and os.stat(__file__).st_mtime < os.stat(js_file).st_mtime: - return - - js = """ -// update date stamps to reflect viewers timezone -function update_tz(t) { - var el, off, dt, - collection = document.getElementsByTagName('span'); - for (off in collection) { - el = collection[off]; - if (el.id == 'tz') { - dt = new Date(el.innerHTML).toString(); - // strip timezone name, it is usually wrong when not initialized - // from TZ env, but reverse calculated from os data - dt = dt.replace(/\s+\(.+\)/, ""); - // strip "GMT" - dt = dt.replace(/GMT/, ""); - el.innerHTML = dt; - } - } -} -window.onload = update_tz; -""" - old_umask = os.umask(0022) - f = open(js_file, "w") - f.write(js) - f.close() - os.umask(old_umask) - -def main(): - write_css(); - write_js(); - socket.setdefaulttimeout(30) - try: - init_conf() - host = "" - port = config.request_handler_server_port - - try: - server = HTTPServer((host, port), MyHandler) - except Exception, e: - log.notice("request_handler_server: can't start server on [%s:%d]: %s" % (host, port, e)) - print >> sys.stderr, "ERROR: Can't start server on [%s:%d]: %s" % (host, port, e) - sys.exit(1) - - log.notice('request_handler_server: started on [%s:%d]...' % (host, port)) - server.serve_forever() - except KeyboardInterrupt: - log.notice('request_handler_server: ^C received, shutting down server') - server.socket.close() - -if __name__ == '__main__': - main() -