|
6 | 6 | from os.path import getmtime, join, dirname, abspath |
7 | 7 | from os import listdir |
8 | 8 | import importlib |
9 | | -from subapis.root import RootAPIMixin |
10 | | -from common import LuaException |
11 | | - |
12 | | -from subapis.colors import ColorsAPI |
13 | | -from subapis.commands import CommandsAPI |
14 | | -from subapis.disk import DiskAPI |
15 | | -from subapis.fs import FSAPI |
16 | | -from subapis.gps import GpsAPI |
17 | | -from subapis.help import HelpAPI |
18 | | -from subapis.keys import KeysAPI |
19 | | -from subapis.multishell import MultishellAPI |
20 | | -from subapis.os import OSAPI |
21 | | -from subapis.peripheral import PeripheralAPI |
22 | | -from subapis.rednet import RednetAPI |
23 | | -from subapis.redstone import RedstoneAPI |
24 | | -from subapis.settings import SettingsAPI |
25 | | -from subapis.shell import ShellAPI |
26 | | -from subapis.term import TermAPI |
27 | | -from subapis.textutils import TextutilsAPI |
28 | | -from subapis.turtle import TurtleAPI |
29 | | -from subapis.window import WindowAPI |
| 9 | +import argparse |
| 10 | + |
| 11 | +from .subapis.root import RootAPIMixin |
| 12 | +from .errors import LuaException |
| 13 | + |
| 14 | +from .subapis.colors import ColorsAPI |
| 15 | +from .subapis.commands import CommandsAPI |
| 16 | +from .subapis.disk import DiskAPI |
| 17 | +from .subapis.fs import FSAPI |
| 18 | +from .subapis.gps import GpsAPI |
| 19 | +from .subapis.help import HelpAPI |
| 20 | +from .subapis.keys import KeysAPI |
| 21 | +from .subapis.multishell import MultishellAPI |
| 22 | +from .subapis.os import OSAPI |
| 23 | +from .subapis.peripheral import PeripheralAPI |
| 24 | +from .subapis.rednet import RednetAPI |
| 25 | +from .subapis.redstone import RedstoneAPI |
| 26 | +from .subapis.settings import SettingsAPI |
| 27 | +from .subapis.shell import ShellAPI |
| 28 | +from .subapis.term import TermAPI |
| 29 | +from .subapis.textutils import TextutilsAPI |
| 30 | +from .subapis.turtle import TurtleAPI |
| 31 | +from .subapis.window import WindowAPI |
30 | 32 |
|
31 | 33 |
|
32 | 34 | THIS_DIR = dirname(abspath(__file__)) |
@@ -202,6 +204,10 @@ async def taskresult(request): |
202 | 204 | def backdoor(request): |
203 | 205 | with open(LUA_FILE, 'r') as f: |
204 | 206 | fcont = f.read() |
| 207 | + fcont = fcont.replace( |
| 208 | + "local url = 'http://127.0.0.1:4343/'", |
| 209 | + "local url = '{}://{}/'".format(request.scheme, request.host) |
| 210 | + ) |
205 | 211 | return web.Response(text=fcont) |
206 | 212 |
|
207 | 213 |
|
@@ -236,13 +242,25 @@ def enable_request_logging(): |
236 | 242 |
|
237 | 243 | def main(): |
238 | 244 | # enable_request_logging() |
| 245 | + |
| 246 | + parser = argparse.ArgumentParser() |
| 247 | + parser.add_argument('--host') |
| 248 | + parser.add_argument('--port', type=int) |
| 249 | + args = parser.parse_args() |
| 250 | + |
| 251 | + app_kw = {} |
| 252 | + if args.host is not None: |
| 253 | + app_kw['host'] = args.host |
| 254 | + if args.port is not None: |
| 255 | + app_kw['port'] = args.port |
| 256 | + |
239 | 257 | asyncio.ensure_future(module_reloader()) |
240 | 258 | app = web.Application() |
241 | 259 | app.router.add_get('/', backdoor) |
242 | 260 | app.router.add_post('/start/{turtle}/{program}/', start) |
243 | 261 | app.router.add_post('/gettask/{turtle}/', gettask) |
244 | 262 | app.router.add_post('/taskresult/{turtle}/{task_id}/', taskresult) |
245 | | - web.run_app(app, port=4343) |
| 263 | + web.run_app(app, **app_kw) |
246 | 264 |
|
247 | 265 |
|
248 | 266 | if __name__ == '__main__': |
|
0 commit comments