def write(self): table = connect.Rout_unit_ele order_by = connect.Rout_unit_ele.id if table.select().count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) file.write(utils.int_pad("id")) file.write(utils.string_pad("name", direction="left")) file.write(utils.code_pad("obj_typ")) file.write(utils.int_pad("obj_id")) file.write(utils.num_pad("frac")) file.write(utils.string_pad("dlr")) file.write("\n") i = 1 for row in table.select().order_by(order_by): file.write(utils.int_pad(i)) i += 1 file.write(utils.string_pad(row.name, direction="left")) file.write(utils.code_pad(row.obj_typ)) file.write(utils.int_pad(row.obj_id)) file.write(utils.exp_pad(row.frac)) file.write(utils.key_name_pad(row.dlr, text_if_null="0")) file.write("\n")
def write(self): table = db.Path_hru_ini order_by = db.Path_hru_ini.id if table.select().count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) for row in table.select().order_by(order_by): file.write( utils.string_pad("name", direction="left", default_pad=25)) file.write(utils.num_pad("plant")) file.write(utils.num_pad("soil")) file.write("\n") file.write( utils.string_pad(row.name, direction="left", default_pad=25)) file.write("\n") for item in row.path_hrus: file.write( utils.string_pad("", text_if_null="", default_pad=1)) file.write( utils.key_name_pad(item.name, default_pad=22)) file.write(utils.num_pad(item.plant)) file.write(utils.num_pad(item.soil)) file.write("\n")
def write(self): table = db.Recall_rec order_by = db.Recall_rec.id if table.select().count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) cols = [col(table.id), col(table.name, direction="left"), col(table.rec_typ), col("file", not_in_db=True, padding_override=utils.DEFAULT_STR_PAD, direction="left")] self.write_headers(file, cols) file.write("\n") for row in table.select().order_by(order_by): file_name = '{name}.rec'.format(name=row.name) if row.rec_typ != 4 else row.name file.write(utils.int_pad(row.id)) file.write(utils.string_pad(row.name, direction="left")) file.write(utils.int_pad(row.rec_typ)) file.write(utils.string_pad(file_name, direction="left")) file.write("\n") dir = os.path.dirname(self.file_name) if row.rec_typ != 4: self.write_data(row.data, os.path.join(dir, file_name))
def write(self): table = connect.Aquifer_con order_by = table.id if table.select().count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) file.write(utils.int_pad("id")) file.write(utils.string_pad("name", direction="left")) file.write(utils.code_pad("obj_typ")) file.write(utils.int_pad("obj_typ_no", default_pad=10)) file.write(utils.num_pad("bsn_frac")) file.write(utils.num_pad("sub_frac")) file.write(utils.num_pad("reg_frac")) file.write("\n") tot_area = connect.Rout_unit_con.select( fn.Sum(connect.Rout_unit_con.area)).scalar() i = 1 for row in table.select().order_by(order_by): file.write(utils.int_pad(i)) file.write(utils.string_pad(row.name, direction="left")) file.write(utils.code_pad("aqu")) file.write(utils.int_pad(i, default_pad=10)) file.write( utils.num_pad(row.area / tot_area, use_non_zero_min=True)) file.write(utils.num_pad(0)) file.write(utils.num_pad(0)) file.write("\n") i += 1
def write(self): table = db.Ls_unit_ele order_by = db.Ls_unit_ele.id if table.select().count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) file.write(utils.int_pad("id")) file.write(utils.string_pad("name", direction="left")) file.write(utils.code_pad("obj_typ")) file.write(utils.int_pad("obj_typ_no")) file.write(utils.num_pad("bsn_frac")) file.write(utils.num_pad("sub_frac")) file.write(utils.num_pad("reg_frac")) file.write("\n") i = 1 for row in table.select().order_by(order_by): file.write(utils.int_pad(i)) i += 1 file.write(utils.string_pad(row.name, direction="left")) file.write(utils.code_pad(row.obj_typ)) file.write(utils.int_pad(row.obj_typ_no, default_pad=10)) file.write( utils.exp_pad(row.bsn_frac, use_non_zero_min=True)) file.write(utils.num_pad(row.sub_frac)) file.write(utils.num_pad(row.reg_frac)) file.write("\n")
def write(self): table = db.Ls_unit_def order_by = db.Ls_unit_def.id count = table.select().count() if count > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) file.write(str(count)) file.write("\n") file.write(utils.int_pad("id")) file.write(utils.string_pad("name")) file.write(utils.num_pad("area")) file.write(utils.int_pad("elem_tot")) file.write(utils.int_pad("elements")) file.write("\n") i = 1 for row in table.select().order_by(order_by): file.write(utils.int_pad(i)) i += 1 file.write(utils.string_pad(row.name)) file.write(utils.num_pad(row.area)) self.write_ele_ids(file, table, db.Ls_unit_ele, row.elements, use_obj_id=False) file.write("\n")
def write(self): table = connect.Rout_unit_con order_by = connect.Rout_unit_con.id count = table.select().count() if count > 0: element_table = connect.Rout_unit_ele first_elem = element_table.get() obj_table = table_mapper.obj_typs.get(first_elem.obj_typ, None) obj_ids = [o.id for o in obj_table.select(obj_table.id).order_by(obj_table.id)] with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) file.write(utils.int_pad("id")) file.write(utils.string_pad("name")) file.write(utils.int_pad("elem_tot")) file.write(utils.int_pad("elements")) file.write("\n") i = 1 for row in table.select().order_by(order_by): file.write(utils.int_pad(i)) i += 1 file.write(utils.string_pad(row.name)) self.write_ele_ids2(file, table, element_table, row.elements, obj_table, obj_ids) file.write("\n")
def write_row(file, con, index, con_to_index, con_outs): file.write(utils.int_pad(index)) file.write(utils.string_pad(con.name, direction="left")) file.write(utils.int_pad(con.gis_id)) file.write(utils.num_pad(con.area, use_non_zero_min=True)) file.write(utils.num_pad(con.lat)) file.write(utils.num_pad(con.lon)) file.write(utils.num_pad(con.elev)) file.write(utils.int_pad(con_to_index)) file.write(utils.string_pad("null" if con.wst is None else con.wst.name)) file.write(utils.int_pad(con.cst_id)) file.write(utils.int_pad(con.ovfl)) file.write(utils.int_pad(con.rule)) file.write(utils.int_pad(con_outs.count())) for out in con_outs: obj_id = out.obj_id elem_table = table_mapper.obj_typs.get(out.obj_typ, None) if elem_table is not None: obj_id = elem_table.select().where( elem_table.id <= out.obj_id).count() file.write(utils.code_pad(out.obj_typ)) file.write(utils.int_pad(obj_id)) file.write(utils.code_pad(out.hyd_typ)) file.write(utils.num_pad(out.frac)) file.write("\n")
def write(self): table = db.Delratio_del order_by = db.Delratio_del.id if table.select().count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) cols = [ col(table.name, direction="left"), col(table.om), col(table.pest), col(table.path), col(table.hmet), col(table.salt) ] self.write_headers(file, cols) file.write("\n") for row in table.select().order_by(order_by): file.write(utils.string_pad(row.name, direction="left")) file.write(utils.key_name_pad(row.om)) file.write(utils.key_name_pad(row.pest)) file.write(utils.key_name_pad(row.path)) file.write(utils.key_name_pad(row.hmet)) file.write(utils.key_name_pad(row.salt)) file.write("\n")
def write(self): table = db.Graze_ops order_by = db.Graze_ops.id if table.select().count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) cols = [col(table.name, direction="left"), col(table.fert), col(table.bm_eat), col(table.bm_tramp), col(table.man_amt), col(table.grz_bm_min), col(table.description, is_desc=True)] self.write_headers(file, cols) file.write("\n") for row in table.select().order_by(order_by): file.write(utils.string_pad(row.name, direction="left")) file.write(utils.key_name_pad(row.fert)) file.write(utils.num_pad(row.bm_eat)) file.write(utils.num_pad(row.bm_tramp)) file.write(utils.num_pad(row.man_amt)) file.write(utils.num_pad(row.grz_bm_min)) utils.write_desc_string(file, row.description) file.write("\n")
def write(self): table = db.Rout_unit_rtu order_by = db.Rout_unit_rtu.id if table.select().count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) file.write(utils.int_pad("id")) file.write(utils.string_pad("name")) file.write(utils.string_pad("define")) file.write(utils.string_pad("dlr")) file.write(utils.string_pad("topo")) file.write(utils.string_pad("field")) file.write("\n") i = 1 for row in table.select().order_by(order_by): file.write(utils.int_pad(i)) i += 1 file.write(utils.string_pad(row.name)) file.write(utils.string_pad(row.name)) file.write(utils.key_name_pad(row.dlr)) file.write(utils.key_name_pad(row.topo)) file.write(utils.key_name_pad(row.field)) file.write("\n")
def write(self): table = db.Reservoir_res order_by = db.Reservoir_res.id if table.select().count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) file.write(utils.int_pad("id")) file.write(utils.string_pad("name", direction="left")) file.write(utils.string_pad("init")) file.write(utils.string_pad("hyd")) file.write(utils.string_pad("rel")) file.write(utils.string_pad("sed")) file.write(utils.string_pad("nut")) file.write("\n") for row in table.select().order_by(order_by): file.write(utils.int_pad(row.id)) file.write(utils.string_pad(row.name, direction="left")) file.write( utils.key_name_pad(row.init, default_pad=utils.DEFAULT_STR_PAD)) file.write( utils.key_name_pad(row.hyd, default_pad=utils.DEFAULT_STR_PAD)) file.write( utils.key_name_pad(row.rel, default_pad=utils.DEFAULT_STR_PAD)) file.write( utils.key_name_pad(row.sed, default_pad=utils.DEFAULT_STR_PAD)) file.write( utils.key_name_pad(row.nut, default_pad=utils.DEFAULT_STR_PAD)) file.write("\n")
def write(self): table = db.Landuse_lum order_by = db.Landuse_lum.id if table.select().count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) cols = [ col(table.name, padding_override=20, direction="left"), col(table.cal_group), col(table.plnt_com), col(table.mgt), col(table.cn2), col(table.cons_prac), col(table.urban), col(table.urb_ro), col(table.ov_mann), col(table.tile), col(table.sep), col(table.vfs), col(table.grww), col(table.bmp) ] self.write_headers(file, cols) file.write("\n") for row in table.select().order_by(order_by): file.write( utils.string_pad(row.name, direction="left", default_pad=20)) file.write(utils.string_pad(row.cal_group)) file.write(utils.key_name_pad(row.plnt_com)) file.write(utils.key_name_pad(row.mgt)) file.write(utils.key_name_pad(row.cn2)) file.write(utils.key_name_pad(row.cons_prac)) file.write(utils.key_name_pad(row.urban)) file.write(utils.string_pad(row.urb_ro)) file.write(utils.key_name_pad(row.ov_mann)) file.write(utils.key_name_pad(row.tile)) file.write(utils.key_name_pad(row.sep)) file.write(utils.key_name_pad(row.vfs)) file.write(utils.key_name_pad(row.grww)) file.write(utils.key_name_pad(row.bmp)) file.write("\n")
def write_rows(self, file, items): for row in items.order_by(db.Topography_hyd.id): file.write(utils.string_pad(row.name, direction="left")) file.write(utils.num_pad(row.slp)) file.write(utils.num_pad(row.slp_len)) file.write(utils.num_pad(row.lat_len)) file.write(utils.num_pad(row.dist_cha)) file.write(utils.num_pad(row.depos)) file.write("\n")
def write(self): table = db.Plant_ini order_by = db.Plant_ini.id if table.select().count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) file.write(utils.string_pad("pcom_name", direction="left")) file.write(utils.int_pad("plt_cnt")) file.write(utils.int_pad("rot_yr_ini")) file.write( utils.string_pad("plt_name", default_pad=utils.DEFAULT_KEY_PAD)) file.write(utils.code_pad("lc_status")) file.write(utils.num_pad("lai_init")) file.write(utils.num_pad("bm_init")) file.write(utils.num_pad("phu_init")) file.write(utils.num_pad("plnt_pop")) file.write(utils.num_pad("yrs_init")) file.write(utils.num_pad("rsd_init")) file.write("\n") for row in table.select().order_by(order_by): file.write(utils.string_pad(row.name, direction="left")) file.write(utils.int_pad(row.plants.count())) file.write(utils.int_pad(row.rot_yr_ini)) file.write("\n") for plant in row.plants: file.write(utils.string_pad("", text_if_null="")) file.write( utils.string_pad( "", text_if_null="", default_pad=utils.DEFAULT_INT_PAD)) file.write(utils.key_name_pad(plant.plnt_name)) utils.write_bool_yn(file, plant.lc_status) file.write(utils.num_pad(plant.lai_init)) file.write(utils.num_pad(plant.bm_init)) file.write(utils.num_pad(plant.phu_init)) file.write(utils.num_pad(plant.plnt_pop)) file.write(utils.num_pad(plant.yrs_init)) file.write(utils.num_pad(plant.rsd_init)) file.write("\n")
def write(self): table = db.Path_water_ini.select().order_by(db.Path_water_ini.id) items = db.Path_water_ini_item.select().order_by( db.Path_water_ini_item.name) query = prefetch(table, items) if table.count() > 0 and Constituents_cs.select().count() > 0: constits_row = Constituents_cs.select().first() constits = [] if constits_row.path_coms is None else sorted( constits_row.path_coms.split(',')) if len(constits) > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) file.write( utils.string_pad("name", direction="left", default_pad=25)) for c in constits: file.write(utils.num_pad(c)) file.write("\n") for row in query: file.write( utils.string_pad(row.name, direction="left", default_pad=25)) file.write("\n") water_line = " " + utils.string_pad( "water", direction="left", default_pad=23) benthic_line = " " + utils.string_pad( "benthic", direction="left", default_pad=23) for item in row.path_waters: water_line += utils.num_pad(item.water, decimals=3) benthic_line += utils.num_pad(item.benthic, decimals=3) file.write(water_line) file.write("\n") file.write(benthic_line) file.write("\n")
def write(self): table = db.Exco_exc order_by = db.Exco_exc.id valid_recs = Recall_dat.select(Recall_dat.recall_rec_id).join( Recall_rec).where((Recall_rec.rec_typ == 4) & (Recall_dat.flo != 0)) valid_ids = [r.recall_rec_id for r in valid_recs] recall_recs = Recall_rec.select().where(Recall_rec.id.in_(valid_ids)) #recall_recs = Recall_rec.select(Recall_rec, Recall_dat).join(Recall_dat).where((Recall_rec.rec_typ == 4) & (Recall_dat.flo != 0)) if recall_recs.count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) cols = [ col(table.name, direction="left"), col(table.om), col(table.pest), col(table.path), col(table.hmet), col(table.salt) ] self.write_headers(file, cols) file.write("\n") """for row in table.select().order_by(order_by): file.write(utils.string_pad(row.name, direction="left")) file.write(utils.key_name_pad(row.om)) file.write(utils.key_name_pad(row.pest)) file.write(utils.key_name_pad(row.path)) file.write(utils.key_name_pad(row.hmet)) file.write(utils.key_name_pad(row.salt)) file.write("\n")""" for row in recall_recs: file.write(utils.string_pad(row.name, direction="left")) file.write(utils.string_pad(row.name)) file.write(utils.key_name_pad(None)) file.write(utils.key_name_pad(None)) file.write(utils.key_name_pad(None)) file.write(utils.key_name_pad(None)) file.write("\n")
def write(self): table = db.Pest_hru_ini.select().order_by(db.Pest_hru_ini.id) items = db.Pest_hru_ini_item.select().order_by( db.Pest_hru_ini_item.name) query = prefetch(table, items) if table.count() > 0 and Constituents_cs.select().count() > 0: constits_row = Constituents_cs.select().first() constits = [] if constits_row.pest_coms is None else sorted( constits_row.pest_coms.split(',')) if len(constits) > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) file.write( utils.string_pad("name", direction="left", default_pad=25)) for c in constits: file.write(utils.num_pad(c)) file.write("\n") for row in query: file.write( utils.string_pad(row.name, direction="left", default_pad=25)) file.write("\n") soil_line = " " + utils.string_pad( "soil", direction="left", default_pad=23) plant_line = " " + utils.string_pad( "plant", direction="left", default_pad=23) for item in row.pest_hrus: soil_line += utils.num_pad(item.soil, decimals=3) plant_line += utils.num_pad(item.plant, decimals=3) file.write(soil_line) file.write("\n") file.write(plant_line) file.write("\n")
def write_constit(self, file, values, label): items = [] if values is None else values.split(",") items.sort() file.write(utils.int_pad(len(items), default_pad=6, direction="right")) file.write(" ") file.write(utils.string_pad("!{}".format(label), direction="left")) file.write("\n") file.write(" ") for item in items: file.write(item) file.write(" ") file.write("\n")
def write(self): table = db.Ls_unit_def order_by = db.Ls_unit_def.id count = table.select().count() element_table = db.Ls_unit_ele first_elem = element_table.get() obj_table = table_mapper.obj_typs.get(first_elem.obj_typ, None) obj_ids = [ o.id for o in obj_table.select(obj_table.id).order_by(obj_table.id) ] if count > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) file.write(str(count)) file.write("\n") file.write(utils.int_pad("id")) file.write(utils.string_pad("name")) file.write(utils.num_pad("area")) file.write(utils.int_pad("elem_tot")) file.write(utils.int_pad("elements")) file.write("\n") i = 1 for row in table.select().order_by(order_by): file.write(utils.int_pad(i)) i += 1 file.write(utils.string_pad(row.name)) file.write(utils.num_pad(row.area)) self.write_ele_ids2(file, table, element_table, row.elements, obj_table, obj_ids, use_obj_id=False) file.write("\n")
def write(self): table = connect.Rout_unit_con order_by = connect.Rout_unit_con.id count = table.select().count() if count > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) file.write(utils.int_pad("id")) file.write(utils.string_pad("name")) file.write(utils.int_pad("elem_tot")) file.write(utils.int_pad("elements")) file.write("\n") i = 1 for row in table.select().order_by(order_by): file.write(utils.int_pad(i)) i += 1 file.write(utils.string_pad(row.name)) self.write_ele_ids(file, table, connect.Rout_unit_ele, row.elements) file.write("\n")
def write(self): if db.Hydrology_hyd.select().count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) file.write(utils.string_pad("name", direction="left")) file.write(utils.num_pad("lat_ttime")) file.write(utils.num_pad("lat_sed")) file.write(utils.num_pad("can_max")) file.write(utils.num_pad("esco")) file.write(utils.num_pad("epco")) file.write(utils.num_pad("orgn_enrich")) file.write(utils.num_pad("orgp_enrich")) file.write(utils.num_pad("evap_pothole")) file.write(utils.num_pad("bio_mix")) file.write(utils.num_pad("perco")) file.write(utils.num_pad("lat_orgn")) file.write(utils.num_pad("lat_orgp")) file.write(utils.num_pad("harg_pet")) file.write(utils.num_pad("cn_plntet")) file.write("\n") for row in db.Hydrology_hyd.select().order_by( db.Hydrology_hyd.id): file.write(utils.string_pad(row.name, direction="left")) file.write(utils.num_pad(row.lat_ttime)) file.write(utils.num_pad(row.lat_sed)) file.write(utils.num_pad(row.can_max)) file.write(utils.num_pad(row.esco)) file.write(utils.num_pad(row.epco)) file.write(utils.num_pad(row.orgn_enrich)) file.write(utils.num_pad(row.orgp_enrich)) file.write(utils.num_pad(row.evap_pothole)) file.write(utils.num_pad(row.bio_mix)) file.write(utils.num_pad(row.perco)) file.write(utils.num_pad(row.lat_orgn)) file.write(utils.num_pad(row.lat_orgp)) file.write(utils.num_pad(row.harg_pet)) file.write(utils.num_pad(row.cn_plntet)) file.write("\n")
def write_header(file, elem_name, has_con_out): file.write(utils.int_pad("id")) file.write(utils.string_pad("name", direction="left")) file.write(utils.int_pad("gis_id")) file.write(utils.num_pad("area")) file.write(utils.num_pad("lat")) file.write(utils.num_pad("lon")) file.write(utils.num_pad("elev")) file.write(utils.int_pad(elem_name)) file.write(utils.string_pad("wst")) file.write(utils.int_pad("cst")) file.write(utils.int_pad("ovfl")) file.write(utils.int_pad("rule")) file.write(utils.int_pad("out_tot")) if has_con_out: file.write(utils.code_pad("obj_typ")) file.write(utils.int_pad("obj_id")) file.write(utils.code_pad("hyd_typ")) file.write(utils.num_pad("frac")) file.write("\n")
def write(self): table = db.Pest_water_ini order_by = db.Pest_water_ini.id if table.select().count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) for row in table.select().order_by(order_by): file.write( utils.string_pad("name", direction="left", default_pad=25)) file.write(utils.num_pad("water_sol")) file.write(utils.num_pad("water_sor")) file.write(utils.num_pad("benthic_sol")) file.write(utils.num_pad("benthic_sor")) file.write("\n") file.write( utils.string_pad(row.name, direction="left", default_pad=25)) file.write("\n") for item in row.pest_waters: file.write( utils.string_pad("", text_if_null="", default_pad=1)) file.write( utils.key_name_pad(item.name, default_pad=22)) file.write(utils.num_pad(item.water_sol)) file.write(utils.num_pad(item.water_sor)) file.write(utils.num_pad(item.benthic_sol)) file.write(utils.num_pad(item.benthic_sor)) file.write("\n")
def write(self): table = db.Exco_exc order_by = db.Exco_exc.id recall_recs = Recall_rec.select().where(Recall_rec.rec_typ == 4) if table.select().count() > 0 or recall_recs.count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) cols = [ col(table.name, direction="left"), col(table.om), col(table.pest), col(table.path), col(table.hmet), col(table.salt) ] self.write_headers(file, cols) file.write("\n") for row in table.select().order_by(order_by): file.write(utils.string_pad(row.name, direction="left")) file.write(utils.key_name_pad(row.om)) file.write(utils.key_name_pad(row.pest)) file.write(utils.key_name_pad(row.path)) file.write(utils.key_name_pad(row.hmet)) file.write(utils.key_name_pad(row.salt)) file.write("\n") for row in recall_recs: file.write(utils.string_pad(row.name, direction="left")) file.write(utils.string_pad(row.name)) file.write(utils.key_name_pad(None)) file.write(utils.key_name_pad(None)) file.write(utils.key_name_pad(None)) file.write(utils.key_name_pad(None)) file.write("\n")
def write(self): if db.Topography_hyd.select().count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) file.write(utils.string_pad("name", direction="left")) file.write(utils.num_pad("slp")) file.write(utils.num_pad("slp_len")) file.write(utils.num_pad("lat_len")) file.write(utils.num_pad("dist_cha")) file.write(utils.num_pad("depos")) file.write("\n") self.write_rows( file, db.Topography_hyd.select().where( db.Topography_hyd.type == "hru")) self.write_rows( file, db.Topography_hyd.select().where( db.Topography_hyd.type == "sub"))
def write(self): #self.write_default_table(db.Exco_om_exc, True) table = db.Exco_om_exc order_by = db.Exco_om_exc.id #recall_recs = Recall_rec.select(Recall_rec, Recall_dat).join(Recall_dat).where((Recall_rec.rec_typ == 4) & (Recall_dat.flo != 0)) valid_recs = Recall_dat.select(Recall_dat.recall_rec_id).join( Recall_rec).where((Recall_rec.rec_typ == 4) & (Recall_dat.flo != 0)) valid_ids = [r.recall_rec_id for r in valid_recs] recall_recs = Recall_rec.select().where(Recall_rec.id.in_(valid_ids)) if recall_recs.count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) cols = [ col(table.name, direction="left"), col(table.flo), col(table.sed), col(table.orgn), col(table.sedp), col(table.no3), col(table.solp), col(table.chla), col(table.nh3), col(table.no2), col(table.cbod), col(table.dox), col(table.sand), col(table.silt), col(table.clay), col(table.sag), col(table.lag), col(table.gravel), col(table.tmp) ] self.write_headers(file, cols) file.write("\n") """for row in table.select().order_by(order_by): file.write(utils.string_pad(row.name, direction="left")) file.write(utils.num_pad(row.flo)) file.write(utils.num_pad(row.sed)) file.write(utils.num_pad(row.orgn)) file.write(utils.num_pad(row.sedp)) file.write(utils.num_pad(row.no3)) file.write(utils.num_pad(row.solp)) file.write(utils.num_pad(row.chla)) file.write(utils.num_pad(row.nh3)) file.write(utils.num_pad(row.no2)) file.write(utils.num_pad(row.cbod)) file.write(utils.num_pad(row.dox)) file.write(utils.num_pad(row.sand)) file.write(utils.num_pad(row.silt)) file.write(utils.num_pad(row.clay)) file.write(utils.num_pad(row.sag)) file.write(utils.num_pad(row.lag)) file.write(utils.num_pad(row.gravel)) file.write(utils.num_pad(row.tmp)) file.write("\n")""" for rec in recall_recs: row = Recall_dat.get_or_none( (Recall_dat.recall_rec_id == rec.id) & (Recall_dat.flo != 0)) if row is not None: file.write(utils.string_pad(rec.name, direction="left")) file.write(utils.num_pad(row.flo)) file.write(utils.num_pad(row.sed)) file.write(utils.num_pad(row.orgn)) file.write(utils.num_pad(row.sedp)) file.write(utils.num_pad(row.no3)) file.write(utils.num_pad(row.solp)) file.write(utils.num_pad(row.chla)) file.write(utils.num_pad(row.nh3)) file.write(utils.num_pad(row.no2)) file.write(utils.num_pad(row.cbod)) file.write(utils.num_pad(row.dox)) file.write(utils.num_pad(row.sand)) file.write(utils.num_pad(row.silt)) file.write(utils.num_pad(row.clay)) file.write(utils.num_pad(row.sag)) file.write(utils.num_pad(row.lag)) file.write(utils.num_pad(row.gravel)) file.write(utils.num_pad(row.tmp)) file.write("\n")
def write(self): table = db.Management_sch op_table = db.Management_sch_op mgts = table.select().order_by(table.id) ops = op_table.select().order_by(op_table.order, op_table.hu_sch, op_table.mon, op_table.day) query = prefetch(mgts, ops) if mgts.count() > 0: with open(self.file_name, 'w') as file: self.write_meta_line(file) header_cols = [ col(table.name, direction="left", padding_override=25), col("numb_ops", not_in_db=True, padding_override=utils.DEFAULT_INT_PAD), col("numb_auto", not_in_db=True, padding_override=9), col(op_table.op_typ), col(op_table.mon), col(op_table.day), col(op_table.hu_sch), col(op_table.op_data1), col(op_table.op_data2), col(op_table.op_data3) ] self.write_headers(file, header_cols) total_pad = 46 file.write("\n") for row in query: row_cols = [ col(row.name, direction="left", padding_override=25), col(len(row.operations)), col(len(row.auto_ops), padding_override=9) ] self.write_row(file, row_cols) file.write("\n") special_tables = [ 'pl_hv_summer1', 'pl_hv_summer2', 'pl_hv_winter1' ] for aop in row.auto_ops: file.write(utils.string_pad(" ", default_pad=total_pad)) file.write(utils.key_name_pad(aop.d_table)) if aop.d_table.name in special_tables: file.write( utils.string_pad(aop.plant1, default_pad=5)) if aop.d_table.name == special_tables[1]: file.write( utils.string_pad(aop.plant2, default_pad=5)) file.write("\n") skip_op = 'skip' for op in row.operations: op_row_cols = [ col(" ", padding_override=total_pad), col(op.op_typ), col(op.mon if op.op_typ != skip_op else 0), col(op.day if op.op_typ != skip_op else 0), col(op.hu_sch if op.op_typ != skip_op else 0), col(op.op_data1), col(op.op_data2), col(op.op_data3) ] self.write_row(file, op_row_cols) file.write("\n")
def write(self): table = db.Object_cnt order_by = db.Object_cnt.id if table.select().count() > 0: with open(self.file_name, 'w') as file: self.write_meta_line(file) header_cols = [col(table.name, direction="left"), col("ls_area", not_in_db=True, padding_override=utils.DEFAULT_NUM_PAD), col("tot_area", not_in_db=True, padding_override=utils.DEFAULT_NUM_PAD), col(table.obj), col(table.hru), col(table.lhru), col(table.rtu), col(table.mfl), col(table.aqu), col(table.cha), col(table.res), col(table.rec), col(table.exco), col(table.dlr), col(table.can), col(table.pmp), col(table.out), col(table.lcha), col(table.aqu2d), col(table.hrd), col(table.wro)] self.write_headers(file, header_cols) file.write("\n") for row in table.select().order_by(order_by): ls_area = Ls_unit_def.select(fn.Sum(Ls_unit_def.area)).scalar() tot_area = Rout_unit_con.select(fn.Sum(Rout_unit_con.area)).scalar() file.write(utils.string_pad(row.name, direction="left")) file.write(utils.num_pad(ls_area)) file.write(utils.num_pad(tot_area)) hru = self.get_value_or_count(row.hru, Hru_con) lhru = self.get_value_or_count(row.lhru, Hru_lte_con) rtu = self.get_value_or_count(row.rtu, Rout_unit_con) mfl = self.get_value_or_count(row.mfl, Modflow_con) aqu = self.get_value_or_count(row.aqu, Aquifer_con) cha = self.get_value_or_count(row.cha, Channel_con) res = self.get_value_or_count(row.res, Reservoir_con) #rec = self.get_value_or_count(row.rec, Recall_con) #exco = self.get_value_or_count(row.exco, Exco_con) #exco = Recall_con.select().join(Recall_rec).join(Recall_dat).where((Recall_rec.rec_typ == 4) & (Recall_dat.flo != 0)).count() #rec = Recall_con.select().join(Recall_rec).join(Recall_dat).where(Recall_rec.rec_typ != 4).count() rec = Recall_rec.select().where(Recall_rec.rec_typ != 4).count() exco = Recall_dat.select().join(Recall_rec).where((Recall_rec.rec_typ == 4) & (Recall_dat.flo != 0)).count() dlr = self.get_value_or_count(row.dlr, Delratio_con) out = self.get_value_or_count(row.out, Outlet_con) lcha = self.get_value_or_count(row.lcha, Chandeg_con) aqu2d = self.get_value_or_count(row.aqu2d, Aquifer2d_con) obj_tot = hru + lhru + rtu + mfl + aqu + cha + res + rec + exco + dlr + out + lcha + aqu2d obj_tot += row.can + row.pmp + row.hrd + row.wro file.write(utils.int_pad(obj_tot)) file.write(utils.int_pad(hru)) file.write(utils.int_pad(lhru)) file.write(utils.int_pad(rtu)) file.write(utils.int_pad(mfl)) file.write(utils.int_pad(aqu)) file.write(utils.int_pad(cha)) file.write(utils.int_pad(res)) file.write(utils.int_pad(rec)) file.write(utils.int_pad(exco)) file.write(utils.int_pad(dlr)) file.write(utils.int_pad(row.can)) file.write(utils.int_pad(row.pmp)) file.write(utils.int_pad(out)) file.write(utils.int_pad(lcha)) file.write(utils.int_pad(aqu2d)) file.write(utils.int_pad(row.hrd)) file.write(utils.int_pad(row.wro)) file.write("\n")
def write(self): #self.write_default_table(db.Exco_om_exc, True) table = db.Exco_om_exc order_by = db.Exco_om_exc.id recall_recs = Recall_rec.select().where(Recall_rec.rec_typ == 4) if table.select().count() > 0 or recall_recs.count() > 0: with open(self.file_name, 'w') as file: file.write(self.get_meta_line()) cols = [ col(table.name, direction="left"), col(table.flo), col(table.sed), col(table.orgn), col(table.sedp), col(table.no3), col(table.solp), col(table.chla), col(table.nh3), col(table.no2), col(table.cbod), col(table.dox), col(table.sand), col(table.silt), col(table.clay), col(table.sag), col(table.lag), col(table.gravel), col(table.tmp) ] self.write_headers(file, cols) file.write("\n") for row in table.select().order_by(order_by): file.write(utils.string_pad(row.name, direction="left")) file.write(utils.num_pad(row.flo)) file.write(utils.num_pad(row.sed)) file.write(utils.num_pad(row.orgn)) file.write(utils.num_pad(row.sedp)) file.write(utils.num_pad(row.no3)) file.write(utils.num_pad(row.solp)) file.write(utils.num_pad(row.chla)) file.write(utils.num_pad(row.nh3)) file.write(utils.num_pad(row.no2)) file.write(utils.num_pad(row.cbod)) file.write(utils.num_pad(row.dox)) file.write(utils.num_pad(row.sand)) file.write(utils.num_pad(row.silt)) file.write(utils.num_pad(row.clay)) file.write(utils.num_pad(row.sag)) file.write(utils.num_pad(row.lag)) file.write(utils.num_pad(row.gravel)) file.write(utils.num_pad(row.tmp)) file.write("\n") for rec in recall_recs: row = Recall_dat.get_or_none( Recall_dat.recall_rec_id == rec.id) if row is not None: file.write(utils.string_pad(rec.name, direction="left")) file.write(utils.num_pad(row.flo)) file.write(utils.num_pad(row.sed)) file.write(utils.num_pad(row.ptl_n)) file.write(utils.num_pad(row.ptl_p)) file.write(utils.num_pad(row.no3_n)) file.write(utils.num_pad(row.sol_p)) file.write(utils.num_pad(row.chla)) file.write(utils.num_pad(row.nh3_n)) file.write(utils.num_pad(row.no2_n)) file.write(utils.num_pad(row.cbn_bod)) file.write(utils.num_pad(row.oxy)) file.write(utils.num_pad(row.sand)) file.write(utils.num_pad(row.silt)) file.write(utils.num_pad(row.clay)) file.write(utils.num_pad(row.sm_agg)) file.write(utils.num_pad(row.lg_agg)) file.write(utils.num_pad(row.gravel)) file.write(utils.num_pad(row.tmp)) file.write("\n")