Compare commits

...
8 changed files with 36 additions and 20 deletions
+2 -2
View File
@@ -80,6 +80,6 @@ The TFW message format:
Most of the components you need have docstrings included (hang on tight, this is work in progress) refer to them for usage info. Most of the components you need have docstrings included (hang on tight, this is work in progress) refer to them for usage info.
In the `docs` folder you can find our Sphinx-based API documentation, which you can build using the included `Makefile` (you need to have Sphinx installed, please reach out to us if you have trouble building the docs). In the `docs` folder you can find our Sphinx-based API documentation, which you can build using the `hack/tfw.sh` script in the [test-tutorial-framework](https://github.com/avatao-content/test-tutorial-framework) repository.
To get started you should take a look at the [test-tutorial-framework](https://github.com/avatao-content/test-tutorial-framework) repository, which serves as an example project as well. To get started you should take a look at [test-tutorial-framework](https://github.com/avatao-content/test-tutorial-framework), which serves as an example project as well.
View File
+5 -4
View File
@@ -15,8 +15,8 @@ LOG = logging.getLogger(__name__)
class DirectoryMonitor(ObserverMixin): class DirectoryMonitor(ObserverMixin):
def __init__(self, directories): def __init__(self, ide_key, directories):
self.eventhandler = IdeReloadWatchdogEventHandler() self.eventhandler = IdeReloadWatchdogEventHandler(ide_key)
for directory in directories: for directory in directories:
self.observer.schedule(self.eventhandler, directory, recursive=True) self.observer.schedule(self.eventhandler, directory, recursive=True)
@@ -44,8 +44,9 @@ class DirectoryMonitor(ObserverMixin):
class IdeReloadWatchdogEventHandler(FileSystemWatchdogEventHandler): class IdeReloadWatchdogEventHandler(FileSystemWatchdogEventHandler):
def __init__(self): def __init__(self, ide_key):
super().__init__() super().__init__()
self.ide_key = ide_key
self.uplink = ServerUplinkConnector() self.uplink = ServerUplinkConnector()
self._paused = False self._paused = False
self.ignore = 0 self.ignore = 0
@@ -65,7 +66,7 @@ class IdeReloadWatchdogEventHandler(FileSystemWatchdogEventHandler):
return return
LOG.debug(event) LOG.debug(event)
self.uplink.send({ self.uplink.send({
'key': 'ide', 'key': self.ide_key,
'data': {'command': 'reload'} 'data': {'command': 'reload'}
}) })
@@ -15,7 +15,12 @@ class DirectoryMonitoringEventHandler(EventHandlerBase, MonitorManagerMixin):
def __init__(self, key, directory): def __init__(self, key, directory):
super().__init__(key) super().__init__(key)
self._directory = directory self._directory = directory
MonitorManagerMixin.__init__(self, DirectoryMonitor, self._directory) MonitorManagerMixin.__init__(
self,
DirectoryMonitor,
key,
self._directory
)
self.commands = { self.commands = {
'pause': self.pause, 'pause': self.pause,
+1
View File
@@ -141,6 +141,7 @@ class IdeEventHandler(EventHandlerBase, MonitorManagerMixin):
MonitorManagerMixin.__init__( MonitorManagerMixin.__init__(
self, self,
DirectoryMonitor, DirectoryMonitor,
self.key,
self.filemanager.allowed_directories self.filemanager.allowed_directories
) )
+3 -1
View File
@@ -1,6 +1,8 @@
# Copyright (C) 2018 Avatao.com Innovative Learning Kft. # Copyright (C) 2018 Avatao.com Innovative Learning Kft.
# All Rights Reserved. See LICENSE file for details. # All Rights Reserved. See LICENSE file for details.
from functools import update_wrapper
class lazy_property: class lazy_property:
""" """
@@ -9,7 +11,7 @@ class lazy_property:
""" """
def __init__(self, func): def __init__(self, func):
self.func = func self.func = func
self.__doc__ = func.__doc__ update_wrapper(self, func)
def __get__(self, instance, owner): def __get__(self, instance, owner):
if instance is None: if instance is None:
+18 -12
View File
@@ -2,7 +2,6 @@ from os.path import dirname, realpath, join
from setuptools import setup, find_packages from setuptools import setup, find_packages
here = dirname(realpath(__file__)) here = dirname(realpath(__file__))
with open(join(here, 'VERSION'), 'r') as ifile: with open(join(here, 'VERSION'), 'r') as ifile:
@@ -10,14 +9,21 @@ with open(join(here, 'VERSION'), 'r') as ifile:
with open(join(here, 'requirements.txt'), 'r') as ifile: with open(join(here, 'requirements.txt'), 'r') as ifile:
requirements = ifile.read().splitlines() requirements = ifile.read().splitlines()
setup(name='tfw', setup(
version=version, name = 'tfw',
description='Avatao tutorial-framework', version = version,
url='https://github.com/avatao-content/baseimage-tutorial-framework', description = 'Avatao tutorial-framework',
author='Avatao.com Innovative Learning Kft.', url = 'https://github.com/avatao-content/baseimage-tutorial-framework',
author_email='support@avatao.com', author = 'Avatao.com Innovative Learning Kft.',
license='custom', author_email = 'support@avatao.com',
packages=find_packages('lib'), license = 'custom',
package_dir={'': 'lib'}, packages = find_packages('lib'),
install_requires=requirements, package_dir = {'': 'lib'},
zip_safe=False) install_requires = requirements,
extras_require = {
'docs': [
'sphinx >= 1.7.0',
],
},
zip_safe = False,
)
+1
View File
@@ -4,6 +4,7 @@ logfile=/dev/null
logfile_maxbytes=0 logfile_maxbytes=0
loglevel = debug loglevel = debug
pidfile = /tmp/supervisord.pid pidfile = /tmp/supervisord.pid
strip_ansi=true
[inet_http_server] [inet_http_server]
port = 127.0.0.1:%(ENV_TFW_SUPERVISOR_HTTP_PORT)s port = 127.0.0.1:%(ENV_TFW_SUPERVISOR_HTTP_PORT)s