-
Merger — Base class for merges.
-
AdditiveMerger — Merge with mergedeep.
-
ReplaceMerger — Merge with mergedeep.
-
UpdateMerger — Merge with update.
comicbox.merge¶
source package comicbox.merge
Recursive merging for containers.
Every Merger merges at the level of the mapping it is handed: none of them knows about the comicbox root tag. Callers holding root-wrapped metadata unwrap it first (see ComicboxMerge._merge_metadata_by_source and ComicboxMetadata._set_computed_merged_metadata). Before, only UpdateMerger reached into ROOT_TAG, so the same merger object meant two different things depending on which call site used it — and handing it the sub-metadata the other mergers take silently dropped the merge.
Classes
Bases : ABC
Base class for merges.
Methods
-
merge — Merge sources into dest, left to right, and return dest.
source staticmethod Merger.merge(dest: MutableMapping, *sources: Mapping) → MutableMapping
Merge sources into dest, left to right, and return dest.
Raises
-
NotImplementedError
source class AdditiveMerger()
source staticmethod AdditiveMerger.merge(dest: MutableMapping, *sources: Mapping) → MutableMapping
Merge with mergedeep.
source class ReplaceMerger()
source staticmethod ReplaceMerger.merge(dest: MutableMapping, *sources: Mapping) → MutableMapping
Merge with mergedeep.
source class UpdateMerger()
Bases : Merger
Merge with update.
Methods
-
merge — Shallowly update dest with each source’s top level keys.
source staticmethod UpdateMerger.merge(dest: MutableMapping, *sources: Mapping) → MutableMapping
Shallowly update dest with each source’s top level keys.