refactor: Move main function into cli entrypoint
This commit is contained in:
parent
3194b53d13
commit
ed5d6477d8
@ -1,4 +1,9 @@
|
|||||||
import sys
|
import sys
|
||||||
|
import logging
|
||||||
|
|
||||||
|
from ankisyncd.sync_app import SyncApp
|
||||||
|
|
||||||
|
logger = logging.getLogger("ankisyncd")
|
||||||
|
|
||||||
if __package__ is None and not hasattr(sys, "frozen"):
|
if __package__ is None and not hasattr(sys, "frozen"):
|
||||||
import os.path
|
import os.path
|
||||||
@ -6,7 +11,48 @@ if __package__ is None and not hasattr(sys, "frozen"):
|
|||||||
path = os.path.realpath(os.path.abspath(__file__))
|
path = os.path.realpath(os.path.abspath(__file__))
|
||||||
sys.path.insert(0, os.path.dirname(os.path.dirname(path)))
|
sys.path.insert(0, os.path.dirname(os.path.dirname(path)))
|
||||||
|
|
||||||
import ankisyncd.sync_app
|
|
||||||
|
def main():
|
||||||
|
logging.basicConfig(
|
||||||
|
level=logging.INFO, format="[%(asctime)s]:%(levelname)s:%(name)s:%(message)s"
|
||||||
|
)
|
||||||
|
import ankisyncd
|
||||||
|
|
||||||
|
logger.info(
|
||||||
|
"ankisyncd {} ({})".format(ankisyncd._get_version(), ankisyncd._homepage)
|
||||||
|
)
|
||||||
|
from wsgiref.simple_server import make_server, WSGIRequestHandler
|
||||||
|
from ankisyncd.thread import shutdown
|
||||||
|
import ankisyncd.config
|
||||||
|
|
||||||
|
class RequestHandler(WSGIRequestHandler):
|
||||||
|
logger = logging.getLogger("ankisyncd.http")
|
||||||
|
|
||||||
|
def log_error(self, format, *args):
|
||||||
|
self.logger.error("%s %s", self.address_string(), format % args)
|
||||||
|
|
||||||
|
def log_message(self, format, *args):
|
||||||
|
self.logger.info("%s %s", self.address_string(), format % args)
|
||||||
|
|
||||||
|
if len(sys.argv) > 1:
|
||||||
|
# backwards compat
|
||||||
|
config = ankisyncd.config.load(sys.argv[1])
|
||||||
|
else:
|
||||||
|
config = ankisyncd.config.load()
|
||||||
|
|
||||||
|
ankiserver = SyncApp(config)
|
||||||
|
httpd = make_server(
|
||||||
|
config["host"], int(config["port"]), ankiserver, handler_class=RequestHandler
|
||||||
|
)
|
||||||
|
|
||||||
|
try:
|
||||||
|
logger.info("Serving HTTP on {} port {}...".format(*httpd.server_address))
|
||||||
|
httpd.serve_forever()
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
logger.info("Exiting...")
|
||||||
|
finally:
|
||||||
|
shutdown()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
ankisyncd.sync_app.main()
|
main()
|
||||||
|
|||||||
@ -809,49 +809,3 @@ class SyncApp:
|
|||||||
|
|
||||||
def make_app(global_conf, **local_conf):
|
def make_app(global_conf, **local_conf):
|
||||||
return SyncApp(**local_conf)
|
return SyncApp(**local_conf)
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
logging.basicConfig(
|
|
||||||
level=logging.INFO, format="[%(asctime)s]:%(levelname)s:%(name)s:%(message)s"
|
|
||||||
)
|
|
||||||
import ankisyncd
|
|
||||||
|
|
||||||
logger.info(
|
|
||||||
"ankisyncd {} ({})".format(ankisyncd._get_version(), ankisyncd._homepage)
|
|
||||||
)
|
|
||||||
from wsgiref.simple_server import make_server, WSGIRequestHandler
|
|
||||||
from ankisyncd.thread import shutdown
|
|
||||||
import ankisyncd.config
|
|
||||||
|
|
||||||
class RequestHandler(WSGIRequestHandler):
|
|
||||||
logger = logging.getLogger("ankisyncd.http")
|
|
||||||
|
|
||||||
def log_error(self, format, *args):
|
|
||||||
self.logger.error("%s %s", self.address_string(), format % args)
|
|
||||||
|
|
||||||
def log_message(self, format, *args):
|
|
||||||
self.logger.info("%s %s", self.address_string(), format % args)
|
|
||||||
|
|
||||||
if len(sys.argv) > 1:
|
|
||||||
# backwards compat
|
|
||||||
config = ankisyncd.config.load(sys.argv[1])
|
|
||||||
else:
|
|
||||||
config = ankisyncd.config.load()
|
|
||||||
|
|
||||||
ankiserver = SyncApp(config)
|
|
||||||
httpd = make_server(
|
|
||||||
config["host"], int(config["port"]), ankiserver, handler_class=RequestHandler
|
|
||||||
)
|
|
||||||
|
|
||||||
try:
|
|
||||||
logger.info("Serving HTTP on {} port {}...".format(*httpd.server_address))
|
|
||||||
httpd.serve_forever()
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
logger.info("Exiting...")
|
|
||||||
finally:
|
|
||||||
shutdown()
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user