Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 13 additions & 9 deletions diffbot.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
class Client(object):
"""Diffbot client."""

_apis = frozenset(('article', 'frontpage', 'product', 'image', 'analyze',
'discussion'))
_apis = frozenset(('article', 'frontpage', 'product', 'image', 'video',
'analyze', 'discussion'))

def __init__(self, token, version=API_VERSION):
"""Initialise the client."""
Expand Down Expand Up @@ -105,6 +105,10 @@ def image(self, url, **kwargs):
"""Image API."""
return self.api('image', url, **kwargs)

def video(self, url, **kwargs):
"""Video API."""
return self.api('video', url, **kwargs)

def analyze(self, url, **kwargs):
"""Classifier (analyze) API."""
return self.api('analyze', url, **kwargs)
Expand All @@ -123,15 +127,10 @@ def crawl(self, urls, name='crawl', api='analyze', **kwargs):
urls = ' '.join(urls)
url = self.endpoint('crawl')
process_url = self.endpoint(api)
params = {
'token': self._token,
'seeds': urls,
'name': name,
'apiUrl': process_url,
}
params = {'token': self._token, 'seeds': urls, 'name': name,
'apiUrl': process_url, 'maxToCrawl': 10}

# Add any additional named parameters as accepted by Crawlbot
params['maxToCrawl'] = 10
params.update(kwargs)

self._get(url, params=params)
Expand Down Expand Up @@ -217,6 +216,11 @@ def image(url, token, **kwargs):
return api('image', url, token, **kwargs)


def video(url, token, **kwargs):
"""Shortcut for `Client(token, version).video(url)`."""
return api('video', url, token, **kwargs)


def analyze(url, token, **kwargs):
"""Shortcut for `Client(token, version).analyze(url)`."""
return api('analyze', url, token, **kwargs)
Expand Down