コード例 #1
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")
コード例 #2
0
    def write_headers(self, file, cols):
        for file_col in cols:
            if file_col.not_in_db:
                if file_col.padding_override is not None:
                    utils.write_string(file,
                                       file_col.value,
                                       default_pad=file_col.padding_override,
                                       direction=file_col.direction)
                else:
                    utils.write_string(file,
                                       file_col.value,
                                       direction=file_col.direction)
            else:
                db_col = file_col.value
                name = db_col.name

                # if not file_col.is_desc:
                if file_col.alt_header_name != "":
                    name = file_col.alt_header_name
                elif file_col.query_alias != "":
                    name = file_col.query_alias
                elif db_col.verbose_name is not None:
                    name = db_col.verbose_name

                name = name.lower()

                if file_col.repeat is not None:
                    name += str(file_col.repeat)

                if file_col.is_desc:
                    utils.write_desc_string(file, name)
                elif file_col.padding_override is not None:
                    utils.write_string(file,
                                       name,
                                       default_pad=file_col.padding_override,
                                       direction=file_col.direction)
                elif isinstance(db_col, ForeignKeyField):
                    utils.write_string(file,
                                       name,
                                       direction=file_col.direction)
                elif isinstance(db_col, IntegerField):
                    utils.write_int(file, name, direction=file_col.direction)
                elif isinstance(db_col, DoubleField):
                    utils.write_num(file, name, direction=file_col.direction)
                elif isinstance(db_col, BooleanField):
                    utils.write_code(file, name, direction=file_col.direction)
                else:
                    utils.write_string(file,
                                       name,
                                       direction=file_col.direction)
コード例 #3
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)