#!/usr/bin/env python # Copyright (c) 2012 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import optparse import os import sys import time import SimpleHTTPServer import BaseHTTPServer from build import calcdeps DEFAULT_PORT = 8003 DEPS_CHECK_DELAY = 5 class Handler(SimpleHTTPServer.SimpleHTTPRequestHandler): def do_GET(self): if self.path == '/src/deps.js': current_time = time.time() if self.server.next_deps_check < current_time: self.log_message('Regenerating deps') self.server.next_deps_check = current_time + DEPS_CHECK_DELAY calcdeps.regenerate_deps() return SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self) class Server(BaseHTTPServer.HTTPServer): def __init__(self, *args, **kwargs): BaseHTTPServer.HTTPServer.__init__(self, *args, **kwargs) self.next_deps_check = -1 def Main(args): parser = optparse.OptionParser() parser.add_option('--port', action='store', type='int', default=DEFAULT_PORT, help='Port to serve from') options, args = parser.parse_args() server = Server(('', options.port), Handler) sys.stderr.write("Now running on http://localhost:%i\n" % options.port) server.serve_forever() if __name__ == '__main__': sys.exit(Main(sys.argv[1:]))