|
@@ -33,8 +33,12 @@ import time
|
|
|
import yaml
|
|
|
|
|
|
import beewatch
|
|
|
-# import beewatch.server as beeserver
|
|
|
+import beewatch
|
|
|
import beewatch.server
|
|
|
+# import beewatch.server as beeserver
|
|
|
+import digilib.misc
|
|
|
+
|
|
|
+log = logging.getLogger(__name__+"")
|
|
|
|
|
|
parser = argparse.ArgumentParser(
|
|
|
# usage="use this to play",
|
|
@@ -85,50 +89,39 @@ group_af_family.add_argument(
|
|
|
)
|
|
|
|
|
|
args = parser.parse_args()
|
|
|
-print(args)
|
|
|
+
|
|
|
if args.debug:
|
|
|
- with open("config/logging.yaml") as f:
|
|
|
- data = f.read()
|
|
|
- config = yaml.safe_load(data)
|
|
|
- logging.config.dictConfig(config)
|
|
|
+ digilib.misc.load_files("config/logging.yaml",logging.config.dictConfig)
|
|
|
|
|
|
if args.af_family == "AF_UNIX":
|
|
|
port = None
|
|
|
elif args.af_family == "AF_INET":
|
|
|
port = args.port
|
|
|
|
|
|
+config_files = [
|
|
|
+ "config/controllers.yaml",
|
|
|
+ "config/commands.yaml",
|
|
|
+]
|
|
|
+
|
|
|
+digilib.misc.load_files(config_files,beewatch.Configure)
|
|
|
+
|
|
|
bee_server = beewatch.server.BeeWatchServer(
|
|
|
host=args.host,
|
|
|
port=args.port,
|
|
|
af_family=args.af_family,
|
|
|
)
|
|
|
-# bee_api = beeserver.BeeAPI()
|
|
|
|
|
|
-# s = mylibnetwork.Server(
|
|
|
-# host=args.host,
|
|
|
-# port=port,
|
|
|
-# handler=beeserver.ConnHandlerBeeWatch,
|
|
|
-# handler_kwargs={"bee_api":bee_api}
|
|
|
-# )
|
|
|
-
|
|
|
-bee_server.run()
|
|
|
try:
|
|
|
- while True:
|
|
|
- try:
|
|
|
- if bee_server.is_alive():
|
|
|
- bee_server.join(1)
|
|
|
- else:
|
|
|
- break
|
|
|
- except Exception as e:
|
|
|
- log.warn("an error occured, aborting")
|
|
|
- log.error(e, exc_info=True)
|
|
|
- bee_server.stop()
|
|
|
- break
|
|
|
+ bee_server.run()
|
|
|
+except Exception as e:
|
|
|
+ log.warn("an error occured, aborting")
|
|
|
+ log.error(e, exc_info=True)
|
|
|
except KeyboardInterrupt:
|
|
|
print("\r ", end="\r")
|
|
|
- logging.warn("keyboardinterrupt! aborting!")
|
|
|
- bee_server.stop()
|
|
|
-
|
|
|
+ logging.warn("KeyboardInterrupt! aborting!")
|
|
|
+finally:
|
|
|
+ # bee_server.stop()
|
|
|
+ pass
|
|
|
|
|
|
|
|
|
|
|
@@ -138,124 +131,3 @@ log = logging.getLogger(__name__+".server")
|
|
|
logc = logging.getLogger(__name__+".chat")
|
|
|
|
|
|
Notify.init("Bee Watch Server")
|
|
|
-#
|
|
|
-# class ConnHandlerBeeWatch(mylibnetwork.ConnHandlerBase):
|
|
|
-# def __init__(self, socket, addr, server, action=None):
|
|
|
-# self.status = "init"
|
|
|
-# self.super_class = super(ConnHandlerBeeWatch, self)
|
|
|
-# self.super_class.__init__(socket, addr, server)
|
|
|
-# logc.info('hey')
|
|
|
-# self.server = server
|
|
|
-# self.address = addr
|
|
|
-# self.action=action
|
|
|
-# self.command_to_function={
|
|
|
-# "set_speed":self.action.c.movement_control.set_speed,
|
|
|
-# "mod_speed":self.action.c.movement_control.change_speed,
|
|
|
-# "get_speed":self.speedcheck,
|
|
|
-# "print":self.echo,
|
|
|
-# "None":None,
|
|
|
-# }
|
|
|
-# def welcome_client(self):
|
|
|
-# self.send("this is the server speaking, hello new client!")
|
|
|
-# def handle(self, data_decoded):
|
|
|
-# data_decoded=data_decoded.strip()
|
|
|
-# logc.info("Client:"+data_decoded)
|
|
|
-# if data_decoded.find(" ") != -1:
|
|
|
-# cmd=data_decoded.split()[0]
|
|
|
-# args=data_decoded.split()[1:]
|
|
|
-# else:
|
|
|
-# cmd=data_decoded
|
|
|
-# args=()
|
|
|
-# kwargs={}
|
|
|
-# if cmd in self.command_to_function.keys():
|
|
|
-# try:
|
|
|
-# # self.respond(str(args))
|
|
|
-# self.command_to_function[cmd](respond_method=self.respond,*args)
|
|
|
-# except:
|
|
|
-# tb = traceback.format_exc()
|
|
|
-# print(tb)
|
|
|
-# self.respond(tb)
|
|
|
-# # for line in tb.split('\n'):
|
|
|
-# # self.respond(line)
|
|
|
-# # # print(line)
|
|
|
-# # # time.sleep(0.001)
|
|
|
-# # time.sleep(0.1)
|
|
|
-# # # if line != "\n"
|
|
|
-# else:
|
|
|
-# self.respond("Unknown command")
|
|
|
-# # Notify.Notification.new(
|
|
|
-# # self.address[0]+" ("+self.server.host+":"+str(self.server.port)+")",
|
|
|
-# # data_decoded
|
|
|
-# # ).show()
|
|
|
-# def echo(self,*args,**kwargs):
|
|
|
-# logc.info(str(args))
|
|
|
-# logc.info(str(kwargs))
|
|
|
-# def speedcheck(self,respond_method):
|
|
|
-# left_speed=str(self.action.c.movement_control.get_speed("left"))
|
|
|
-# right_speed=str(self.action.c.movement_control.get_speed("right"))
|
|
|
-# result = "left: "+left_speed+", right: "+right_speed
|
|
|
-# logc.info(result)
|
|
|
-# self.respond(result)
|
|
|
-# def respond(self,text,*args):
|
|
|
-# self.send(text)
|
|
|
-#
|
|
|
-# # logging.basicConfig(
|
|
|
-# # format = myLogger.fmt + " {process:^^20}",
|
|
|
-# # datefmt = myLogger.datefmt,
|
|
|
-# # style = "{",
|
|
|
-# # level = logging.DEBUG,
|
|
|
-# # handlers = [
|
|
|
-# # myLogger.logHandler_console,
|
|
|
-# # ]
|
|
|
-# # )
|
|
|
-# # logger_server = logging.getLogger("server")
|
|
|
-# # logger_server.propagate = False
|
|
|
-# # logHandler_server_file = logging.handlers.WatchedFileHandler(filename="logs/server.log")
|
|
|
-# # logHandler_server_file.setFormatter(myLogger.logFormatter)
|
|
|
-# # logHandler_server_file.setLevel(level=logging.DEBUG)
|
|
|
-# # logger_server.addHandler(myLogger.logHandler_console)
|
|
|
-# # logger_server.addHandler(logHandler_server_file)
|
|
|
-# # logger_beewatch = logging.getLogger("BeeWatch")
|
|
|
-# # logger_beewatch.propagate = False
|
|
|
-# # logHandler_beewatch_file = logging.handlers.WatchedFileHandler(filename="logs/beeserver.log")
|
|
|
-# # logHandler_beewatch_file.setFormatter(myLogger.logFormatter)
|
|
|
-# # logHandler_beewatch_file.setLevel(level=logging.DEBUG)
|
|
|
-# # logger_beewatch.addHandler(myLogger.logHandler_console)
|
|
|
-# # logger_beewatch.addHandler(logHandler_beewatch_file)
|
|
|
-#
|
|
|
-#
|
|
|
-# action=beeserver.BoatAction()
|
|
|
-# boat_movement=beeserver.BoatMovement(action.boat_api)
|
|
|
-# action.add_component("movement_control",boat_movement)
|
|
|
-# # engine_left=beeserver.Engine(logger_beewatch,action,{"name":"engine_left"})
|
|
|
-# # engine_right=beeserver.Engine(logger_beewatch,action,{"name":"engine_right"})
|
|
|
-# # action.add_component("engine_left",engine_left)
|
|
|
-# # action.add_component("engine_right",engine_right)
|
|
|
-# argv_dict = dict(zip(range(0,len(sys.argv)),sys.argv))
|
|
|
-# port = argv_dict.get(2,None)
|
|
|
-# if port != None:
|
|
|
-# port = int(port)
|
|
|
-# s = mylibnetwork.Server(
|
|
|
-# host=sys.argv[1],
|
|
|
-# port=port,
|
|
|
-# handler=ConnHandlerBeeWatch,
|
|
|
-# handler_kwargs={"action":action}
|
|
|
-# )
|
|
|
-# bee_server.run()
|
|
|
-# while True:
|
|
|
-# try:
|
|
|
-# # print("".join(myLogger.list_stream))
|
|
|
-# if bee_server.is_alive():
|
|
|
-# bee_server.join(1)
|
|
|
-# else:
|
|
|
-# break
|
|
|
-# except KeyboardInterrupt:
|
|
|
-# print("\r ", end="\r")
|
|
|
-# logging.warn("keyboardinterrupt! aborting!")
|
|
|
-# bee_server.stop()
|
|
|
-# break
|
|
|
-# except Exception as e:
|
|
|
-# log.warn("an error occured, aborting")
|
|
|
-# log.error(e, exc_info=True)
|
|
|
-# bee_server.stop()
|
|
|
-# break
|