dissect.target.tools.dump.state
#
Module Contents#
Classes#
Functions#
Create a DumpState instance with provided properties |
|
Return a context manager for persisting DumpState instance |
|
Load persisted DumpState instance from provided output_dir path |
|
JSON serializer for object types not serializable by json lib |
Attributes#
- dissect.target.tools.dump.state.log#
- dissect.target.tools.dump.state.STATE_FILE_NAME = 'target-dump.state.json'#
- dissect.target.tools.dump.state.PENDING_UPDATES_LIMIT = 10#
- class dissect.target.tools.dump.state.Sink#
- target_path: str#
- func: str#
- path: pathlib.Path#
- is_dirty: bool = True#
- record_count: int = 0#
- size_bytes: int = 0#
- class dissect.target.tools.dump.state.DumpState#
- property record_count: int#
- property path: pathlib.Path#
- target_paths: List[str]#
- functions: List[str]#
- serialization: str#
- compression: str#
- start_time: datetime.datetime#
- last_update_time: datetime.datetime#
- output_dir: Optional[pathlib.Path]#
- pending_updates_count: Optional[int] = 0#
- classmethod get_state_path(output_dir: pathlib.Path) pathlib.Path #
- serialize() str #
Serialize state instance into a JSON formatted string
- persist(fh: TextIO) None #
Write serialized state instance into profided fh byte stream, overwriting it from the beginning
- mark_as_finished(target: dissect.target.Target, func: str) None #
Mark sinks that match provided target and func pair as not dirty.
- create_sink(sink_path: pathlib.Path, stream_element) Sink #
Create a sink instance for provided sink_path and stream_element (from which target and func properties are used).
- update(stream_element, fp_position: int) None #
Update a sink instance for provided stream_element.
- classmethod from_path(output_dir: pathlib.Path) Optional[DumpState] #
Deserialize state instance from a file in the provided output directory path
- get_invalid_sinks() List[Sink] #
Return sinks that have a mismatch between recorded size and a real file size
- drop_invalid_sinks() None #
Remove sinks that have a mismatch between recorded size and a real file size from the list of sinks.
- drop_dirty_sinks() None #
Drop sinks that are marked as “dirty” in the current state from the list of sinks
- dissect.target.tools.dump.state.create_state(*, output_dir: pathlib.Path, target_paths: List[str], functions: List[str], serialization: dissect.target.tools.dump.utils.Serialization, compression: dissect.target.tools.dump.utils.Compression = None) DumpState #
Create a DumpState instance with provided properties
- dissect.target.tools.dump.state.persisted_state(state: DumpState) Iterator[Callable] #
Return a context manager for persisting DumpState instance
- dissect.target.tools.dump.state.load_state(output_dir: pathlib.Path) Optional[DumpState] #
Load persisted DumpState instance from provided output_dir path and perform sink validation.
- dissect.target.tools.dump.state.serialize_obj(obj: Any) str #
JSON serializer for object types not serializable by json lib