Example #1
0
def frags(request):
    filtr={}
    template_vars={}
    docfilter=None
    cutoff=None
    pippifilter=None
    try:
        docfilter = ObjectId(cgi.escape(request.GET.get('doc','')))
    except:
        pass
    if docfilter:
        filtr['doc']=docfilter
    try:
        pippifilter = ObjectId(cgi.escape(request.GET.get('pippi','')))
    except:
        pass
    if pippifilter:
        filtr['pippi']=pippifilter
    else:
        try:
            cutoff = int(cgi.escape(request.GET.get('cutoff','7')))
        except:
            pass
    if cutoff: filtr['l']={ '$gte': cutoff }
    orderBy = 'l'
    orderDesc = True
    template_vars=pager(request,Frags.find(filtr),orderBy,orderDesc)
    prevDoc=None
    template_vars['frags']=[]
    for frag in template_vars['data']:
        p=Pippi('',oid=frag['pippi'])
        d=Doc(oid=frag['doc'])
        if pippifilter:
            frag['txt']=diffFrag(prevDoc,frag['txt'])
            prevDoc=frag['txt']
        template_vars['frags'].append({'_id': frag['_id'],
                                       'pos': frag['pos'],
                                       'txt': " ".join(frag['txt']),
                                       'len': frag['l'],
                                       'score': sum([d.tfidf.get(t,0) for t in p.pippi]),
                                       'pippi': p,
                                       'doc': d,
                                       })

    template_vars['pippi']=pippifilter
    template_vars['doc']=docfilter
    if docfilter: template_vars['docTitle']=Docs.find_one({'_id': docfilter},['docid'])['docid']
    if pippifilter: template_vars['pippiFilter']=1 #" ".join(Pippies.find_one({'_id': pippifilter},['pippi'])['pippi'])
    return render_to_response('frags.html', template_vars, context_instance=RequestContext(request))
Example #2
0
 def getFrags(self, cutoff=7):
     return Frags.find({'l': { '$gte': int(cutoff)},
                        'doc': self._id,
                        }).sort([('l', pymongo.DESCENDING)])
Example #3
0
def frags(request):
    filtr = {}
    template_vars = {}
    docfilter = None
    cutoff = None
    pippifilter = None
    try:
        docfilter = ObjectId(cgi.escape(request.GET.get('doc', '')))
    except:
        pass
    if docfilter:
        filtr['doc'] = docfilter
    try:
        pippifilter = ObjectId(cgi.escape(request.GET.get('pippi', '')))
    except:
        pass
    if pippifilter:
        filtr['pippi'] = pippifilter
    else:
        try:
            cutoff = int(cgi.escape(request.GET.get('cutoff', '7')))
        except:
            pass
    if cutoff: filtr['l'] = {'$gte': cutoff}
    orderBy = 'l'
    orderDesc = True
    template_vars = pager(request, Frags.find(filtr), orderBy, orderDesc)
    prevDoc = None
    template_vars['frags'] = []
    for frag in template_vars['data']:
        p = Pippi('', oid=frag['pippi'])
        d = Doc(oid=frag['doc'])
        if pippifilter:
            frag['txt'] = diffFrag(prevDoc, frag['txt'])
            prevDoc = frag['txt']
        template_vars['frags'].append({
            '_id':
            frag['_id'],
            'pos':
            frag['pos'],
            'txt':
            " ".join(frag['txt']),
            'len':
            frag['l'],
            'score':
            sum([d.tfidf.get(t, 0) for t in p.pippi]),
            'pippi':
            p,
            'doc':
            d,
        })

    template_vars['pippi'] = pippifilter
    template_vars['doc'] = docfilter
    if docfilter:
        template_vars['docTitle'] = Docs.find_one({'_id': docfilter},
                                                  ['docid'])['docid']
    if pippifilter:
        template_vars[
            'pippiFilter'] = 1  #" ".join(Pippies.find_one({'_id': pippifilter},['pippi'])['pippi'])
    return render_to_response('frags.html',
                              template_vars,
                              context_instance=RequestContext(request))
Example #4
0
 def getFrags(self, cutoff=7):
     return Frags.find({'l': { '$gte': int(cutoff)},
                        'doc': self._id,
                        }).sort([('l', pymongo.DESCENDING)])