Moved start to Server, added start and stop methods and removed arbitrary start requirement
This commit is contained in:
parent
886840d8a7
commit
615865234d
1 changed files with 7 additions and 6 deletions
|
@ -1,6 +1,5 @@
|
||||||
BROADCAST = 0
|
BROADCAST = 0
|
||||||
ROUTE = 1
|
ROUTE = 1
|
||||||
LAST_STOP = 2
|
|
||||||
|
|
||||||
class InvalidRouteSetup(AttributeError):
|
class InvalidRouteSetup(AttributeError):
|
||||||
def __init__(self, msg):
|
def __init__(self, msg):
|
||||||
|
@ -16,6 +15,13 @@ class ServerRoute:
|
||||||
def run(self, data, handler):
|
def run(self, data, handler):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def start(self, handler):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def stop(self, handler):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class ClientRoute:
|
class ClientRoute:
|
||||||
def run(self, data, handler):
|
def run(self, data, handler):
|
||||||
pass
|
pass
|
||||||
|
@ -30,14 +36,9 @@ def create_routes(routes, handler):
|
||||||
for prefix in routes:
|
for prefix in routes:
|
||||||
attrs = dir(routes[prefix])
|
attrs = dir(routes[prefix])
|
||||||
if "REQUIRED" in attrs:
|
if "REQUIRED" in attrs:
|
||||||
if not "start" in attrs:
|
|
||||||
raise InvalidRouteSetup("method named 'start' required if 'REQUIRE' is defined")
|
|
||||||
for required in type(routes[prefix]).REQUIRED:
|
for required in type(routes[prefix]).REQUIRED:
|
||||||
if required == BROADCAST:
|
if required == BROADCAST:
|
||||||
routes[prefix].broadcast = handler.broadcast
|
routes[prefix].broadcast = handler.broadcast
|
||||||
elif required == ROUTE:
|
elif required == ROUTE:
|
||||||
routes[prefix].route = reverse_routes[routes[prefix]]
|
routes[prefix].route = reverse_routes[routes[prefix]]
|
||||||
elif required == LAST_STOP:
|
|
||||||
routes[prefix].last_stop = handler.last_stop
|
|
||||||
routes[prefix].start()
|
|
||||||
return routes
|
return routes
|
Reference in a new issue