Skip to content
Snippets Groups Projects
__main__.py 1.09 KiB
Newer Older
Jan Müller's avatar
Jan Müller committed
#!/usr/bin/env python3

import connexion

from access_node import encoder
Simon Oehrl's avatar
Simon Oehrl committed
from flask_cors import CORS
Jan Müller's avatar
Jan Müller committed

from access_node.models.nodes import nodes
Jan Müller's avatar
Jan Müller committed

def main():
    # This is just to give the info-node some time to start the server
    # in the docker container
    time.sleep(5)
    with open('access_node//info_node.json', 'r') as f:
        info = json.load(f)
    nodes.info_node = info['address']
    node_type = 'nest_simulation'
Jan Müller's avatar
Jan Müller committed
    nodes.nest_simulation_nodes = requests.get(
        nodes.info_node+'/nodes', params={"node_type": node_type}).json()
    node_type = 'arbor_simulation'
    nodes.arbor_simulation_nodes = requests.get(
        nodes.info_node+'/nodes', params={"node_type": node_type}).json()
Jan Müller's avatar
Jan Müller committed
    app = connexion.App(__name__, specification_dir='./swagger/')
    app.app.json_encoder = encoder.JSONEncoder
    app.add_api('swagger.yaml', arguments={
                'title': 'In-Situ Pipeline REST API'})
Simon Oehrl's avatar
Simon Oehrl committed
    CORS(app.app)
Jan Müller's avatar
Jan Müller committed
    app.run(port=8080)


if __name__ == '__main__':
    main()