Example #1
0
def make_app_fritz(cfg, baselayer_handlers, baselayer_settings):
    """Create and return a `tornado.web.Application` object with (Fritz-specific) specified
    handlers and settings.

    Parameters
    ----------
    cfg : Config
        Loaded configuration.  Can be specified with '--config'
        (multiple uses allowed).
    baselayer_handlers : list
        Tornado handlers needed for baselayer to function.
    baselayer_settings : cfg
        Settings needed for baselayer to function.

    """
    app = make_app(cfg, baselayer_handlers, baselayer_settings)

    # add Fritz-specific handlers
    handlers = [
        # Fritz-specific API endpoints
        # ZTF Alerts
        (r'/api/alerts/ztf/(.+)/aux', ZTFAlertAuxHandler
         ),  # most descriptive path must be defined first
        (r'/api/alerts/ztf/(.+)/cutout', ZTFAlertCutoutHandler),
        (r'/api/alerts/ztf/(.+)', ZTFAlertHandler),
        # Alert Stream filter versioning via K:
        (r'/api/filters/([0-9]+)?/v', KowalskiFilterHandler),
    ]

    app.add_handlers(
        r".*",  # match any host
        handlers)

    return app
Example #2
0
def make_app_fritz(cfg,
                   baselayer_handlers,
                   baselayer_settings,
                   process=None,
                   env=None):
    """Create and return a `tornado.web.Application` object with (Fritz-specific) specified
    handlers and settings.

    Parameters
    ----------
    cfg : Config
        Loaded configuration.  Can be specified with '--config'
        (multiple uses allowed).
    baselayer_handlers : list
        Tornado handlers needed for baselayer to function.
    baselayer_settings : cfg
        Settings needed for baselayer to function.

    """
    app = make_app(cfg, baselayer_handlers, baselayer_settings, process, env)

    # Limit the number of threads on each Tornado instance.
    # This is to ensure that we don't run out of database connections,
    # or overload our SQLAlchemy connection pool.
    asyncio.get_event_loop().set_default_executor(
        concurrent.futures.ThreadPoolExecutor(max_workers=8))

    app.add_handlers(r".*", fritz_handlers)  # match any host

    return app
Example #3
0
def make_app_fritz(cfg, baselayer_handlers, baselayer_settings, process=None, env=None):
    """Create and return a `tornado.web.Application` object with (Fritz-specific) specified
    handlers and settings.

    Parameters
    ----------
    cfg : Config
        Loaded configuration.  Can be specified with '--config'
        (multiple uses allowed).
    baselayer_handlers : list
        Tornado handlers needed for baselayer to function.
    baselayer_settings : cfg
        Settings needed for baselayer to function.

    """
    app = make_app(cfg, baselayer_handlers, baselayer_settings, process, env)

    app.add_handlers(r".*", fritz_handlers)  # match any host

    return app
Example #4
0
from skyportal import app_server
from baselayer.app.env import load_env

import json

env, cfg = load_env()
app = app_server.make_app(cfg, [], {})
f = open('openapi.yml', 'w')
f.write(app.openapi_spec.to_yaml())
f.close()
f = open('openapi.json', 'w')

json.dump(app.openapi_spec.to_dict(), f)
print("OpenAPI spec written to openapi.{yml,json}")