def _update_program_order(session: FileOperator, owner_name: str, prev_order: int, order: int, new_name: str): prog = session.query(Types.Program())\ .filter(lambda Program: (Program.owner_name == owner_name and Program.prog_order == prev_order))\ .one() prog.prog_name = new_name prog.prog_order = order session.commit()
def add(session: FileOperator, name: str, hardware: str, base: str, target: str, usertext: str, sequencer_typ: str, temperature: str, owner_name: str, order: int, cache_type: str, caching_policy: str): prog = { "id": str(uuid1()), "prog_name": name, "hardware": hardware, "base": base, "target": target, "usertext": usertext, "sequencer_type": sequencer_typ, "temperature": temperature, "owner_name": owner_name, "prog_order": order, "is_valid": True, "cache_type": cache_type, "caching_policy": caching_policy } session.query(Types.Program()).add(prog) session.commit()
def get(session: FileOperator, name: str) -> DBObject: return session.query(Types.Program())\ .filter(lambda Program: Program.prog_name == name)\ .one()
def get_by_order_and_owner(session: FileOperator, prog_order: str, owner_name: str) -> DBObject: return session.query(Types.Program())\ .filter(lambda Program: (Program.prog_order == prog_order and Program.owner_name == owner_name))\ .one()
def remove(session: FileOperator, program_name: str, owner_name: str): session.query(Types.Program())\ .filter(lambda Program: (Program.prog_name == program_name and Program.owner_name == owner_name))\ .delete() session.commit()
def get_programs_for_target(session: FileOperator, target_name: str) -> list: return session.query(Types.Program())\ .filter(lambda Program: (Program.target == target_name))\ .all()
def get_programs_for_hardware(session: FileOperator, hardware: str) -> list: return session.query(Types.Program())\ .filter(lambda Program: Program.hardware == hardware)\ .sort(lambda Program: Program.prog_order)\ .all()
def get_program_owner_element_count(session: FileOperator, owner_name: str) -> int: return session.query(Types.Program())\ .filter(lambda Program: Program.owner_name == owner_name)\ .count()
def get_programs_for_owner(session: FileOperator, owner_name: str) -> list: return session.query(Types.Program())\ .filter(lambda Program: Program.owner_name == owner_name).sort(lambda Program: Program.prog_order)\ .all()