Esempio n. 1
0
def word_in_context(request, dataset, analysis, word, topic=None):
    analysis = Analysis.objects.get(name=analysis, dataset__name=dataset)
    w = Word.objects.get(dataset__name=dataset, type=word)
    word_context = WordSummary(word)

    if topic is None:
        docset = w.documentword_set.all()
    else:
        topic = Topic.objects.get(analysis=analysis, number=topic)
        docset = topic.documenttopicword_set.filter(word=w)

    num_docs = len(docset)
    d = docset[random.randint(0, num_docs - 1)]

    word_context.left_context, word_context.word, word_context.right_context \
 = d.document.get_context_for_word(word, analysis, topic.number if topic else None)

    word_context.doc_name = d.document.filename
    word_context.doc_id = d.document.id
    return HttpResponse(anyjson.dumps(vars(word_context)))