colour_datasets.Community

class colour_datasets.Community(data: Dict, configuration: Optional[colour_datasets.records.configuration.Configuration] = None)[source]

Bases: collections.abc.Mapping

Define an object storing a Zenodo community data.

Parameters
  • data (Dict) – Zenodo community data.

  • configuration (Optional[Configuration]) – Colour - Datasets configuration.

Attributes

Methods

Examples

>>> community_data = json_open(
...     'https://zenodo.org/api/communities/colour-science-datasets')
>>> records_data = json_open(
...     'https://zenodo.org/api/records/?q=communities:'
...     'colour-science-datasets')
>>> community = Community({
...     'community': community_data,
...     'records': records_data,
... })

# Doctests skip for Python 2.x compatibility. >>> community[‘3245883’].title # doctest: +SKIP ‘Camera Spectral Sensitivity Database - Jiang et al. (2013)’

property data: Dict

Getter property for the Zenodo community data.

Returns

Zenodo community data.

Return type

dict

property configuration: colour_datasets.records.configuration.Configuration

Getter property for the Colour - Datasets configuration.

Returns

Colour - Datasets configuration.

Return type

colour_datasets.Configuration

property repository: str

Getter property for the Zenodo community local repository.

Returns

Zenodo community local repository.

Return type

str

property records: Dict

Getter property for the Zenodo community records.

Returns

Zenodo community records.

Return type

dict

static from_id(id_: str, configuration: Optional[colour_datasets.records.configuration.Configuration] = None, retries: int = 3) colour_datasets.records.zenodo.Community[source]

colour_datasets.Community class factory that builds an instance using given Zenodo community id.

Parameters
Returns

Zenodo community data.

Return type

colour_datasets.Community

Examples

>>> community = Community.from_id('colour-science-datasets-tests')

# Doctests skip for Python 2.x compatibility. >>> community[‘3245883’].title # doctest: +SKIP ‘Camera Spectral Sensitivity Database - Jiang et al. (2013)’

synced() bool[source]

Return whether the Zenodo community data is synced to the local repository.

Returns

Whether the Zenodo community data is synced to the local repository.

Return type

bool

Examples

>>> from colour_datasets.utilities import suppress_stdout
>>> community = Community.from_id('colour-science-datasets-tests')
>>> with suppress_stdout():
...     community.pull()  
>>> community.synced()  
True
>>> community.remove()
>>> community.synced()
False
pull(use_urls_txt_file: bool = True, retries: int = 3)[source]

Pull the Zenodo community data to the local repository.

Parameters
  • use_urls_txt_file (bool) – Whether to use the urls.txt file: if such a file is present in a Zenodo record data, the urls it defines take precedence over the record data files. The later will be used in the eventuality where the urls are not available.

  • retries (int) – Number of retries in case where a networking error occurs or the MD5 hash is not matching.

Examples

>>> from colour_datasets.utilities import suppress_stdout
>>> community = Community.from_id('colour-science-datasets-tests')
>>> community.remove()
>>> with suppress_stdout():
...     community.pull()  
>>> community.synced()  
True
remove()[source]

Remove the Zenodo community data local repository.

Examples

>>> from colour_datasets.utilities import suppress_stdout
>>> community = Community.from_id('colour-science-datasets-tests')
>>> with suppress_stdout():
...     community.pull()  
>>> community.remove()
>>> community.synced()
False