def build_app(service):
    """Builds and returns a web app that exposes DDL and ERD.

    Arguments:
      service  Base URL of the data models service to use.
    """  # noqa

    app.config['service'] = service
    app.config['service_version'] = get_service_version(service)
    app.config['models'] = get_template_models(service)
    app.config['dialects'] = get_template_dialects()

    return app
def build_app(service, refresh_interval=PERIODIC_REFRESH_DELAY):
    """Builds and returns a web app that exposes DDL and ERD.

    Arguments:
      service - Base URL of the data models service to use.
      refresh_interval - Number of seconds between refreshes of model summaries.
          To disable periodic refreshes, set to None.
    """  # noqa

    app.config['service'] = service
    app.config['dialects'] = get_template_dialects()

    # Cache the data models from the data models service
    # and refresh periodically.
    refresh_data_models_template_and_reschedule(delay=refresh_interval)

    return app
Example #3
0
for m in get_template_models(
        os.environ.get('DMSA_TEST_SERVICE')
        or 'https://data-models-service.research.chop.edu/'):

    ENDPOINTS.append('%s/' % m['name'])

    for v in m['versions']:

        ENDPOINTS.append('%s/%s/' % (m['name'], v['name']))
        ENDPOINTS.append('%s/%s/erd/' % (m['name'], v['name']))

        ENDPOINTS.append('%s/%s/logging/oracle/' % (m['name'], v['name']))
        ENDPOINTS.append('%s/%s/nologging/oracle/' % (m['name'], v['name']))

        for d in get_template_dialects():

            ENDPOINTS.append('%s/%s/ddl/%s/' %
                             (m['name'], v['name'], d['name']))
            ENDPOINTS.append('%s/%s/drop/%s/' %
                             (m['name'], v['name'], d['name']))
            ENDPOINTS.append('%s/%s/delete/%s/' %
                             (m['name'], v['name'], d['name']))

            for e in ['tables', 'constraints', 'indexes']:

                if not (d['name'] == 'sqlite' and e == 'constraints'):
                    ENDPOINTS.append('%s/%s/ddl/%s/%s/' %
                                     (m['name'], v['name'], d['name'], e))
                    ENDPOINTS.append('%s/%s/drop/%s/%s/' %
                                     (m['name'], v['name'], d['name'], e))
for m in get_template_models(os.environ.get('DMSA_TEST_SERVICE') or
                             'https://data-models-service.research.chop.edu/'):

    ENDPOINTS.append('%s/' % m['name'])

    for v in m['versions']:

        ENDPOINTS.append('%s/%s/' % (m['name'], v['name']))
        ENDPOINTS.append('%s/%s/erd/' % (m['name'], v['name']))

        ENDPOINTS.append('%s/%s/logging/oracle/' %
                         (m['name'], v['name']))
        ENDPOINTS.append('%s/%s/nologging/oracle/' %
                         (m['name'], v['name']))

        for d in get_template_dialects():

            ENDPOINTS.append('%s/%s/ddl/%s/' %
                             (m['name'], v['name'], d['name']))
            ENDPOINTS.append('%s/%s/drop/%s/' %
                             (m['name'], v['name'], d['name']))
            ENDPOINTS.append('%s/%s/delete/%s/' %
                             (m['name'], v['name'], d['name']))

            for e in ['tables', 'constraints', 'indexes']:

                if not (d['name'] == 'sqlite' and e == 'constraints'):
                    ENDPOINTS.append('%s/%s/ddl/%s/%s/' %
                                     (m['name'], v['name'], d['name'], e))
                    ENDPOINTS.append('%s/%s/drop/%s/%s/' %
                                     (m['name'], v['name'], d['name'], e))