Esempio n. 1
0
    def write_row(self, file, cols):
        for file_col in cols:
            string_null = file_col.text_if_null if file_col.text_if_null is not None else utils.NULL_STR
            num_null = file_col.text_if_null if file_col.text_if_null is not None else utils.NULL_NUM

            if file_col.is_desc:
                utils.write_desc_string(file, file_col.value)
            elif file_col.padding_override is not None:
                if isinstance(file_col.value, int):
                    utils.write_int(file,
                                    file_col.value,
                                    default_pad=file_col.padding_override,
                                    direction=file_col.direction)
                elif isinstance(file_col.value, float):
                    utils.write_num(file,
                                    file_col.value,
                                    default_pad=file_col.padding_override,
                                    direction=file_col.direction,
                                    text_if_null=num_null,
                                    use_non_zero_min=file_col.use_non_zero_min)
                else:
                    utils.write_string(file,
                                       file_col.value,
                                       default_pad=file_col.padding_override,
                                       direction=file_col.direction,
                                       text_if_null=string_null)
            elif isinstance(file_col.value, int):
                utils.write_int(file,
                                file_col.value,
                                direction=file_col.direction)
            elif isinstance(file_col.value, float):
                utils.write_num(file,
                                file_col.value,
                                direction=file_col.direction,
                                text_if_null=num_null,
                                use_non_zero_min=file_col.use_non_zero_min)
            elif isinstance(file_col.value, bool):
                utils.write_bool_yn(file,
                                    file_col.value,
                                    direction=file_col.direction,
                                    text_if_null=num_null)
            else:
                utils.write_string(file,
                                   file_col.value,
                                   direction=file_col.direction,
                                   text_if_null=string_null)
Esempio n. 2
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")
	def write(self):
		table = db.Print_prt

		if table.select().count() > 0:
			row = table.select().first()

			with open(self.file_name, 'w') as file:
				self.write_meta_line(file)
				header_cols = [col(table.nyskip, direction="left", padding_override=10),
							   col(table.day_start, direction="left"),
							   col(table.yrc_start, direction="left"),
							   col(table.day_end, direction="left"),
							   col(table.yrc_end, direction="left"),
							   col(table.interval, direction="left")]
				self.write_headers(file, header_cols)
				file.write("\n")

				row_cols = [col(row.nyskip, direction="left", padding_override=10),
							col(row.day_start, direction="left"),
							col(row.yrc_start, direction="left"),
							col(row.day_end, direction="left"),
							col(row.yrc_end, direction="left"),
							col(row.interval, direction="left")]
				self.write_row(file, row_cols)
				file.write("\n")

				aa_int_cnt = len(row.aa_ints)
				file.write(utils.int_pad("aa_int_cnt", default_pad=10, direction="left"))
				file.write("\n")
				file.write(utils.int_pad(aa_int_cnt, default_pad=10, direction="left"))

				if aa_int_cnt > 0:
					for aa_int in row.aa_ints:
						file.write(utils.int_pad(aa_int, direction="left"))

				file.write("\n")

				header_cols = [col(table.csvout, direction="left"),
							   col(table.dbout, direction="left"),
							   col(table.cdfout, direction="left")]
				self.write_headers(file, header_cols)
				file.write("\n")

				utils.write_bool_yn(file, row.csvout, direction="left")
				utils.write_bool_yn(file, row.dbout, direction="left")
				utils.write_bool_yn(file, row.cdfout, direction="left")
				file.write("\n")

				header_cols = [col(table.soilout, direction="left"),
							   col(table.mgtout, direction="left"),
							   col(table.hydcon, direction="left"),
							   col(table.fdcout, direction="left")]
				self.write_headers(file, header_cols)
				file.write("\n")

				utils.write_bool_yn(file, row.soilout, direction="left")
				utils.write_bool_yn(file, row.mgtout, direction="left")
				utils.write_bool_yn(file, row.hydcon, direction="left")
				utils.write_bool_yn(file, row.fdcout, direction="left")
				file.write("\n")

				obj_table = db.Print_prt_object
				header_cols = [col("objects", not_in_db=True, direction="left"),
							   col(obj_table.daily),
							   col(obj_table.monthly),
							   col(obj_table.yearly),
							   col(obj_table.avann)]
				self.write_headers(file, header_cols)
				file.write("\n")

				for obj in row.objects.order_by(obj_table.id):
					utils.write_string(file, obj.name, direction="left")
					utils.write_bool_yn(file, obj.daily)
					utils.write_bool_yn(file, obj.monthly)
					utils.write_bool_yn(file, obj.yearly)
					utils.write_bool_yn(file, obj.avann)
					file.write("\n")
    def write(self):
        table = db.Codes_sft

        if table.select().count() > 0:
            row = table.select().first()

            with open(self.file_name, 'w') as file:
                self.write_meta_line(file)
                header_cols = [
                    col(table.hyd_hru, direction="left"),
                    col(table.hyd_hrulte, direction="left"),
                    col(table.plnt, direction="left"),
                    col(table.sed, direction="left"),
                    col(table.nut, direction="left"),
                    col(table.ch_sed, direction="left"),
                    col(table.ch_nut, direction="left"),
                    col(table.res, direction="left")
                ]
                self.write_headers(file, header_cols)
                file.write("\n")

                utils.write_bool_yn(file, row.hyd_hru, direction="left")
                utils.write_bool_yn(file, row.hyd_hrulte, direction="left")
                utils.write_bool_yn(file, row.plnt, direction="left")
                utils.write_bool_yn(file, row.sed, direction="left")
                utils.write_bool_yn(file, row.nut, direction="left")
                utils.write_bool_yn(file, row.ch_sed, direction="left")
                utils.write_bool_yn(file, row.ch_nut, direction="left")
                utils.write_bool_yn(file, row.res, direction="left")
                file.write("\n")