wsgiserver.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:gif-disco 作者: futurice 项目源码 文件源码
def main_app(env, start_response):
    """Provides following features:
    - Serves static files
    - /debug route for mobile debugging
    - /command route for interacting with computer
    """
    request_path = env['PATH_INFO']

    if request_path == '/debug':
        return debug(env, start_response)

    elif request_path == '/settings':
        return get_settings(env, start_response)

    elif request_path == '/get_gif':
        ret, stdout, stderr = run_command(settings['gifScriptCommand'])
        print('STDOUT')
        print('------')
        print(stdout)
        print('STDERR')
        print('------')
        print(stderr)

        if ret != 0:
            response = 'Error'
            start_response('500 OK', HEADERS)
            return [json.dumps(response)]

        preview_path = path.get_resource('static/img/preview.gif')
        if not os.path.isfile(preview_path):
            response = 'Error'
            start_response('500 OK', HEADERS)
            return [json.dumps(response)]

        response = 'OK'
        start_response('200 OK', HEADERS)
        return [json.dumps(response)]

    elif request_path == '/save_gif':
        directory = os.path.abspath(settings['gifsDirectory'])

        new_name = str(int(time.time())) + '.gif'
        os.rename(path.get_resource('static/img/preview.gif'),
                  path.get_resource('static/img/%s' % new_name))
        shutil.move(path.get_resource('static/img/%s' % new_name), directory)

        response = 'OK'
        start_response('200 OK', HEADERS)
        return [json.dumps(response)]

    # Serve a file if it's found.
    else:
        if request_path == '/':
            request_path = '/static/index.html'

        return file_response(request_path, start_response)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号