예제 #1
0
파일: views.py 프로젝트: jgdevelopment/Odin
def add_link(request, topic_slug):
    topic = Topic.objects.get(slug=topic_slug)

    def render_page():
        params = {'topic_name': topic.name}
        return render(request, 'topics/add_link.html', params)

    if request.method == 'POST':
        url = request.POST.get('url')
        description = request.POST.get('description')
        if not Link.objects.filter(url=url).exists():
            link = Link(url=url, description=description)
            link.topic = topic
            link.save()
        return HttpResponseRedirect(
            reverse('topics.views.view_topic', args=(topic.slug, )))
    else:
        return render_page()
예제 #2
0
파일: views.py 프로젝트: jgdevelopment/Odin
def _bing_api_call(search_term):
    auth = str(
        base64.b64encode(
            b'GADjTrr1YGG7uFx58yNvkuJNUTEN7s6++SnOiOnwaYM:GADjTrr1YGG7uFx58yNvkuJNUTEN7s6++SnOiOnwaYM'
        ), 'utf-8')
    header = {'Authorization': 'Basic ' + auth}
    url = 'https://api.datamarket.azure.com/Bing/Search/Web?$format=json'
    data = {'Query': "'" + search_term + "'"}
    data = urllib.parse.urlencode(data)
    request = urllib.request.Request(url + '&' + data, None, header)
    request_open = urllib.request.urlopen(request)
    response = request_open.read()
    request_open.close()
    parsed = json.loads(response.decode('utf-8'))
    links = []
    for entry in parsed['d']['results']:
        link = Link(url=entry['Url'], description=entry['Description'])
        links.append(link)
    return links[:10]