Kristóf Tóth
|
43c46a7af2
|
Integrate ABC module where we have abstract classes
|
2018-03-27 17:49:32 +02:00 |
|
Kristóf Tóth
|
1982a3c869
|
Rename TFWENV and TAOENV constants to use capital letters
|
2018-03-25 16:38:39 +02:00 |
|
Kristóf Tóth
|
ec469c6b75
|
Remove unnecessary super().__init__() call
|
2018-03-25 16:38:39 +02:00 |
|
Kristóf Tóth
|
8eded8cbac
|
Make use of format string optimization in logging calls
|
2018-03-25 16:38:32 +02:00 |
|
Kristóf Tóth
|
73ed680298
|
Fix bad indentation
|
2018-03-25 16:20:49 +02:00 |
|
Kristóf Tóth
|
5c1431685e
|
Remove unnecessary __init__() call
|
2018-03-25 16:10:55 +02:00 |
|
Kristóf Tóth
|
aacdbcb0d1
|
Standardize log constant naming and declaration placement
|
2018-03-25 16:06:59 +02:00 |
|
Kristóf Tóth
|
1e2ea0ed17
|
Standardize imports: standard newline package newline tfw
|
2018-03-25 15:43:59 +02:00 |
|
Kristóf Tóth
|
abcf490019
|
Strip controller from TFW
|
2018-03-23 11:37:01 +01:00 |
|
Kristóf Tóth
|
fda242d263
|
Fix EventHandlerConnector dying painfully on keyless messages
|
2018-03-21 17:23:18 +01:00 |
|
Kristóf Tóth
|
095c818a36
|
Move @with_monitor_paused decoartor to directory_monitor.py
|
2018-03-21 17:18:16 +01:00 |
|
Kristóf Tóth
|
6e391b6b2c
|
Rename watchdog's EventHandlers to avoid confusion
|
2018-03-20 14:35:21 +01:00 |
|
Kristóf Tóth
|
c8dca5f33b
|
Change order of classes in directory_monitor.py
|
2018-03-20 14:32:27 +01:00 |
|
Kristóf Tóth
|
359e478069
|
Move DirectoryManagingEventHandler to seperate module
|
2018-03-20 14:29:14 +01:00 |
|
Kristóf Tóth
|
598cf6218a
|
Remove duplicate name from logging
|
2018-03-20 12:20:13 +01:00 |
|
Kristóf Tóth
|
6c5361846b
|
Adjust DirectoryMonitor rate limiting to filter multi-inotify events
|
2018-03-20 11:40:20 +01:00 |
|
Kristóf Tóth
|
b1f4842dc7
|
Use now fixed DirectoryMonitor.ignore property in webide
|
2018-03-20 11:39:37 +01:00 |
|
Kristóf Tóth
|
08693d3ba2
|
Fix infinite recursive property in DirectoryMonitor
|
2018-03-20 11:31:29 +01:00 |
|
Kristóf Tóth
|
222143665c
|
Implement DirManagingEH selectdir API
|
2018-03-20 09:02:05 +01:00 |
|
Kristóf Tóth
|
7b834f8f25
|
Expose DirManagingEH.directory as a property
|
2018-03-20 09:02:05 +01:00 |
|
Kristóf Tóth
|
aaaad9c459
|
Add untested DirectoryMonitoringEventHandler implementation
|
2018-03-20 09:02:05 +01:00 |
|
Kristóf Tóth
|
ccb076c885
|
Remove depecrated ioloop.install() calls
|
2018-03-15 16:11:53 +01:00 |
|
Kristóf Tóth
|
cc87540171
|
Implement SourceCodeEventHandler blacklist manipulating API
|
2018-03-15 15:54:07 +01:00 |
|
Kristóf Tóth
|
aa54e40f14
|
Refactor SourceCodeEventHandler blacklisting to use unix pattern matching
|
2018-03-15 15:50:52 +01:00 |
|
Kristóf Tóth
|
1b87863997
|
Refactor FileManager.select_file() to @filename.setter property
|
2018-03-15 12:18:39 +01:00 |
|
Kristóf Tóth
|
0ef502a680
|
Make property setup stuff in FileManager.__init__() more readable
|
2018-03-15 12:04:39 +01:00 |
|
Kristóf Tóth
|
4b8b71d967
|
Expose FileManager exclude as a property
|
2018-03-15 12:02:56 +01:00 |
|
Kristóf Tóth
|
f354fd73dc
|
Rename response -> message in ServerConnector classes
|
2018-03-14 16:11:27 +01:00 |
|
Kristóf Tóth
|
929ea905c5
|
Improve error handling in webide backend
|
2018-03-14 14:15:40 +01:00 |
|
Kristóf Tóth
|
a5d0359ab8
|
Add helper method to ServerUplinkConnector for EH -> EH communication
|
2018-03-14 14:09:30 +01:00 |
|
Kristóf Tóth
|
69f03f7615
|
Implement EventHandler command mirroring (EH -> EH communication)
|
2018-03-14 14:08:48 +01:00 |
|
Kristóf Tóth
|
3e0592c176
|
Remove Cenator :'( sorry to see you go
|
2018-03-14 09:25:42 +01:00 |
|
Kristóf Tóth
|
b955a570fd
|
Fix DirectoryMonitor.stop() raising unhandled KeyError on rm -rf workdir
|
2018-03-09 09:50:13 +01:00 |
|
Kristóf Tóth
|
0e4be3c22f
|
Refactor DirectoryMonitor handling in SourceCodeEventHandler
|
2018-03-09 09:37:48 +01:00 |
|
Kristóf Tóth
|
3b241a3930
|
Implement error handling in SourceCodeEventHandler.select_dir()
|
2018-03-09 09:11:52 +01:00 |
|
Kristóf Tóth
|
20895cb989
|
Add workind directory to SourceCodeEventHandler's default fileinfos
|
2018-03-09 08:52:13 +01:00 |
|
Kristóf Tóth
|
9e4fe87d84
|
Implement support to change working directories in SourceCodeEventHandler
|
2018-03-09 08:45:30 +01:00 |
|
Kristóf Tóth
|
7858caf51a
|
Make excluded stuff in FileManager configurable from __init__()
|
2018-03-09 08:41:12 +01:00 |
|
Kristóf Tóth
|
b224ed519d
|
Add support to FileManager to change working directory
|
2018-03-09 08:37:08 +01:00 |
|
Kristóf Tóth
|
491bbe5df6
|
Remove ambiguous log (already logged in networking)
|
2018-03-08 16:41:43 +01:00 |
|
Kristóf Tóth
|
af1a6261cc
|
Refactor naming conventions: data_json -> message in TFW EventHandlers
|
2018-03-08 16:11:43 +01:00 |
|
Kristóf Tóth
|
36724c5c51
|
Implement 'tail' on stderr feedback
|
2018-03-08 16:05:44 +01:00 |
|
Kristóf Tóth
|
f874deff6e
|
Implement stderr feedback on deployment failure (ProcessManagingEventHandler)
|
2018-03-08 16:04:35 +01:00 |
|
Kristóf Tóth
|
8588328a8f
|
Improve handling of supervisor errors in ProcessManagingEventHandler
|
2018-03-07 16:35:55 +01:00 |
|
Kristóf Tóth
|
9b550f724d
|
Extend ProcessManagingEventHander with deployment failure detection
|
2018-03-07 15:14:33 +01:00 |
|
Kristóf Tóth
|
d11d9a70cb
|
Remove TFW antipattern I wrote without thinking
|
2018-03-07 14:47:24 +01:00 |
|
Kristóf Tóth
|
2c816d5a38
|
Implement error handling on EventHandler exposing APIs
|
2018-03-07 14:45:43 +01:00 |
|
Kristóf Tóth
|
6a6236e704
|
Refactor callback subscription stuff to a mixin
|
2018-03-07 11:45:57 +01:00 |
|
Bokros Bálint
|
6db4c80671
|
Merge pull request #17 from avatao-content/terminado_commands
Implement terminal manipulation via a new EventHandler
|
2018-03-07 11:43:02 +01:00 |
|
Kristóf Tóth
|
6d59762e2b
|
Clean up confusing usage of data_json['data'] in TerminadoEventHandler
|
2018-03-07 11:37:52 +01:00 |
|
Kristóf Tóth
|
cb7e8c5663
|
Make DirectoryMonitor.ignore setter more pythonic
|
2018-03-07 11:36:21 +01:00 |
|
Kristóf Tóth
|
4e0f95acbd
|
Rename JOHN CENA to avataobot as per business demands
|
2018-03-07 10:19:11 +01:00 |
|
Kristóf Tóth
|
3cf404ee9a
|
Implement inotify event ignoration logic
|
2018-03-07 09:17:29 +01:00 |
|
Kristóf Tóth
|
1165fa4ec9
|
Refactor pty resetting logic to TerminadoMiniServer
|
2018-03-06 16:15:04 +01:00 |
|
Kristóf Tóth
|
e20a5dab23
|
Implement pty recovery
|
2018-03-06 14:33:01 +01:00 |
|
Kristóf Tóth
|
555d571112
|
Expose term_manager in TerminadoMiniServer as a property
|
2018-03-06 14:28:36 +01:00 |
|
Kristóf Tóth
|
021a122523
|
Stop HistoryMonitor in TerminadoEventHandler.cleanup()
|
2018-03-06 13:27:32 +01:00 |
|
Kristóf Tóth
|
02bc317009
|
Refactor CallbackEventHandler to be a PatternMatchingEventHandler
|
2018-03-06 13:27:32 +01:00 |
|
Kristóf Tóth
|
a4b07e549e
|
Rename & expose as property TerminadoEventHandler.monitor
|
2018-03-06 13:27:32 +01:00 |
|
Kristóf Tóth
|
0a20cffa09
|
Implement callback subscription logic in HistoryMonitor
|
2018-03-06 13:27:32 +01:00 |
|
Kristóf Tóth
|
ab76e3d024
|
Store length of history list requested in every case
|
2018-03-06 13:27:32 +01:00 |
|
Kristóf Tóth
|
cc964fdf27
|
Strip newlines from stored history in HistoryMonitor
|
2018-03-06 13:27:32 +01:00 |
|
Kristóf Tóth
|
180cf41f85
|
Implement history reading API
|
2018-03-06 13:27:32 +01:00 |
|
Kristóf Tóth
|
5133806d33
|
Make Historymonitor.history a list instead of a deque (for slicing)
|
2018-03-06 13:27:32 +01:00 |
|
Kristóf Tóth
|
eea6a418a8
|
Start work on HistoryMonitor to read command history
|
2018-03-06 13:27:32 +01:00 |
|
Kristóf Tóth
|
6312e22117
|
Make TerminadoMiniServer compatible with an external IOLoop
|
2018-03-06 13:27:32 +01:00 |
|
Kristóf Tóth
|
4873bbf421
|
Implement simple pty writing API
|
2018-03-06 13:27:32 +01:00 |
|
Kristóf Tóth
|
c4c07a4c85
|
Add proof of concept for terminal pty writing
|
2018-03-06 13:27:32 +01:00 |
|
Kristóf Tóth
|
bddc10269b
|
Replace UniqueTermManager with SingleTermManager to support pty manipulation
|
2018-03-06 13:27:32 +01:00 |
|
Kristóf Tóth
|
b7f9acd3b0
|
Expose pty reference from TerminadoMiniServer
|
2018-03-06 13:27:32 +01:00 |
|
Kristóf Tóth
|
cc2c6009dd
|
Delegate ownership of terminado server to TerminadoEventHandler
|
2018-03-06 13:27:32 +01:00 |
|
Kristóf Tóth
|
207f984db1
|
Delete key instead of setting it to empty string value
|
2018-03-02 14:02:05 +01:00 |
|
Kristóf Tóth
|
3e06f5c196
|
Optimize write event responses by removing unused file content
|
2018-03-02 11:04:58 +01:00 |
|
Kristóf Tóth
|
715e39af0d
|
Expose DirectoryMonitor instance from SourceCodeEventHandler
|
2018-03-02 10:23:10 +01:00 |
|
Kristóf Tóth
|
e451de2179
|
Implement DirectoryMonitor support in ProcessManagingEventHandler
|
2018-03-02 10:21:56 +01:00 |
|
Bokros Bálint
|
feb946a1bb
|
Merge pull request #15 from avatao-content/pmgeh
Rework TFW process management capabilities
|
2018-02-28 17:57:27 +01:00 |
|
Kristóf Tóth
|
e29b300925
|
Refactor ServerUplinkConnector to avoid passing redundant data
|
2018-02-28 15:57:44 +01:00 |
|
Kristóf Tóth
|
9eaced9f02
|
Remove unused __init__ attributes from pmgeh related classes
|
2018-02-27 16:51:10 +01:00 |
|
Kristóf Tóth
|
a6bbe6df55
|
Update SupervisorMixin users to support stateless API
|
2018-02-27 15:54:31 +01:00 |
|
Kristóf Tóth
|
789db7416d
|
Refactor SupervisorMixin to be stateless
|
2018-02-27 15:54:10 +01:00 |
|
Kristóf Tóth
|
57bd2aec45
|
Implement uplink notifications in ProcessManagingEventHandler
|
2018-02-27 15:26:16 +01:00 |
|
Kristóf Tóth
|
b50a2e401f
|
Update ProcessManagingEventHandler to support new architecture
|
2018-02-27 14:39:54 +01:00 |
|
Kristóf Tóth
|
3341e97ef6
|
Fix anchor->key refactor conflicts after rebase
|
2018-02-27 14:39:40 +01:00 |
|
Kristóf Tóth
|
387d07bc4a
|
Remove SupervisorMixin from ProcessManagingEventHandler
|
2018-02-27 14:10:00 +01:00 |
|
Kristóf Tóth
|
3506f5abb4
|
Fix ProcessMonitor not being compatible with SupervisorMixin
|
2018-02-27 14:10:00 +01:00 |
|
Kristóf Tóth
|
69c998bfde
|
Rename ProcessManager.__init__() arguments to be more specific
|
2018-02-27 14:10:00 +01:00 |
|
Kristóf Tóth
|
8d8b60d143
|
Refactor ProcessManagingEventHandler
|
2018-02-27 14:10:00 +01:00 |
|
Kristóf Tóth
|
a50a173f54
|
Implement ProcessManagingEventHandler
|
2018-02-27 14:10:00 +01:00 |
|
Bokros Bálint
|
58d2977731
|
Merge pull request #13 from avatao-content/bottomless_pit
Refactor TFW architecture to support stateless event handling
|
2018-02-27 14:09:44 +01:00 |
|
Kristóf Tóth
|
f21036091c
|
Expose TFWServer.fsm_manager as a property
|
2018-02-27 13:39:31 +01:00 |
|
Kristóf Tóth
|
770123310a
|
Refactor FSMManager.(un)?subscribe() family of methods to accept lists
|
2018-02-26 17:52:34 +01:00 |
|
Kristóf Tóth
|
5d7223779a
|
Rework FSMManager predicate contract
|
2018-02-26 17:47:35 +01:00 |
|
Kristóf Tóth
|
250b9da6d6
|
Fix FSMManager.unsubscribe_predicate()
|
2018-02-26 17:24:56 +01:00 |
|
Kristóf Tóth
|
78b689f650
|
Rename FSMManager handler -> predicate so it actually makes some sense
|
2018-02-26 17:24:56 +01:00 |
|
Kristóf Tóth
|
7e8ea0c7ac
|
Make FSM triggering dependent on FSMManager
|
2018-02-26 17:24:56 +01:00 |
|
Kristóf Tóth
|
50c940b21d
|
FSMManager no longer owns the managed FSM
|
2018-02-26 17:24:56 +01:00 |
|
Kristóf Tóth
|
5776400990
|
Make FSMManager.fsm a property
|
2018-02-26 17:24:56 +01:00 |
|
Kristóf Tóth
|
25fd71a2b8
|
Add message argument to FSMManager.trigger()
|
2018-02-26 17:24:56 +01:00 |
|
Kristóf Tóth
|
47a4e078de
|
Replace homemade hacky defaultdict with defaultdict ¯\_(ツ)_/¯
|
2018-02-26 17:24:56 +01:00 |
|
Kristóf Tóth
|
5e9eb88bfc
|
Implement crude FSMManager – wip
|
2018-02-26 17:24:56 +01:00 |
|
Kristóf Tóth
|
76456b36de
|
Enable proxying of Triggerless messages in TFWServer
|
2018-02-23 15:14:23 +01:00 |
|
Kristóf Tóth
|
cf4a5bc09d
|
Refactor FSMUpdate message sending logic to class FSMUpdater
|
2018-02-23 14:55:58 +01:00 |
|
Kristóf Tóth
|
940e74d6da
|
Implement triggered and triggerless EventHandler base classes
|
2018-02-23 14:07:41 +01:00 |
|
Kristóf Tóth
|
fd1cb100ad
|
Unify (key, response) ordering
|
2018-02-23 12:13:19 +01:00 |
|
Kristóf Tóth
|
38ca56fa9d
|
Fix generate_fsm_update() not listing valid transitions properly
|
2018-02-23 12:08:14 +01:00 |
|
Kristóf Tóth
|
ecbb61a862
|
Overhaul WS->ZMQ proxying
|
2018-02-23 12:07:30 +01:00 |
|
Kristóf Tóth
|
26538a4ad9
|
Make ZMQWebSocketHandler "abstract"
|
2018-02-21 16:46:25 +01:00 |
|
Kristóf Tóth
|
31ba6cb623
|
Rename anchor -> key globally ¯\_(ツ)_/¯
|
2018-02-21 15:28:16 +01:00 |
|
Bálint Bokros
|
609cd19589
|
Remove unnecessary super call
|
2018-02-19 10:02:42 +01:00 |
|
Kristóf Tóth
|
24fd753679
|
Implement support for multiple websockets connecting to TFW
|
2018-02-16 17:47:30 +01:00 |
|
Kristóf Tóth
|
3e54733033
|
Remove unused import
|
2018-02-16 11:09:58 +01:00 |
|
Kristóf Tóth
|
6e7e681602
|
Remove unnecessary call in FileManager
|
2018-02-15 16:32:41 +01:00 |
|
Kristóf Tóth
|
ade210c4fc
|
Remove extension -> language mapping from backend (move to frontend)
|
2018-02-15 16:30:02 +01:00 |
|
Kristóf Tóth
|
c2e161dad3
|
Make DirectoryMonitor pausable using the with statement
|
2018-02-14 17:44:05 +01:00 |
|
Kristóf Tóth
|
0b3db0ae9e
|
Implement pausing watchdog while webide files are being written
|
2018-02-14 16:09:09 +01:00 |
|
Bálint Bokros
|
2ebc34fa05
|
Remove unused create_source_code_response_data method
|
2018-02-13 17:57:12 +01:00 |
|
Bálint Bokros
|
b9e41c01cf
|
Move RateLimiter to decorators
|
2018-02-13 17:56:01 +01:00 |
|
Bálint Bokros
|
14f3a4a153
|
Move SupervisorMixin to mixins
|
2018-02-13 17:51:19 +01:00 |
|
Bálint Bokros
|
f5a8230d3b
|
Move ZMQConnectorBase to networking
|
2018-02-13 17:44:48 +01:00 |
|
Bálint Bokros
|
dbc2d1c0ea
|
Add cenerator to enable testing
|
2018-02-13 17:35:30 +01:00 |
|
therealkrispet
|
2530fe43ea
|
Merge pull request #9 from avatao-content/controller_auth
Controller auth
|
2018-02-13 17:01:09 +01:00 |
|
Bokros Bálint
|
ddffb666be
|
Merge pull request #8 from avatao-content/watchdog
Watchdog
|
2018-02-13 16:32:50 +01:00 |
|
Kristóf Tóth
|
5213152477
|
Remove obsolete TODO
|
2018-02-13 16:29:45 +01:00 |
|
Kristóf Tóth
|
1d47ca5684
|
Add method EventHandlerBase.cleanup()
|
2018-02-13 15:38:46 +01:00 |
|
Kristóf Tóth
|
fd029dbfe7
|
Move RateLimiter to tfw.util
|
2018-02-13 15:06:19 +01:00 |
|
Kristóf Tóth
|
60bcb8c2b0
|
Refactor webide rate limiting
|
2018-02-13 15:06:15 +01:00 |
|
Kristóf Tóth
|
4d49c8d11b
|
Improve webide refresh trigger rate limiting
|
2018-02-13 14:37:56 +01:00 |
|
Bálint Bokros
|
dda470fc93
|
Validate token in controller's HTTP handlers
|
2018-02-13 13:39:27 +01:00 |
|
Bálint Bokros
|
019ce53b39
|
Share token with solvable upon starting
|
2018-02-13 13:38:13 +01:00 |
|
Bálint Bokros
|
cb46a8b80e
|
Make controller async
|
2018-02-12 18:04:59 +01:00 |
|
Kristóf Tóth
|
dceb4b2b7e
|
Implement basic rate limiting for webide autoreload magic
|
2018-02-12 17:46:01 +01:00 |
|
Kristóf Tóth
|
955e1c1cf3
|
Rename watchdog FileSystemEventHandler child
|
2018-02-12 17:01:23 +01:00 |
|
Kristóf Tóth
|
67579aea29
|
Implement sending reload command on file system changes
|
2018-02-12 16:43:30 +01:00 |
|
Kristóf Tóth
|
9c006451bf
|
Implement proof of concept directory event monitoring
|
2018-02-12 16:01:24 +01:00 |
|
Bálint Bokros
|
86aecd18a8
|
Move responding-to-controller related stuff to its own class
|
2018-02-12 13:22:55 +01:00 |
|
Bálint Bokros
|
6f785b3ca7
|
Refactor solvable responses
|
2018-02-12 11:28:35 +01:00 |
|
Bálint Bokros
|
e04cc08dd6
|
Remove unnecessary autoreload
As running the project outside a Docker container has become unfeasible,
having this feature doesn't make sense anymore.
|
2018-02-12 11:09:30 +01:00 |
|
Kristóf Tóth
|
1692b424b5
|
Move webide and terminado event handlers to lib/tfw/components
|
2018-02-11 14:15:10 +01:00 |
|
Kristóf Tóth
|
4fe9d58681
|
Move TFWServer to tfw.networking.server package
|
2018-02-11 12:32:30 +01:00 |
|
Kristóf Tóth
|
0f6ec24d45
|
Remove unnecessary overrides from ZMQWebSocketHandler
|
2018-02-11 12:04:18 +01:00 |
|
Bálint Bokros
|
1e9642912c
|
Create initial implementation for solution check
|
2018-02-09 17:37:56 +01:00 |
|
Bálint Bokros
|
4f181b8f09
|
Separate the handling of envvars by prefix
|
2018-02-09 17:37:56 +01:00 |
|
Bálint Bokros
|
2499c4759e
|
Fix envvar imports
|
2018-02-09 17:37:56 +01:00 |
|
Bálint Bokros
|
28e83de0d7
|
Create PoC of solvable with hardcoded responses
|
2018-02-09 17:37:56 +01:00 |
|
Bálint Bokros
|
95e1f907ee
|
Make serialization methods' parameter names more generic
|
2018-02-09 17:37:56 +01:00 |
|
Bálint Bokros
|
27376ada22
|
Create initial version of SolvableConnector
|
2018-02-09 17:37:56 +01:00 |
|
Bálint Bokros
|
03d6f587e9
|
Create initial version of ControllerConnector
|
2018-02-09 17:37:56 +01:00 |
|
Bálint Bokros
|
55ef87e089
|
Add AVATAO_SECRET to envvars
|
2018-02-09 17:37:56 +01:00 |
|
Kristóf Tóth
|
83b24ad538
|
Improve internal handling of environment variables
|
2018-02-09 10:38:16 +01:00 |
|
Kristóf Tóth
|
dceb3b947f
|
Refactor handling of working directory for SourceCodeEventHandler
|
2018-02-08 17:13:14 +01:00 |
|