def run_query(fold_no, query_info, context_features, q, lib):
    print "Folder-name:"+query_info['folder'], "File:"+query_info['file']
    try:
        zf=ZipFile(query_info['folder'],'r')
        file_lines=[line.rstrip() \
                    for line in zf.read(query_info['file']).splitlines()]
        prev_calls=[]
        for call in query_info['calls']:
            line_num=call["lineNum"]
            query=file_lines[:line_num]
            dot_index=query[-1].find(query_info['obj']+'.'+call['tgt'],
                                      call['colOffset'])
            if dot_index!=-1:
                obj_len=len(query_info['obj'])
                query[-1]=query[-1][:dot_index+obj_len+1]
                results=[]
                try:
                    results = get_recos('\n'.join(query), fold_no,
                                        context_features, query_info['file'], lib)
                except:
                    #exc_type, exc_value, exc_traceback = sys.exc_info()

                    print "Error while calling get_recommendations","File:",query_info['file']

                p,r, rr=compute_precision_and_recall(results, call['tgt'])
                #print p, r, query_info['file']
                q.put((fold_no-1, query_info["type"], results, call['tgt'], p, r, rr, len(prev_calls)+1))
            prev_calls.append(call['tgt'])

    except:
        exc_type, exc_value, exc_traceback = sys.exc_info()

        print "Error in run_query",exc_type,exc_traceback.tb_lino

    return
Exemple #2
0
 def run_query(query_info):
     with open('repoData/' + folder + '/allPythonContent.py', 'r') as f:
         file_content = [line.rstrip() for line in f.readlines()]
         index = file_content.index(str('__FILENAME__ = ' + filename))
         line_num = query_info["line"]
         query_lines = file_content[index + 1:index + line_num]
         col_offset = query_info['col']
         dot_index = query_lines[-1].find(query_info['call'], col_offset)
         if dot_index != -1:
             query_lines[-1] = query_lines[-1][:dot_index]
             try:
                 results = get_recos('\n'.join(query_lines), fold_no)
             except:
                 print "Error while calling get_recos"
             p = compute_r_precision(results, query_info["results"])
             q.put((fold_no - 1, results, query_info["results"], p))
 def run_query(query_info):
     with open('repoData/'+folder+'/allPythonContent.py', 'r') as f:
         file_content=[line.rstrip() for line in f.readlines()]
         index=file_content.index(str('__FILENAME__ = '+filename))
         line_num=query_info["line"]
         query_lines=file_content[index+1:index+line_num]
         col_offset=query_info['col']
         dot_index=query_lines[-1].find(query_info['call'],  col_offset)
         if dot_index!=-1:
             query_lines[-1]=query_lines[-1][:dot_index]
             try:
                 results = get_recos('\n'.join(query_lines),fold_no)
             except:
                 print "Error while calling get_recos"
             p=compute_r_precision(results, query_info["results"])
             q.put((fold_no-1, results, query_info["results"], p))
Exemple #4
0
def run_query(fold_no, query_info, context_features, q, lib):
    print "Folder-name:" + query_info['folder'], "File:" + query_info['file']
    try:
        zf = ZipFile(query_info['folder'], 'r')
        file_lines=[line.rstrip() \
                    for line in zf.read(query_info['file']).splitlines()]
        prev_calls = []
        for call in query_info['calls']:
            line_num = call["lineNum"]
            query = file_lines[:line_num]
            dot_index = query[-1].find(query_info['obj'] + '.' + call['tgt'],
                                       call['colOffset'])
            if dot_index != -1:
                obj_len = len(query_info['obj'])
                query[-1] = query[-1][:dot_index + obj_len + 1]
                results = []
                try:
                    results = get_recos('\n'.join(query), fold_no,
                                        context_features, query_info['file'],
                                        lib)
                except:
                    #exc_type, exc_value, exc_traceback = sys.exc_info()

                    print "Error while calling get_recommendations", "File:", query_info[
                        'file']

                p, r, rr = compute_precision_and_recall(results, call['tgt'])
                #print p, r, query_info['file']
                q.put((fold_no - 1, query_info["type"], results, call['tgt'],
                       p, r, rr, len(prev_calls) + 1))
            prev_calls.append(call['tgt'])

    except:
        exc_type, exc_value, exc_traceback = sys.exc_info()

        print "Error in run_query", exc_type, exc_traceback.tb_lino

    return