| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | ## Dailymotion (Videos)## @website     https://www.dailymotion.com# @provide-api yes (http://www.dailymotion.com/developer)## @using-api   yes# @results     JSON# @stable      yes# @parse       url, title, thumbnail, publishedDate, embedded## @todo        set content-parameter with correct datafrom urllib import urlencodefrom json import loadsfrom cgi import escapefrom datetime import datetime# engine dependent configcategories = ['videos']paging = Truelanguage_support = True# search-url# see http://www.dailymotion.com/doc/api/obj-video.htmlsearch_url = 'https://api.dailymotion.com/videos?fields=created_time,title,description,duration,url,thumbnail_360_url,id&sort=relevance&limit=5&page={pageno}&{query}'  # noqaembedded_url = '<iframe frameborder="0" width="540" height="304" ' +\    'data-src="//www.dailymotion.com/embed/video/{videoid}" allowfullscreen></iframe>'# do search-requestdef request(query, params):    if params['language'] == 'all':        locale = 'en-US'    else:        locale = params['language']    params['url'] = search_url.format(        query=urlencode({'search': query, 'localization': locale}),        pageno=params['pageno'])    return params# get response from search-requestdef response(resp):    results = []    search_res = loads(resp.text)    # return empty array if there are no results    if not 'list' in search_res:        return []    # parse results    for res in search_res['list']:        title = res['title']        url = res['url']        content = escape(res['description'])        thumbnail = res['thumbnail_360_url']        publishedDate = datetime.fromtimestamp(res['created_time'], None)        embedded = embedded_url.format(videoid=res['id'])        results.append({'template': 'videos.html',                        'url': url,                        'title': title,                        'content': content,                        'publishedDate': publishedDate,                        'embedded': embedded,                        'thumbnail': thumbnail})    # return results    return results
 |