Packager¶
- class ocdskit.packager.Packager(force_version=None)[source]¶
The Packager context manager helps to build a single record package, or a stream of compiled releases or merged releases. Release packages and/or individual releases can be added to the packager. All releases should use the same version of OCDS.
- Parameters:
force_version (str | None)
- add(data, ignore_version=False)[source]¶
Adds release packages and/or individual releases to be merged.
- Parameters:
data – an iterable of release packages and individual releases
ignore_version (bool) – do not raise an error if the versions are inconsistent across items to merge
- Raises:
InconsistentVersionError – if the versions are inconsistent across items to merge
- output_package(merger, return_versioned_release=False, use_linked_releases=False, streaming=False, convert_exceptions_to_warnings=False)[source]¶
Yields a record package.
- Parameters:
merger (Merger) – a merger
return_versioned_release (bool) – whether to include a versioned release in each record
use_linked_releases (bool) – whether to use linked releases instead of full releases, if possible
streaming (bool) – whether to set the package’s records to a generator instead of a list
convert_exceptions_to_warnings (bool) – whether to convert inconsistent type errors from OCDS Merge to warnings
- output_records(merger, return_versioned_release=False, use_linked_releases=False, convert_exceptions_to_warnings=False)[source]¶
Yields records, ordered by OCID.
- Parameters:
merger (Merger) – a merger
return_versioned_release (bool) – whether to include a versioned release in the record
use_linked_releases (bool) – whether to use linked releases instead of full releases, if possible
convert_exceptions_to_warnings (bool) – whether to convert inconsistent type errors from OCDS Merge to warnings
- class ocdskit.packager.AbstractBackend[source]¶
- add_release(release, package_uri)[source]¶
Adds a release to the backend. (The release might be added to an internal buffer.)
- Raises:
MissingOcidKeyError – if the release is missing an
ocid
field