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)
评论列表
文章目录