コード例 #1
0
	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")
コード例 #2
0
    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")
コード例 #3
0
    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")
コード例 #4
0
ファイル: ops.py プロジェクト: waternk/SWATPlus-AW
	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")
コード例 #5
0
ファイル: init.py プロジェクト: waternk/SWATPlus-AW
    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")
コード例 #6
0
	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")
コード例 #7
0
    def write(self):
        table = db.Hru_data_hru
        order_by = db.Hru_data_hru.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("topo"))
                file.write(utils.string_pad("hydro"))
                file.write(utils.string_pad("soil"))
                file.write(utils.string_pad("lu_mgt"))
                file.write(utils.string_pad("soil_plant_init"))
                file.write(utils.string_pad("surf_stor"))
                file.write(utils.string_pad("snow"))
                file.write(utils.string_pad("field"))
                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.topo))
                    file.write(utils.key_name_pad(row.hydro))
                    file.write(utils.key_name_pad(row.soil))
                    file.write(utils.key_name_pad(row.lu_mgt))
                    file.write(utils.key_name_pad(row.soil_plant_init))
                    file.write(utils.key_name_pad(row.surf_stor))
                    file.write(utils.key_name_pad(row.snow))
                    file.write(utils.string_pad(row.field))
                    file.write("\n")
コード例 #8
0
    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")
コード例 #9
0
    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")
コード例 #10
0
ファイル: exco.py プロジェクト: waternk/SWATPlus-AW
    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")
コード例 #11
0
ファイル: init.py プロジェクト: waternk/SWATPlus-AW
    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")
コード例 #12
0
    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")
コード例 #13
0
    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")