forked from Dniel97/artemis
change to using txroutes
This commit is contained in:
21
index.py
21
index.py
@ -6,6 +6,7 @@ from core import *
|
||||
|
||||
from twisted.web import server
|
||||
from twisted.internet import reactor, endpoints
|
||||
from txroutes import Dispatcher
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description="ARTEMiS main entry point")
|
||||
@ -26,14 +27,14 @@ if __name__ == "__main__":
|
||||
print(f"Log directory {cfg.server.log_dir} NOT writable, please check permissions")
|
||||
exit(1)
|
||||
|
||||
if cfg.aimedb.key == "":
|
||||
if not cfg.aimedb.key:
|
||||
print("!!AIMEDB KEY BLANK, SET KEY IN CORE.YAML!!")
|
||||
exit(1)
|
||||
|
||||
print(f"ARTEMiS starting in {'develop' if cfg.server.is_develop else 'production'} mode")
|
||||
|
||||
allnet_server_str = f"tcp:{cfg.allnet.port}:interface={cfg.server.listen_address}"
|
||||
title_server_str = f"tcp:{cfg.billing.port}:interface={cfg.server.listen_address}"
|
||||
title_server_str = f"tcp:{cfg.title.port}:interface={cfg.server.listen_address}"
|
||||
adb_server_str = f"tcp:{cfg.aimedb.port}:interface={cfg.server.listen_address}"
|
||||
|
||||
billing_server_str = f"tcp:{cfg.billing.port}:interface={cfg.server.listen_address}"
|
||||
@ -41,13 +42,23 @@ if __name__ == "__main__":
|
||||
billing_server_str = f"ssl:{cfg.billing.port}:interface={cfg.server.listen_address}"\
|
||||
f":privateKey={cfg.billing.ssl_key}:certKey={cfg.billing.ssl_cert}"
|
||||
|
||||
endpoints.serverFromString(reactor, allnet_server_str).listen(server.Site(AllnetServlet(cfg, args.config)))
|
||||
allnet_cls = AllnetServlet(cfg, args.config)
|
||||
title_cls = TitleServlet(cfg, args.config)
|
||||
|
||||
dispatcher = Dispatcher()
|
||||
dispatcher.connect('allnet_poweron', '/sys/servlet/PowerOn', allnet_cls, action='handle_poweron', conditions=dict(method=['POST']))
|
||||
dispatcher.connect('allnet_downloadorder', '/sys/servlet/DownloadOrder', allnet_cls, action='handle_dlorder', conditions=dict(method=['POST']))
|
||||
dispatcher.connect('allnet_billing', '/request', allnet_cls, action='handle_billing_request', conditions=dict(method=['POST']))
|
||||
dispatcher.connect("title_get", "/{game}/{version}/{endpoint}", title_cls, action="handle_GET", conditions=dict(method=['GET']))
|
||||
dispatcher.connect("title_post", "/{game}/{version}/{endpoint}", title_cls, action="handle_POST", conditions=dict(method=['POST']))
|
||||
|
||||
endpoints.serverFromString(reactor, allnet_server_str).listen(server.Site(dispatcher))
|
||||
endpoints.serverFromString(reactor, adb_server_str).listen(AimedbFactory(cfg))
|
||||
|
||||
if cfg.billing.port > 0:
|
||||
endpoints.serverFromString(reactor, billing_server_str).listen(server.Site(BillingServlet(cfg)))
|
||||
endpoints.serverFromString(reactor, billing_server_str).listen(server.Site(dispatcher))
|
||||
|
||||
if cfg.title.port > 0:
|
||||
endpoints.serverFromString(reactor, title_server_str).listen(server.Site(TitleServlet(cfg, args.config)))
|
||||
endpoints.serverFromString(reactor, title_server_str).listen(server.Site(dispatcher))
|
||||
|
||||
reactor.run() # type: ignore
|
Reference in New Issue
Block a user