Skip to content

Image

GalleryImagePlugin

Bases: SingletonPlugin

Implements the basic image field The URL of an image is present in a text field.

Source code in ckanext/gallery/plugins/image.py
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
class GalleryImagePlugin(SingletonPlugin):
    """
    Implements the basic image field The URL of an image is present in a text field.
    """

    implements(IGalleryImage)

    def image_info(self):
        """

        :returns: If resource type is set, only dataset of that type will be available

        """
        return {
            'title': 'Text',
            'resource_type': toolkit.config.get(
                'ckanext.gallery.image.resource_types', 'csv tsv'
            ).split(' '),
            'field_type': ['text'],
        }

    def get_images(self, field_value, record, data_dict):
        """
        Get images from field value and returns them as a list of dicts specifying just
        the href.

        :param field_value: the value of the record's image field
        :param record: the record dict itself
        :param data_dict: relevant data in a dict, currently we only use the
            resource_view contained within
        :returns: a list of dicts
        """
        # retrieve the delimiter if there is one
        delimiter = data_dict['resource_view'].get('image_delimiter', None)
        if delimiter:
            # split the text by the delimiter if we have one
            images = field_value.split(delimiter)
        else:
            images = [field_value]

        return [{'href': image.strip()} for image in images if image.strip()]

get_images(field_value, record, data_dict)

Get images from field value and returns them as a list of dicts specifying just the href.

Parameters:

Name Type Description Default
field_value

the value of the record's image field

required
record

the record dict itself

required
data_dict

relevant data in a dict, currently we only use the resource_view contained within

required

Returns:

Type Description

a list of dicts

Source code in ckanext/gallery/plugins/image.py
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
def get_images(self, field_value, record, data_dict):
    """
    Get images from field value and returns them as a list of dicts specifying just
    the href.

    :param field_value: the value of the record's image field
    :param record: the record dict itself
    :param data_dict: relevant data in a dict, currently we only use the
        resource_view contained within
    :returns: a list of dicts
    """
    # retrieve the delimiter if there is one
    delimiter = data_dict['resource_view'].get('image_delimiter', None)
    if delimiter:
        # split the text by the delimiter if we have one
        images = field_value.split(delimiter)
    else:
        images = [field_value]

    return [{'href': image.strip()} for image in images if image.strip()]

image_info()

Returns:

Type Description

If resource type is set, only dataset of that type will be available

Source code in ckanext/gallery/plugins/image.py
19
20
21
22
23
24
25
26
27
28
29
30
31
def image_info(self):
    """

    :returns: If resource type is set, only dataset of that type will be available

    """
    return {
        'title': 'Text',
        'resource_type': toolkit.config.get(
            'ckanext.gallery.image.resource_types', 'csv tsv'
        ).split(' '),
        'field_type': ['text'],
    }