sasdata.ascii_reader_metadata module¶
- class sasdata.ascii_reader_metadata.AsciiMetadataCategory(values: dict[str, T]=<factory>)¶
Bases:
Generic- __annotations__ = {'values': dict[str, T]}¶
- __dataclass_fields__ = {'values': Field(name='values',type=dict[str, T],default=<dataclasses._MISSING_TYPE object>,default_factory=<class 'dict'>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}¶
- __dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False,match_args=True,kw_only=False,slots=False,weakref_slot=False)¶
- __dict__ = mappingproxy({'__module__': 'sasdata.ascii_reader_metadata', '__firstlineno__': 34, '__type_params__': (T,), '__annotations__': {'values': dict[str, T]}, '__static_attributes__': (), '__orig_bases__': (typing.Generic[T],), '__dict__': <attribute '__dict__' of 'AsciiMetadataCategory' objects>, '__weakref__': <attribute '__weakref__' of 'AsciiMetadataCategory' objects>, '__doc__': 'AsciiMetadataCategory(values: dict[str, T] = <factory>)', '__parameters__': (T,), '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False,match_args=True,kw_only=False,slots=False,weakref_slot=False), '__dataclass_fields__': {'values': Field(name='values',type=dict[str, T],default=<dataclasses._MISSING_TYPE object>,default_factory=<class 'dict'>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}, '__replace__': <function _replace>, '__hash__': None, '__init__': <function AsciiMetadataCategory.__init__>, '__repr__': <function AsciiMetadataCategory.__repr__>, '__eq__': <function AsciiMetadataCategory.__eq__>, '__match_args__': ('values',)})¶
- __doc__ = 'AsciiMetadataCategory(values: dict[str, T] = <factory>)'¶
- __eq__(other)¶
Return self==value.
- __firstlineno__ = 34¶
- __hash__ = None¶
- __init__(values: dict[str, T]=<factory>) None¶
- __match_args__ = ('values',)¶
- __module__ = 'sasdata.ascii_reader_metadata'¶
- __orig_bases__ = (typing.Generic[T],)¶
- __parameters__ = (T,)¶
- __replace__(**changes)¶
- __repr__()¶
Return repr(self).
- __static_attributes__ = ()¶
- __type_params__ = (T,)¶
- __weakref__¶
list of weak references to the object
- values: dict[str, T]¶
- class sasdata.ascii_reader_metadata.AsciiReaderMetadata(filename_specific_metadata: dict[str, dict[str, sasdata.ascii_reader_metadata.AsciiMetadataCategory[str]]]=<factory>, filename_separator: dict[str, str | bool]=<factory>, master_metadata: dict[str, sasdata.ascii_reader_metadata.AsciiMetadataCategory[int]]=<factory>)¶
Bases:
object- __annotations__ = {'filename_separator': dict[str, str | bool], 'filename_specific_metadata': dict[str, dict[str, sasdata.ascii_reader_metadata.AsciiMetadataCategory[str]]], 'master_metadata': dict[str, sasdata.ascii_reader_metadata.AsciiMetadataCategory[int]]}¶
- __dataclass_fields__ = {'filename_separator': Field(name='filename_separator',type=dict[str, str | bool],default=<dataclasses._MISSING_TYPE object>,default_factory=<class 'dict'>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'filename_specific_metadata': Field(name='filename_specific_metadata',type=dict[str, dict[str, sasdata.ascii_reader_metadata.AsciiMetadataCategory[str]]],default=<dataclasses._MISSING_TYPE object>,default_factory=<class 'dict'>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'master_metadata': Field(name='master_metadata',type=dict[str, sasdata.ascii_reader_metadata.AsciiMetadataCategory[int]],default=<dataclasses._MISSING_TYPE object>,default_factory=<function default_categories>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}¶
- __dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False,match_args=True,kw_only=False,slots=False,weakref_slot=False)¶
- __dict__ = mappingproxy({'__module__': 'sasdata.ascii_reader_metadata', '__firstlineno__': 41, '__annotations__': {'filename_specific_metadata': dict[str, dict[str, sasdata.ascii_reader_metadata.AsciiMetadataCategory[str]]], 'filename_separator': dict[str, str | bool], 'master_metadata': dict[str, sasdata.ascii_reader_metadata.AsciiMetadataCategory[int]]}, 'init_separator': <function AsciiReaderMetadata.init_separator>, 'filename_components': <function AsciiReaderMetadata.filename_components>, 'purge_unreachable': <function AsciiReaderMetadata.purge_unreachable>, 'all_file_metadata': <function AsciiReaderMetadata.all_file_metadata>, 'get_metadata': <function AsciiReaderMetadata.get_metadata>, 'update_metadata': <function AsciiReaderMetadata.update_metadata>, 'clear_metadata': <function AsciiReaderMetadata.clear_metadata>, 'add_file': <function AsciiReaderMetadata.add_file>, '__static_attributes__': (), '__dict__': <attribute '__dict__' of 'AsciiReaderMetadata' objects>, '__weakref__': <attribute '__weakref__' of 'AsciiReaderMetadata' objects>, '__doc__': 'AsciiReaderMetadata(filename_specific_metadata: dict[str, dict[str, sasdata.ascii_reader_metadata.AsciiMetadataCategory[str]]] = <factory>, filename_separator: dict[str, str | bool] = <factory>, master_metadata: dict[str, sasdata.ascii_reader_metadata.AsciiMetadataCategory[int]] = <factory>)', '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False,match_args=True,kw_only=False,slots=False,weakref_slot=False), '__dataclass_fields__': {'filename_specific_metadata': Field(name='filename_specific_metadata',type=dict[str, dict[str, sasdata.ascii_reader_metadata.AsciiMetadataCategory[str]]],default=<dataclasses._MISSING_TYPE object>,default_factory=<class 'dict'>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'filename_separator': Field(name='filename_separator',type=dict[str, str | bool],default=<dataclasses._MISSING_TYPE object>,default_factory=<class 'dict'>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'master_metadata': Field(name='master_metadata',type=dict[str, sasdata.ascii_reader_metadata.AsciiMetadataCategory[int]],default=<dataclasses._MISSING_TYPE object>,default_factory=<function default_categories>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}, '__replace__': <function _replace>, '__hash__': None, '__init__': <function AsciiReaderMetadata.__init__>, '__repr__': <function AsciiReaderMetadata.__repr__>, '__eq__': <function AsciiReaderMetadata.__eq__>, '__match_args__': ('filename_specific_metadata', 'filename_separator', 'master_metadata')})¶
- __doc__ = 'AsciiReaderMetadata(filename_specific_metadata: dict[str, dict[str, sasdata.ascii_reader_metadata.AsciiMetadataCategory[str]]] = <factory>, filename_separator: dict[str, str | bool] = <factory>, master_metadata: dict[str, sasdata.ascii_reader_metadata.AsciiMetadataCategory[int]] = <factory>)'¶
- __eq__(other)¶
Return self==value.
- __firstlineno__ = 41¶
- __hash__ = None¶
- __init__(filename_specific_metadata: dict[str, dict[str, ~sasdata.ascii_reader_metadata.AsciiMetadataCategory[str]]]=<factory>, filename_separator: dict[str, str | bool]=<factory>, master_metadata: dict[str, ~sasdata.ascii_reader_metadata.AsciiMetadataCategory[int]]=<factory>) None¶
- __match_args__ = ('filename_specific_metadata', 'filename_separator', 'master_metadata')¶
- __module__ = 'sasdata.ascii_reader_metadata'¶
- __replace__(**changes)¶
- __repr__()¶
Return repr(self).
- __static_attributes__ = ()¶
- __weakref__¶
list of weak references to the object
- add_file(new_filename: str)¶
Add a filename to the metadata, filling it with some default categories.
- all_file_metadata(filename: str) dict[str, AsciiMetadataCategory[str]]¶
Return all of the metadata for known for the specified filename. This will combin the master metadata specified for all files with the metadata specific to that filename.
- clear_metadata(category: str, key: str, filename: str)¶
Remove any metadata recorded for a certain filename.
- filename_components(filename: str, cut_off_extension: bool = True, capture: bool = False) list[str]¶
Split the filename into several components based on the current separator for that file.
- filename_separator: dict[str, str | bool]¶
- filename_specific_metadata: dict[str, dict[str, AsciiMetadataCategory[str]]]¶
- get_metadata(category: str, value: str, filename: str, error_on_not_found=False) str | None¶
Get a particular piece of metadata for the filename.
- init_separator(filename: str)¶
- master_metadata: dict[str, AsciiMetadataCategory[int]]¶
- purge_unreachable(filename: str)¶
This is used when the separator has changed. If lets say we now have 2 components when there were 5 but the 3rd component was selected, this will now produce an index out of range exception. Thus we’ll need to purge this to stop exceptions from happening.
- update_metadata(category: str, key: str, filename: str, new_value: str | int)¶
Update the metadata for a filename. If the new_value is a string, then this new metadata will be specific to that file. Otherwise, if new_value is an integer, then this will represent the component of the filename that this metadata applies to all.
- sasdata.ascii_reader_metadata.default_categories() dict[str, AsciiMetadataCategory[str | int]]¶