def load_angle_dct(cwd=my_dir, pattern='*.dat'): # FindAllFiles print 'cwd:', cwd print 'pattern:', pattern dct_find = {'cwd': cwd, 'pattern': pattern} x = FindAllFiles(dct_find) # print x.pattern x.get_files() # x.print_query(x.dct) print "Grand total:", len(x.dct.keys()), 'of', x.total # x.dct (last pos.) # set9 = x.sort_dirname(-1,x.dct) # x.print_ [query,class] # x.query_ [dirname,file,filename](searchstring,pos,dct) lst_dct = [] print "Rounds:", rnd # if rnd == None: # rnd = [] if rnd != None: for r in rnd: set9 = x.query_dirname("round_%s" % r, None, x.dct) lst_dct.append(set9) # x.print_query(set9) print "subtotal:", len(set9.keys()), 'of', x.total # print len(set9.keys()) set7 = x.merge_dct(lst_dct) # x.print_query(set7) print "subtotals:", len(set7.keys()), 'of', x.total lst_dct = [] print "Positions:", position # if position == None: # position = [] if position != None: for p in position: set9 = x.query_dirname(p, -1, x.dct) lst_dct.append(set9) # x.print_query(set9) print "subtotal:", len(set9.keys()), 'of', x.total # print len(set9.keys()) set8 = x.merge_dct(lst_dct) # x.print_query(set8) print "subtotals:", len(set8.keys()), 'of', x.total if ((rnd != None) and (position != None)): set9 = x.get_overlapping_entries(set7, set8) elif (rnd != None): set9 = set7 elif (position != None): set9 = set8 else: set9 = x.dct print "Overlaps:", len(set9.keys()), 'of', x.total # x.remove_[dirname,file,filename](searchstring,pos,dct) # x.print_query(set9) # x.print_query(set9) # sys.exit() return set9
def get_retraction_dct(dct): set9 = dct print len(set9.keys()) x = FindAllFiles() if rnd == 16: set_nop = x.remove_dirname("_nop_00",None,set9) else: set_nop = x.query_dirname("_nop_",None,set9) set_rev = x.query_dirname("_rev_",None,set9) set10 = x.merge_dct([set_rev,set_nop]) # print "Lengths:" # print len(set_rev.keys()) # print len(set_nop.keys()) # print len(set10.keys()) # sys.exit() if rnd == 16: set_for = x.query_dirname("_nop_00",None,set9) else: set_for = x.remove_dirname("_rev_",None,set9) set_for = x.remove_dirname("_nop_",None,set_for) # print "Forwards:" # print len(set_for.keys()) # sys.exit() # lst_forward_names = [] # for k,v in set10.iteritems(): # # print k,v['dirname'].split('/')[-1] # # print v # proj_name = v['dirname'].split('/')[-1] # forwards = proj_name.split('_nop_')[0] # lst_forward_names.append(forwards) lst_tup_for_retract = [] # print set_for.keys() # print set10.keys() for k,v in set_for.iteritems(): # print k,v['name'] for k1,v1 in set10.iteritems(): if rnd == 16: name_ser = v['name'].split('_nop_')[0] if re.search(name_ser,v1['name']) != None: # print v['name'],v1['name'] # print (k,k1) lst_tup_for_retract.append((k,k1)) else: if re.search(v['name'],v1['name']) != None: # print v['name'],v1['name'] # print (k,k1) lst_tup_for_retract.append((k,k1)) # for name in lst_forward_names: # # print name # for k,v in set_for.iteritems(): # if re.search(name,v['dirname']) != None: # # print k,name # f1 = k # break # try: # print f1 # except: # continue # for k,v in set10.iteritems(): # if re.search(name,v['dirname']) != None: # if (f1,k) not in lst_tup_for_retract: # lst_tup_for_retract.append((f1,k)) # break # for tup in lst_tup_for_retract: # print tup # pass print "retractions:",len(lst_tup_for_retract) # sys.exit() return lst_tup_for_retract