Extension Version

class ocdsextensionregistry.extension_version.ExtensionVersion(data, input_url=None, url_pattern=None, file_urls=None)[source]
__init__(data, input_url=None, url_pattern=None, file_urls=None)[source]

Accepts a row from extension_versions.csv and assigns values to properties.

id

The Id cell.

date

The Date cell.

version

The Version cell.

base_url

The Base URL cell.

input_url

The URL that was provided in a list to ocdsextensionregistry.profile_builder.ProfileBuilder.extensions().

download_url

The Download URL cell.

__repr__()[source]

Return repr(self).

update(other)[source]

Merges in the properties of another Extension or ExtensionVersion object.

as_dict()[source]

Returns the object’s public properties as a dictionary.

get_url(basename)[source]

Returns the URL of the file within the extension.

Raises:

NotImplementedError – if the basename is not in the file URLs and the base URL is not set

remote(basename, default=None)[source]

Returns the contents of the file within the extension. If the default is set and the file does not exist, returns the provided default value.

If the extension has a download URL, caches all the files’ contents. Otherwise, downloads and caches the requested file’s contents. Raises an HTTPError if a download fails.

Raises:
property files

Returns the unparsed contents of all files. Decodes the contents of CSV, JSON and Markdown files.

If the extension has a download URL, caches all the files’ contents. Otherwise, returns an empty dict. Raises an HTTPError if the download fails.

Raises:

zipfile.BadZipFile – if the download URL is not a ZIP file

zipfile()[source]

If the extension has a download URL, downloads and returns the ZIP archive.

Raises:
property metadata

Retrieves and returns the parsed contents of the extension’s extension.json file.

Adds language maps if not present.

property schemas

Retrieves and returns the parsed contents of the extension’s schemas files.

property codelists

Retrieves and returns the parsed contents of the extension’s codelists files.

If the extension has no download URL, and if no codelists are listed in extension.json, returns an empty dict.

property repository_full_name

Returns the full name of the extension’s repository, which should be a unique identifier on the hosting service, e.g. open-contracting-extensions/ocds_bid_extension

property repository_name

Returns the short name of the extension’s repository, i.e. omitting any organizational prefix, which can be used to create directories, e.g. ocds_bid_extension

property repository_user

Returns the user or organization to which the extension’s repository belongs, e.g. open-contracting-extensions

property repository_ref

Returns the ref in the extension’s URL if the extension’s files are in the repository’s root, like v1.1.5

property repository_user_page

Returns the URL to the landing page of the user or organization to which the extension’s repository belongs, e.g. https://github.com/open-contracting-extensions

property repository_html_page

Returns the URL to the landing page of the extension’s repository, e.g. https://github.com/open-contracting-extensions/ocds_bid_extension

property repository_url

Returns the URL of the extension’s repository, in a format that can be input to a VCS program without modification, e.g. https://github.com/open-contracting-extensions/ocds_bid_extension.git

property repository_ref_download_url

Returns the download URL for the ref in the extensions’s URL, e.g. https://github.com/open-contracting-extensions/ocds_bid_extension/archive/v1.1.5.zip