def get_projects_for_scheduling(connection): project_ids = select_all_project_ids(connection) result = [] for project_id in project_ids: p = Project(project_id) p.work = work_db.select_work_for_project(connection, p.project_id) result.append(p) return result
def data_to_projects(connection, data): result = [] for row in data: p = Project(row['id']) p.name = row['name'] p.target_date = dovetail.util.condition_date(row['target_date']) p.est_start_date = dovetail.util.condition_date(row['est_start_date']) p.est_end_date = dovetail.util.condition_date(row['est_end_date']) p.value = row['value'] p.work = work_db.select_work_for_project(connection, row['id']) p.key_work = work_db.select_key_work_for_project(connection, row['id']) result.append(p) return result
def select_project(connection, project_id): result = Project(project_id) data = connection.execute( database.projects.select( database.projects.c.id == project_id)).first() result.name = data['name'] # NOTE: We don't need to condition them because we're not doing an explicit select # SqlAlchemy takes care of the date manipulation for us result.target_date = data['target_date'] result.est_end_date = data['est_end_date'] result.participants = people_db.select_project_participants( connection, project_id) result.work = work_db.select_work_for_project(connection, project_id) return result