コード例 #1
0
ファイル: setup_db.py プロジェクト: IdearHui/open-hackathon
def setup_db():
    """Initialize db tables

    make sure database and user correctly created in mysql
    in case upgrade the table structure, the origin table need be dropped firstly
    """
    Base.metadata.create_all(bind=engine)

    # init REQUIRED db data.

    # reserved user
    res_u = db_adapter.get_object(User, ReservedUser.DefaultUserID)
    if res_u is None:
        db_adapter.add_object_kwargs(User, id=ReservedUser.DefaultUserID, create_time=get_now())

    # default super admin
    if db_adapter.get_object(User, ReservedUser.DefaultSuperAdmin) is None:
        db_adapter.add_object_kwargs(User,
                                     id=ReservedUser.DefaultSuperAdmin,
                                     name="admin",
                                     nickname="admin",
                                     password="******")

    # default admin privilege
    if db_adapter.find_first_object_by(AdminHackathonRel,
                                       user_id=ReservedUser.DefaultSuperAdmin,
                                       hackathon_id=-1) is None:
        db_adapter.add_object_kwargs(AdminHackathonRel,
                                     user_id=ReservedUser.DefaultSuperAdmin,
                                     hackathon_id=-1,
                                     role_type=ADMIN_ROLE_TYPE.ADMIN)
コード例 #2
0
def setup_db():
    """Initialize db tables

    make sure database and user correctly created in mysql
    in case upgrade the table structure, the origin table need be dropped firstly
    """
    Base.metadata.create_all(bind=engine)

    # init REQUIRED db data.

    # reserved user
    res_u = db_adapter.get_object(User, ReservedUser.DefaultUserID)
    if res_u is None:
        db_adapter.add_object_kwargs(User,
                                     id=ReservedUser.DefaultUserID,
                                     create_time=get_now())

    # default super admin
    if db_adapter.get_object(User, ReservedUser.DefaultSuperAdmin) is None:
        db_adapter.add_object_kwargs(
            User,
            id=ReservedUser.DefaultSuperAdmin,
            name="admin",
            nickname="admin",
            password="******")

    # default admin privilege
    if db_adapter.find_first_object_by(AdminHackathonRel,
                                       user_id=ReservedUser.DefaultSuperAdmin,
                                       hackathon_id=-1) is None:
        db_adapter.add_object_kwargs(AdminHackathonRel,
                                     user_id=ReservedUser.DefaultSuperAdmin,
                                     hackathon_id=-1,
                                     role_type=ADMIN_ROLE_TYPE.ADMIN)
コード例 #3
0
def check_experiment_done(experiment_id, need_status):
    e = db_adapter.get_object(Experiment, experiment_id)
    need_ve_status = VEStatus.RUNNING
    if need_status == EStatus.STOPPED:
        need_ve_status = VEStatus.STOPPED
    if db_adapter.count_by(
            VirtualEnvironment, experiment_id=experiment_id,
            status=need_ve_status) == e.template.virtual_environment_count:
        update_experiment_status(experiment_id, need_status)
コード例 #4
0
ファイル: utility.py プロジェクト: ifhuang/open-hackathon
def check_experiment_done(experiment_id, need_status):
    e = db_adapter.get_object(Experiment, experiment_id)
    need_ve_status = VEStatus.RUNNING
    if need_status == EStatus.STOPPED:
        need_ve_status = VEStatus.STOPPED
    if db_adapter.count_by(VirtualEnvironment,
                           experiment_id=experiment_id,
                           status=need_ve_status) == e.template.virtual_environment_count:
        update_experiment_status(experiment_id, need_status)
コード例 #5
0
def update_experiment_status(experiment_id, status):
    e = db_adapter.get_object(Experiment, experiment_id)
    e.status = status
    db_adapter.commit()
コード例 #6
0
def set_template_virtual_environment_count(experiment_id, count):
    e = db_adapter.get_object(Experiment, experiment_id)
    t = db_adapter.get_object(Template, e.template_id)
    t.virtual_environment_count = count
    db_adapter.commit()
コード例 #7
0
def load_template_from_experiment(experiment_id):
    e = db_adapter.get_object(Experiment, experiment_id)
    t = db_adapter.get_object(Template, e.template_id)
    return load_template(t.url)
コード例 #8
0
def update_experiment_status(experiment_id, status):
    e = db_adapter.get_object(Experiment, experiment_id)
    e.status = status
    db_adapter.commit()
コード例 #9
0
def load_template_from_experiment(experiment_id):
    e = db_adapter.get_object(Experiment, experiment_id)
    t = db_adapter.get_object(Template, e.template_id)
    return load_template(t.url)
コード例 #10
0
def set_template_virtual_environment_count(experiment_id, count):
    e = db_adapter.get_object(Experiment, experiment_id)
    t = db_adapter.get_object(Template, e.template_id)
    t.virtual_environment_count = count
    db_adapter.commit()