Пример #1
0
def new_html(hub_id, dataset_id, version):
    check_assertion(VersionExists(hub_id, dataset_id, version))
    data = flask.request.form
    start_time, end_time = None, None

    if data.get('start_date'):
        if data.get('start_time'):
            start_time = dt.datetime.strptime(
                f'{data["start_date"]} {data["start_time"]}', '%Y-%m-%d %H:%M')
        else:
            start_time = dt.datetime.strptime(data['start_date'], '%Y-%m-%d')

    if data.get('end_date'):
        if data.get('end_time'):
            end_time = dt.datetime.strptime(
                f'{data["end_date"]} {data["end_time"]}', '%Y-%m-%d %H:%M')
        else:
            end_time = dt.datetime.strptime(data['end_date'], '%Y-%m-%d')

    execute_action(
        NewPartition(hub_id, dataset_id, version, data['path'],
                     data.getlist('partition_values[]'), data.get('row_count'),
                     start_time, end_time))

    return flask.redirect(
        flask.url_for('versions.detail_html',
                      hub_id=hub_id,
                      dataset_id=dataset_id,
                      version=version))
Пример #2
0
def new_json(hub_id, dataset_id, version):
    check_assertion(VersionExists(hub_id, dataset_id, version))
    data = flask.request.json
    partition_id = execute_action(
        NewPartition(hub_id, dataset_id, version, data['path'],
                     data['partition_values'], data.get('row_count'),
                     data.get('start_time'), data.get('end_time')))
    return flask.jsonify({'partition_id': partition_id}), 201
Пример #3
0
def index_html(hub_id):
    check_assertion(HubExists(hub_id))
    details = fetch_view(DetailHub(hub_id))
    return flask.render_template('datasets/index.html.j2',
                                 hub_id=hub_id,
                                 is_writer=is_current_hub_writer(),
                                 **details,
                                 **fetch_view(ListDatasets(hub_id)))
Пример #4
0
def dependencies_html(hub_id, dataset_id, version):
    check_assertion(VersionExists(hub_id, dataset_id, version))
    details = fetch_view(DetailVersion(hub_id, dataset_id, version))
    return flask.render_template('versions/dependencies.html.j2',
                                 hub_id=hub_id,
                                 dataset_id=dataset_id,
                                 version_int=version,
                                 is_writer=is_current_hub_writer(),
                                 **details)
Пример #5
0
def discover_json(hub_id, dataset_id, version):
    check_assertion(VersionExists(hub_id, dataset_id, version))
    backend_id = fetch_view(SimpleDetailVersion(hub_id, dataset_id, version))['backend_id']
    queue_id = enqueue_job(backend_id, 'discover_partitions', {
        'hub_id': str(hub_id),
        'dataset_id': str(dataset_id),
        'version': str(version)
    })
    return flask.jsonify({'queue_id': queue_id})
Пример #6
0
def discover_html(hub_id, dataset_id, version):
    check_assertion(VersionExists(hub_id, dataset_id, version))
    backend_id = fetch_view(SimpleDetailVersion(hub_id, dataset_id, version))['backend_id']
    enqueue_job(backend_id, 'discover_partitions', {
        'hub_id': str(hub_id),
        'dataset_id': str(dataset_id),
        'version': str(version)
    })
    return flask.redirect(flask.url_for('versions.detail_html', hub_id=hub_id, dataset_id=dataset_id, version=version))
Пример #7
0
def index_html(hub_id, dataset_id):
    check_assertion(DatasetExists(hub_id, dataset_id))
    details = fetch_view(DetailDataset(hub_id, dataset_id))
    versions = fetch_view(ListVersions(hub_id, dataset_id))
    return flask.render_template('versions/index.html.j2',
                                 hub_id=hub_id,
                                 dataset_id=dataset_id,
                                 is_writer=is_current_hub_writer(),
                                 **details,
                                 **versions)
Пример #8
0
def verify_json(hub_id, dataset_id, version):
    check_assertion(VersionExists(hub_id, dataset_id, version))
    execute_action(SetQueuedPartitionStatus(hub_id, dataset_id, version))
    backend_id = fetch_view(SimpleDetailVersion(hub_id, dataset_id, version))['backend_id']
    queue_id = enqueue_job(backend_id, 'verify_partitions', {
        'hub_id': str(hub_id),
        'dataset_id': str(dataset_id),
        'version': str(version)
    })
    return flask.jsonify({'queue_id': queue_id})
