also checks persons
[myplc.git] / bin / spot-aliens.py
1 #!/usr/bin/plcsh
2
3 all_sites=GetSites({},['peer_id','site_id','login_base','name'])
4 all_nodes=GetNodes({},['peer_id','node_id','site_id','hostname'])
5 all_persons=GetPersons({},['peer_id','person_id','site_ids','email'])
6
7 site_hash=dict ( [ (site['site_id'],site) for site in all_sites ] )
8 #node_hash=dict ( [ (node['node_id'],node) for node in all_nodes ] )
9 #person_hash=dict ( [ (person['person_id'],person) for person in all_persons ] )
10
11 # nodes are expected to be in the same peer as their owning site
12 for node in all_nodes:
13     site=site_hash[node['site_id']]
14     if node['peer_id'] != site['peer_id']: 
15         print "NODE mismatch %r IN SITE %r"%(node,site)
16
17 # same for persons
18 for person in all_persons:
19     for site_id in person['site_ids']:
20         site=site_hash[site_id]
21         if person['peer_id'] != site['peer_id']:
22             print "PERSON mismatch %r IN SITE %r"%(person,site)
23