Extending Superdesk

Changed in version 1.6.

Adding new Search Provider

You have to implement a new SearchProvider and register it within superdesk:

import superdesk


class FooSearchProvider(superdesk.SearchProvider):

    label = 'Foo'

    def find(self, query):
        return [{'headline': 'Static list'}]


def init_app(app):
    superdesk.register_search_provider('foo', provider_class=FooSearchProvider)

This way it will add a new option to subscribers settings.

Important

Don’t forget to add such module into INSTALLED_APPS.

Search Provider API

class superdesk.SearchProvider(provider)

Base class for Search Providers.

You can use self.provider to get config data.

fetch(guid)

Get single item.

Get an item before archiving it. Should contain all metadata.

Parameters:guid – item guid
fetch_file(href)

Fetch binary using given href.

Href is from renditions dict.

Parameters:href – binary href
find(query)

Find items using query.

This must return cursor like object.

Parameters:query – query dict
label = 'unknown'

Provider Type Label