예제 #1
0
    def wsgi_app(self, environ, start_response):
        request = Request(environ, start_response)
        valid = True
        channel = request.args.get("channel", None)
        if not channel:
            valid = False
            text = '{"error":"Channel name is required"}'
        if valid:
            d = request.args.get("date", date.today())
            if type(d) == type("str"):
                d = datetime.date(*[int(a) for a in d.split("-")])
                if not d:
                    d = date.today()

            meta = request.args.get("meta", False)

            details = request.args.get("details", False)

            indent = request.args.get("indent", None)
            if indent:
                indent = int(indent)
            else:
                indent = 4

            text = str(parser.get_show_list(channel, d, meta, details, indent))
            if not text:
                text = '"error":"Channel name {0} seems invalid."'.format(request.args.get("channel"))
        response = Response(text, content_type="application/json; charset=utf-8")
        return response(environ, start_response)
예제 #2
0
        exit()

    if args.channel:
        import parser
        if args.indent == -1:
            indent = None
        else:
            indent = args.indent

        if args.date:
            date = date(*[int(a) for a in args.date.split('-')])
            if not date:
                raise ValueError('Invalid date')
        else:
            date = date.today()
        show_list = parser.get_show_list(args.channel, date, args.meta, args.details, indent)
        if show_list:
            print(show_list)
        else:
            print('Channel name {0} seems wrong.'.format(args.channel))
        exit()

    if args.server:
        from werkzeug.serving import run_simple
        import webapp
        app = webapp.WebApp()
        if args.port:
            port = args.port
        else:
            port = 8080