2.9.1.1. pycsamt.seg.base#
Base classes for SEG-EDI objects and components.
This module provides a small reusable base class that standardizes: string representation, pretty printing of key/value lines in the SEG-EDI style, and simple (de)serialization helpers.
Subclasses only need to:
- set _section (e.g., "HEAD", "INFO", …)
- define typed attributes (via __annotations__ or dataclass)
- optionally override validate or value formatting if needed.
Classes
|
|
|
|
|
|
|
|
|
|
|
- class pycsamt.seg.base.Base(*args, verbose=0, logger=None, **kwargs)[source]
Bases:
object- Parameters:
verbose (int)
- INDENT: int = 2
- PER_LINE: int = 6
- FLOAT_FMT: str = '{: .6E}'
- class pycsamt.seg.base.BaseMixin(*args, verbose=0, logger=None, **kwargs)[source]
Bases:
Base- Parameters:
verbose (int)
- class pycsamt.seg.base.SEGBase(*args, verbose=0, logger=None, **kwargs)[source]
Bases:
Base- Parameters:
verbose (int)
- class pycsamt.seg.base.EDIComponentBase(*args, verbose=0, logger=None, **kwargs)[source]
Bases:
Base- Parameters:
verbose (int)
- classmethod from_dict(data)[source]
- to_lines(*, only=None, indent=None)[source]
- validate()[source]
- Return type:
None
- class pycsamt.seg.base.EdiFileBase(*, path=None, strict_validate=True)[source]
Bases:
EDIComponentBase,ABC- strict_validate: bool = True
- block_size: int = 6
- number_fmt: str = ' 15.6e'
- data_header_tpl: str = '>!****{title}****!\n'
- classmethod from_file(file, **kw)[source]
- write_file(file=None, *, overwrite=True)[source]
- abstractmethod read()[source]
- Return type:
EdiFileBase
- format_kv(key, value, *, quote=False, width=None)[source]
- format_data_block(title, data, *, per_line=None, header_comment=True, count_comment=True)[source]
- static ensure_descending_frequency(freq)[source]