@@ -30,7 +30,8 @@ def __init__(
30
30
):
31
31
self .app = app
32
32
# Find LabThing attached to app
33
- self .labthing = current_labthing (app )
33
+ with app .app_context ():
34
+ self .labthing = current_labthing (app )
34
35
35
36
# Server properties
36
37
self .host = host
@@ -39,13 +40,13 @@ def __init__(
39
40
self .zeroconf = zeroconf
40
41
41
42
# Servers
42
- self .wsgi_server = None
43
43
self .zeroconf_server = None
44
44
self .service_info = None
45
45
self .service_infos = []
46
46
47
47
def _register_zeroconf (self ):
48
48
if self .labthing :
49
+ print (f"Registering zeroconf { self .labthing .safe_title } ._labthing._tcp.local." )
49
50
# Get list of host addresses
50
51
mdns_addresses = {
51
52
socket .inet_aton (i )
@@ -82,22 +83,16 @@ def start(self):
82
83
print (f"Running on http://{ friendlyhost } :{ self .port } (Press CTRL+C to quit)" )
83
84
84
85
# Create WSGIServer
85
- run_simple (self .host , self .port , self .app , use_debugger = self .debug , threaded = True , processes = 1 )
86
-
87
- # When server stops
88
- if self .zeroconf_server :
89
- logging .info ("Unregistering zeroconf services" )
90
- for service in self .service_infos :
91
- self .zeroconf_server .unregister_service (service )
92
- self .zeroconf_server .close ()
93
- # Stop WSGI server with timeout
94
- if self .wsgi_server :
95
- logging .info ("Shutting down WSGI server" )
96
- self .wsgi_server .stop (timeout = 5 )
97
- # Clear started event
98
- if self .started .is_set ():
99
- self .started .clear ()
100
- logging .info ("Done" )
86
+ try :
87
+ run_simple (self .host , self .port , self .app , use_debugger = self .debug , threaded = True , processes = 1 )
88
+ finally :
89
+ # When server stops
90
+ if self .zeroconf_server :
91
+ print ("Unregistering zeroconf services..." )
92
+ for service in self .service_infos :
93
+ self .zeroconf_server .unregister_service (service )
94
+ self .zeroconf_server .close ()
95
+ print ("Server stopped" )
101
96
102
97
def run (self , host = None , port = None , debug = None , zeroconf = None , ** kwargs ):
103
98
"""Starts the server allowing for runtime parameters. Designed to immitate
0 commit comments