def filterProjFile2(projname,ftyp='outerfriends'): typ=ftyp.replace('outer','') #As we know the filenames, we can now easily run gdfFilter type analyses #Use the file route because it provides an audit trail... #typ=args.typ+'_outer'+args.typ2 fn='/'.join([projname,ftyp+'.gdf']) print 'Loading file...',fn DG=nwx.directedNetworkFromGDF(fn) print DG.order(),DG.size() addUserFriendships=0 user='' #use an incluser flag to include fr/fo relations of user(s)? if args.mindegree!=None or args.indegree!=None or args.outdegree!=None or args.outdegreemax!=None or args.indegreemax!=None: fpf=filterNet(DG,args.mindegree,args.indegree,args.outdegree,args.outdegreemax,typ,addUserFriendships,user,args.outdegreemax) return fpf
def filterProjFile2(projname, ftyp='outerfriends'): typ = ftyp.replace('outer', '') #As we know the filenames, we can now easily run gdfFilter type analyses #Use the file route because it provides an audit trail... #typ=args.typ+'_outer'+args.typ2 fn = '/'.join([projname, ftyp + '.gdf']) print 'Loading file...', fn DG = nwx.directedNetworkFromGDF(fn) print DG.order(), DG.size() addUserFriendships = 0 user = '' #use an incluser flag to include fr/fo relations of user(s)? if args.mindegree != None or args.indegree != None or args.outdegree != None or args.outdegreemax != None or args.indegreemax != None: fpf = filterNet(DG, args.mindegree, args.indegree, args.outdegree, args.outdegreemax, typ, addUserFriendships, user, args.outdegreemax) return fpf
def handleUser(user): #get details of followers of user twd=newt.getTwitterFollowersDetailsByIDs(api,user,sampleSize) twc={} twDetails={} for t in twd: if t in twc: twc[t]=twc[t]+1 else: twc[t]=1 twDetails[t]=twd[t] outputter(projname+'/followers.csv',twd) getFriendsProjection(twDetails) fn=projname+'/friends__outerfriends.gdf' DG=nwx.directedNetworkFromGDF(fn) print DG.order(),DG.size() fn=projname+'/big_netstats.csv' f=open(fn,'wb+') writer=csv.writer(f,quoting=csv.QUOTE_ALL) writer.writerow(['user','indegree','outdegree']) for n in DG: writer.writerow( [n, DG.in_degree(n), DG.out_degree(n) ] ) f.close() fn=projname+'/followers_netstats.csv' f=open(fn,'wb+') writer=csv.writer(f,quoting=csv.QUOTE_ALL) writer.writerow(['user','indegree','outdegree','fullindegree','fulloutdegree']) filter= [n for n in DG if DG.out_degree(n)>0] L=DG.subgraph(filter) for n in L: writer.writerow( [n, L.in_degree(n), L.out_degree(n),DG.in_degree(n), DG.out_degree(n) ] ) f.close() fn=projname+'/followersfriends_netstats.csv' f=open(fn,'wb+') writer=csv.writer(f,quoting=csv.QUOTE_ALL) writer.writerow(['user','indegree','outdegree','fullindegree','fulloutdegree']) filter= [n for n in DG if DG.in_degree(n)>0] L=DG.subgraph(filter) for n in L: writer.writerow( [n,L.in_degree(n), L.out_degree(n),DG.in_degree(n), DG.out_degree(n)] ) f.close() fn=projname+'/followersfriends10_netstats.csv' f=open(fn,'wb+') writer=csv.writer(f,quoting=csv.QUOTE_ALL) writer.writerow(['user','indegree','outdegree','fullindegree','fulloutdegree']) filter= [n for n in DG if DG.in_degree(n)>10] L=DG.subgraph(filter) for n in L: writer.writerow( [n, L.in_degree(n), L.out_degree(n),DG.in_degree(n), DG.out_degree(n)] ) f.close() filterNet(DG)
#agent='fq50_combinedfollowers_0ormore_sample50' #agent="edgehill" #agent='hashtag-fote11/followers_2ormore_sample50' agent='fq50_combinedfriends_4ormore_sample2000' agent='hashtag-lseneted/followers_3ormore_sample500' agent='foreignoffice_lists/foreign-office-on-twitter' agent='theul' agent='hashtag-gdslaunch/followers_3ormore_sample195' typ='friends' tt='extrafriends' report=tt+'Net_2011-12-08-11-54-11.gdf' fn='/'.join([path,agent,typ,report]) print 'Loading file...',fn DG=nwx.directedNetworkFromGDF(fn) ''' f=open('/'.join([path,agent,report]),'rb') reader = csv.reader(f) print "Loading graph..." phase='nodes' header=reader.next() print "Loading nodes..." for row in reader: if row[0].startswith('edgedef>'): phase='edges' print "Moving on to edges"
#agent='hashtag-fote11/followers_2ormore_sample50' agent = 'fq50_combinedfriends_4ormore_sample2000' agent = 'hashtag-lseneted/followers_3ormore_sample500' agent = 'foreignoffice_lists/foreign-office-on-twitter' agent = 'theul' agent = 'hashtag-gdslaunch/followers_3ormore_sample195' agent = 'ukmps' typ = 'friends' typ = '.' tt = 'extrafriends' report = tt + 'PlusNet_2011-12-27-14-02-53.gdf' fn = '/'.join([path, agent, typ, report]) print 'Loading file...', fn DG = nwx.directedNetworkFromGDF(fn) ''' f=open('/'.join([path,agent,report]),'rb') reader = csv.reader(f) print "Loading graph..." phase='nodes' header=reader.next() print "Loading nodes..." for row in reader: if row[0].startswith('edgedef>'): phase='edges' print "Moving on to edges" continue