Add method EventHandlerBase.cleanup()

This commit is contained in:
Kristóf Tóth 2018-02-13 15:38:46 +01:00
parent fd029dbfe7
commit 1d47ca5684
3 changed files with 13 additions and 4 deletions

View File

@ -58,7 +58,7 @@ class SourceCodeEventHandler(EventHandlerBase, SupervisorMixin):
}
self.monitor = DirectoryMonitor(directory)
self.monitor.watch() # This runs on a separate thread TODO: when to call stop()?
self.monitor.watch() # This runs on a separate thread
def read(self, data):
try: data['content'] = self.filemanager.file_contents
@ -89,6 +89,9 @@ class SourceCodeEventHandler(EventHandlerBase, SupervisorMixin):
self.attach_fileinfo(data)
return data_json
def cleanup(self):
self.monitor.stop()
def map_file_extension_to_language(filename):
language_map = {

View File

@ -23,6 +23,9 @@ class EventHandlerBase:
def handle_reset(self, data_json):
return None
def cleanup(self):
pass
def message_other(self, anchor, data):
message = {
'anchor': anchor,

View File

@ -6,6 +6,9 @@ from tfw.config import tfwenv
if __name__ == '__main__':
anchor_webide = SourceCodeEventHandler('anchor_webide', tfwenv.WEBIDE_WD, 'login')
anchor_terminado = TerminadoEventHandler('anchor_terminado', 'terminado')
IOLoop.instance().start()
eventhandlers = {SourceCodeEventHandler('anchor_webide', tfwenv.WEBIDE_WD, 'login'),
TerminadoEventHandler('anchor_terminado', 'terminado')}
try:
IOLoop.instance().start()
finally:
for eh in eventhandlers: eh.cleanup()