Beispiel #1
0
 def shutdown_reana_db_session(response_or_exc):
     """Close session on app teardown."""
     from reana_db.database import Session as reana_db_session
     from invenio_db import db as invenio_db
     reana_db_session.remove()
     invenio_db.session.remove()
     return response_or_exc
Beispiel #2
0
def _import_users(admin_access_token, users_csv_file):
    """Import list of users to database.

    :param admin_access_token: Admin access token.
    :type admin_access_token: str
    :param users_csv_file: CSV file object containing a list of users.
    :type users_csv_file: _io.TextIOWrapper
    """
    admin = User.query.filter_by(id_=ADMIN_USER_ID).one_or_none()
    if admin_access_token != admin.access_token:
        raise ValueError('Admin access token invalid.')
    csv_reader = csv.reader(users_csv_file)
    for row in csv_reader:
        user = User(id_=row[0], email=row[1], access_token=row[2])
        Session.add(user)
    Session.commit()
    Session.remove()