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))
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
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)))
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)
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})
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))
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)
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})
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
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))
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)
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']) })
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)
def index_json(hub_id, dataset_id): check_assertion(DatasetExists(hub_id, dataset_id)) return flask.jsonify(fetch_view(ListVersions(hub_id, dataset_id)))
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))
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)
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)))
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))
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})
def index_json(hub_id): check_assertion(HubExists(hub_id)) return flask.jsonify(fetch_view(ListDatasets(hub_id)))
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({})
def detail_json(team_id): check_assertion(TeamExists(team_id)) return flask.jsonify(fetch_view(DetailTeam(team_id)))