Exemple #1
0
def main():
    parser = ArgumentParser()
    parser.add_argument("--standalone", action="store_true")
    parser.add_argument("--debug", action="store_true")
    opts = parser.parse_args()
    if opts.standalone:
        Control.STANDALONE = True
    if opts.debug:
        Control.logger.setLevel(logging.DEBUG)
    try:
        request = WebService.Request(Control.STANDALONE, Control.logger)
        if request.logLevel > 1:
            Control.logger.setLevel(logging.DEBUG)
        Control.logger.info("%s request from %s", request.type, request.client)
        Control.logger.debug("Request body:\n%s", request.message)
        if request.type == "Ticket":
            response = check_ticket(Ticket(request.doc))
        elif request.type == "Manifest":
            response = make_delta(Manifest(request.doc))
        else:
            error = "Don't understand %r" % request.type
            response = WebService.ErrorResponse(error, Control.logger)
    except Exception as e:
        response = WebService.ErrorResponse(str(e), Control.logger)
    Control.logger.debug("Response:\n%s\n", response.body)
    if Control.STANDALONE:
        sys.stdout.write(response.body)
    else:
        response.send()