| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | ## Github (It)## @website     https://github.com/# @provide-api yes (https://developer.github.com/v3/)## @using-api   yes# @results     JSON# @stable      yes (using api)# @parse       url, title, contentfrom urllib import urlencodefrom json import loadsfrom cgi import escape# engine dependent configcategories = ['it']# search-urlsearch_url = 'https://api.github.com/search/repositories?sort=stars&order=desc&{query}'  # noqaaccept_header = 'application/vnd.github.preview.text-match+json'# do search-requestdef request(query, params):    params['url'] = search_url.format(query=urlencode({'q': query}))    params['headers']['Accept'] = accept_header    return params# get response from search-requestdef response(resp):    results = []    search_res = loads(resp.text)    # check if items are recieved    if not 'items' in search_res:        return []    # parse results    for res in search_res['items']:        title = res['name']        url = res['html_url']        if res['description']:            content = escape(res['description'][:500])        else:            content = ''        # append result        results.append({'url': url,                        'title': title,                        'content': content})    # return results    return results
 |