Пример #9
0
def new_json(hub_id, dataset_id):
    check_assertion(DatasetExists(hub_id, dataset_id))
    data = flask.request.json
    connection_id = execute_action(
        NewConnection(hub_id,
                      dataset_id,
                      data['connector_id'],
                      data['path'])
    )
    return flask.jsonify({'connection_id': connection_id}), 201
Пример #10
0
def new_html(hub_id, dataset_id):
    check_assertion(DatasetExists(hub_id, dataset_id))
    data = flask.request.form

    execute_action(NewConnection(hub_id,
                                 dataset_id,
                                 data['connector_id'],
                                 data['path']))

    return flask.redirect(flask.url_for('versions.index_html',
                                        hub_id=hub_id, dataset_id=dataset_id))
Пример #11
0
def clone_html(hub_id, dataset_id, version):
    check_assertion(VersionExists(hub_id, dataset_id, version))
    details = fetch_view(DetailVersion(hub_id, dataset_id, version))
    published = fetch_view(PublishedVersions())
    dataset_name = fetch_view(DetailDataset(hub_id, dataset_id))['name']
    return flask.render_template('versions/new.html.j2',
                                 hub_id=hub_id,
                                 dataset_id=dataset_id,
                                 backends=Backends,
                                 types=Types,
                                 published=published,
                                 dataset_name=dataset_name,
                                 **details)
Пример #12
0
def login_json():
    data = flask.request.json
    email = data.get('email')
    password = data.get('password')

    if not email or not password:
        return flask.jsonify({}), 401

    check_assertion(CorrectPassword(email, password))
    details = fetch_view(DetailUser(email))
    return flask.jsonify({
        'access_token': flask_jwt.create_access_token(details['user_id'],
                                                      user_claims=details['roles'])
    })
Пример #13
0
def login_html():
    error = None

    if flask.request.method == 'POST':
        data = flask.request.form
        try:
            check_assertion(CorrectPassword(data['email'], data['password']))

            details = fetch_view(DetailUser(data['email']))
            access_token = flask_jwt.create_access_token(details['user_id'],
                                                         user_claims=details['roles'])

            response = flask.redirect(flask.url_for('hubs.index_html'))
            flask_jwt.set_access_cookies(response, access_token)

            return response

        except AssertionFailure as e:
            error = str(e)

    return flask.render_template('auth/login.html.j2', error=error)
Пример #14
0
def index_json(hub_id, dataset_id):
    check_assertion(DatasetExists(hub_id, dataset_id))
    return flask.jsonify(fetch_view(ListVersions(hub_id, dataset_id)))
Пример #15
0
def publish_html(hub_id, dataset_id, version):
    check_assertion(VersionExists(hub_id, dataset_id, version))
    execute_action(PublishVersion(hub_id, dataset_id, version))
    return flask.redirect(flask.url_for('versions.index_html', hub_id=hub_id, dataset_id=dataset_id))
Пример #16
0
def detail_html(team_id):
    check_assertion(TeamExists(team_id))
    details = fetch_view(DetailTeam(team_id))
    return flask.render_template('teams/detail.html.j2',
                                 team_id=team_id,
                                 **details)
Пример #17
0
def detail_json(hub_id, dataset_id, version):
    check_assertion(VersionExists(hub_id, dataset_id, version))
    return flask.jsonify(fetch_view(DetailVersion(hub_id, dataset_id, version)))
Пример #18
0
def new_member_html(team_id):
    data = flask.request.form
    check_assertion(TeamExists(team_id))
    execute_action(NewTeamMember(team_id, data['user_id']))
    return flask.redirect(flask.url_for('teams.detail_html', team_id=team_id))
Пример #19
0
def new_member_json(team_id):
    data = flask.request.json
    check_assertion(TeamExists(team_id))
    member_id = execute_action(NewTeamMember(team_id, data['user_id']))
    return flask.jsonify({'member_id': member_id})
Пример #20
0
def index_json(hub_id):
    check_assertion(HubExists(hub_id))
    return flask.jsonify(fetch_view(ListDatasets(hub_id)))
Пример #21
0
def publish_json(hub_id, dataset_id, version):
    check_assertion(VersionExists(hub_id, dataset_id, version))
    execute_action(PublishVersion(hub_id, dataset_id, version))
    return flask.jsonify({})
Пример #22
0
def detail_json(team_id):
    check_assertion(TeamExists(team_id))
    return flask.jsonify(fetch_view(DetailTeam(team_id)))