# -*- coding: utf-8 -*-

# 好

###################################################################################################

import sys
import json
import traceback
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer

###################################################################################################

sys.dont_write_bytecode = True

###################################################################################################

server_config_file_path = 'server-config.json'
if len(sys.argv) == 2:
  server_config_file_path = sys.argv[1]

###################################################################################################

config = {}
with open(server_config_file_path, 'r') as server_config_file:
  config = json.loads(server_config_file.read())

print ''
print 'using config'
print json.dumps(config, indent=1)
print ''

###################################################################################################

class Server(BaseHTTPRequestHandler):
  def do_GET(self):
    try:
      import server_handler
      reload(server_handler)
      server_handler.do_GET(self, config)
    except:
      traceback.print_exc()

print 'starting server...'
print ''

HTTPServer((config['host'], int(config['port'])), Server).serve_forever()

###################################################################################################
