csb43.formats
¶
Conversion from AEB43 to dict and tabular formats
- class csb43.formats.CsbJsonEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)¶
a JSON encoder ready for currency and dates
- default(o)¶
Implement this method in a subclass such that it returns a serializable object for
o
, or calls the base implementation (to raise aTypeError
).For example, to support arbitrary iterators, you could implement default like this:
def default(self, o): try: iterable = iter(o) except TypeError: pass else: return list(iterable) # Let the base class default method raise the TypeError return JSONEncoder.default(self, o)
- exception csb43.formats.FormatWarning¶
a warning related to conversion formats
- csb43.formats.convert_aeb43_to_dict(batch: Batch, expected_format: str = 'json', decimal_fallback=None) _TablibSurrogate ¶
Convert from CSB43 to a dictionary format
- Args:
- batchBatch
an AEB43 Batch
- expected_formatstr
destination format
- csb43.formats.convert_aeb43_to_tabular(batch: Batch, expected_format='ods', decimal_fallback=None)¶
Convert an AEB43 batch into a tablib data object
Args:
- batchBatch
an AEB43 batch
- expected_format: str
output format
- decimal_fallback: str | None
fall-back representation for decimal objects
Returns a tablib.Databook or tablib.Dataset
- csb43.formats.convert_from_aeb43(batch: Batch, expected_format: str, decimal_fallback: str | None = None)¶
Convert a batch file into a
tablib
data object or a dictionary-like objectArgs:
- batchBatch
an AEB43 batch
- decimal_fallback
decimal number fallback representation:
‘float’: use type float
‘str’: represent decimal as a string
None: use default fallback (‘str’)
Returns
tablib.Databook
,tablib.Dataset
or an object with an attribute named as expected_format
- formats.FORMATS = ['json', 'csv', 'latex', 'ods', 'xlsx', 'yaml', 'tsv', 'html', 'jira', 'dbf', 'rst', 'xls']¶
- formats.TABLIB_FORMATS = ['json', 'xlsx', 'xls', 'yaml', 'csv', 'tsv', 'ods', 'dbf', 'html', 'jira', 'latex', 'rst']¶
- formats.DICT_FORMATS = ['json', 'yaml']¶
- csb43.formats.convertFromCsb(csb: File, expectedFormat, decimal_fallback=None)¶
Convert a File file into an
tablib
data object or a dictionary-like object- Parameters:
csb (
csb43.csb43.File
) – a csb filedecimal_fallback – decimal number fallback representation:
‘float’: use type float
‘str’: represent decimal as a string
None: use default fallback (‘str’)
- Return type:
tablib.Databook
,tablib.Dataset
or a object with an attribute named as expectedFormat
Deprecated since version 0.10.0: use csb43.formats.convert_from_aeb43
- csb43.formats.convertFromCsb2Dict(csb: File, expectedFormat='json', decimal_fallback=None)¶
Convert from CSB43 to a dictionary format
- Parameters:
csb (
csb43.csb43.File
) – a csb filedecimal_fallback – decimal number fallback representation
- Return type:
a object with an attribute named as expectedFormat
- Raises:
csb43.utils.Csb43Exception
when the format is unknown or unsupported
>>> from csb43.csb43 import File >>> import csb43.formats as formats >>> f = File() >>> o = formats.convertFromCsb2Dict(f, 'yaml') >>> print(o.yaml) cuentas: []
>>> o = formats.convertFromCsb2Dict(f, 'json') >>> print(o.json) { "cuentas": [] }
Deprecated since version 0.10.0: use csb43.formats.convert_aeb43_to_dict
- csb43.formats.convertFromCsb2Tabular(csb: File, expectedFormat='ods', decimal_fallback=None)¶
Convert a File file into an
tablib
data object- Parameters:
csb (
csb43.csb43.File
) – a csb filedecimal_fallback – decimal number fallback representation
- Return type:
tablib.Databook
ortablib.Dataset
Deprecated since version 0.10.0: use csb43.formats.convert_aeb43_to_tabular