Skip to content
Snippets Groups Projects
Commit d8a67244 authored by jkerdreu's avatar jkerdreu
Browse files

Initial Release on the REST server

git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/branches/fork@1649 b32b6428-25c9-4566-ad07-03861ab6144f
parent 526728af
Branches
No related tags found
No related merge requests found
from setuptools import setup,find_packages
with open('README.rst') as f:
long_description = f.read()
VERSION = "0.1"
setup(
name='xaal.rest',
version=VERSION,
license='GPL License',
author='Jerome Kerdreux',
author_email='Jerome.Kerdreux@imt-atlantique.fr',
#url='',
description=('xAAL devices REST API'),
long_description=long_description,
classifiers=[
'Programming Language :: Python',
'Topic :: Software Development :: Libraries :: Python Modules',
],
keywords=['xaal', 'rest','json'],
platforms='any',
namespace_packages=['xaal'],
packages=find_packages(),
include_package_data=True,
install_requires=[
'xaal.lib',
'bottle',
]
)
try:
__import__('pkg_resources').declare_namespace(__name__)
except ImportError:
__path__ = __import__('pkgutil').extend_path(__path__, __name__)
from . import app
app.main()
from xaal.lib import tools,Engine,Device
from xaal.monitor import Monitor
import platform
from bottle import route,response,default_app,debug
import json
from gevent.pywsgi import WSGIServer
from geventwebsocket.handler import WebSocketHandler
PACKAGE_NAME = "xaal.rest"
logger = tools.get_logger(PACKAGE_NAME,'DEBUG')
xaal_engine = None
monitor = None
@route('/devices/')
def list_devices():
l = []
for i in range(0,10):
d = {'address':'xxxx','devtype':'xxx.basic'}
l.append(d)
r = {"devices": l}
response.headers['Content-Type'] = 'application/json'
return json.dumps(r,indent=4)
def setup_xaal():
global xaal_engine
global monitor
xaal_engine = Engine()
cfg = tools.load_cfg_or_die(PACKAGE_NAME)
dev = Device("hmi.basic")
dev.address = cfg['config']['addr']
dev.vendor_id = "IHSEV"
dev.product_id = "REST API"
dev.version = 0.1
dev.info = "%s@%s" % (PACKAGE_NAME,platform.node())
xaal_engine.add_device(dev)
monitor = Monitor(dev)
xaal_engine.start()
def main():
setup_xaal()
app = default_app()
#debug(True)
server = WSGIServer(("::1", 8080), app, handler_class=WebSocketHandler)
server.serve_forever()
if __name__ == '__main__':
try:
main()
except KeyboardInterrupt:
print("Bye Bye...")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment