Chromium Code Reviews| Index: tools/chrome_extensions/open_my_editor/omed.py |
| diff --git a/tools/chrome_extensions/open_my_editor/omed.py b/tools/chrome_extensions/open_my_editor/omed.py |
| new file mode 100755 |
| index 0000000000000000000000000000000000000000..be3d26b9713dfcbaf1a428a6096484c919898fcf |
| --- /dev/null |
| +++ b/tools/chrome_extensions/open_my_editor/omed.py |
| @@ -0,0 +1,61 @@ |
| +#!/usr/bin/env python3 |
|
Nico
2017/03/02 15:47:11
same here
|
| +# |
| +# Copyright 2017 The Chromium Authors. All rights reserved. |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| +''' |
| +Http Server handle file open request |
| +''' |
| + |
| +from bottle import Bottle, install, get, response, request, run |
| +import logging |
| +import sys |
| +import sh |
| + |
| +logfile = "/tmp/omed.log" |
| +# Get it a path for log |
| +if len(sys.argv) == 2: |
| + logfile = sys.argv[1] |
| + |
| +logging.basicConfig(filename=logfile, level=logging.INFO) |
| +logger = logging.getLogger('omed') |
| + |
| + |
| +def log(func): |
| + |
| + def wrapper(*args, **kwargs): |
| + logger.info( |
| + '%s %s %s %s' % |
| + (request.remote_addr, request.method, request.url, response.status)) |
| + |
| + req = func(*args, **kwargs) |
| + return req |
| + |
| + return wrapper |
| + |
| + |
| +install(log) |
| + |
| + |
| +@get('/file') |
| +def open_file(): |
| + filepath = request.query.f |
| + line = request.query.l |
| + |
| + logger.info("open file: " + filepath + ":" + line) |
| + |
| + sh.myeditor("-f", filepath, "-l", line) |
| + return |
| + |
| + |
| +@get('/files') |
| +def open_files(): |
| + filepaths = request.query.f |
| + |
| + logger.info("open files: " + filepaths) |
| + |
| + sh.myeditor("-m", filepaths) |
| + return |
| + |
| + |
| +run(port=8989, host='127.0.0.1') |