Changeset 439

Show
Ignore:
Timestamp:
05/07/08 10:24:55 (8 months ago)
Author:
jmowery
Message:

adding status message processing
output not yet formatted

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/trunk-pmd-intproto/mgmt/manager.py

    r438 r439  
    3232                return resp 
    3333 
     34        def client_status(self): 
     35                print 'client status' 
     36                msg = protocol.Message() 
     37                msg.msg = 'client status' 
     38                msg.type = 'query' 
     39                msg.body = [] 
     40                return msg 
     41 
    3442        def update(self): 
    3543                print "update" 
     
    8896                return msg 
    8997 
    90 <<<<<<< .mine 
    91         def query_server(self, msg, targets=None):  
     98        def add_message(self, group=''): 
     99                msg = protocol.Message() 
     100                msg.msg = 'add' 
     101                msg.type = 'query' 
     102                msg.body = (group, []) 
     103                return msg 
     104 
     105        def remove_message(self, group=''): 
     106                msg = protocol.Message() 
     107                msg.msg = 'remove' 
     108                msg.type = 'query' 
     109                msg.body = (group, []) 
     110                return msg 
     111 
     112        def query_server(self, msg, targets=None): 
    92113                # targets is a pair, (group|IP, [t-list]) 
    93 ======= 
    94         def add_message(self, group=''): 
    95                 msg = protocol.Message() 
    96                 msg.msg = 'add' 
    97                 msg.type = 'query' 
    98                 msg.body = (group, []) 
    99                 return msg 
    100  
    101         def remove_message(self, group=''): 
    102                 msg = protocol.Message() 
    103                 msg.msg = 'remove' 
    104                 msg.type = 'query' 
    105                 msg.body = (group, []) 
    106                 return msg 
    107  
    108         def query_server(self, msg): 
    109 >>>>>>> .r436 
    110114                if msg is None: 
    111115                        return None 
     
    131135### returns the response from the server. 
    132136def handlestorage(mgr, cmd, argv): 
    133         useage = 'useage:\n   ' + cmd + " GROUP FILE
     137        useage = 'useage:\n   ' + cmd + " GROUP FILE...
    134138        if(len(argv) < 2): 
    135139                print useage 
     
    139143                print 'Group \'' + argv[0] + '\' does not exist' 
    140144                sys.exit(1) 
     145        files = [] 
    141146        if cmd == 'add': 
    142                 files = [] 
    143                 for arg in argv[1:]: 
    144                         if not os.path.exists(arg): 
    145                                 print 'File \'' + arg + '\' does not exist' 
     147                for file_name in argv[1:]: 
     148                        if not os.path.exists(file_name): 
     149                                print 'File \'' + file_name + '\' does not exist' 
    146150                        else: 
    147                                 files.append((os.path.realpath(os.path.expanduser(arg))), file_util.checksum(arg)) 
     151                                files.append((os.path.realpath(os.path.expanduser(file_name))), file_util.checksum(file_name)) 
    148152                if len(files) != len(argv[1:]): 
    149153                        sys.exit(1) 
     
    176180                print useage 
    177181                sys.exit(1) 
    178         return mgr.query_server(msg)  
     182        return mgr.query_server(msg) 
    179183 
    180184def handlelist(mgr, argv): 
     
    201205                print 'list what?' 
    202206                sys.exit(1) 
    203         return mgr.query_server(msg)  
     207        return mgr.query_server(msg) 
    204208 
    205209def handlelog(manager, arglist): 
     
    224228        return resp 
    225229 
     230def handlestatus(mgr, argv): 
     231        msg = m.client_status() 
     232        print_bools = False 
     233        print_enforcing = False 
     234        print_modules = False 
     235        clientlist = [] 
     236        resp = m.query_server(m.list_clients()) 
     237        for arg in argv: 
     238                if arg == 'all': 
     239                        print_bools = True 
     240                        print_enforcing = True 
     241                        print_modules = True 
     242                        break 
     243                elif arg == 'bools': 
     244                        print_bools = True 
     245                elif arg == 'enforcing': 
     246                        print_enforcing = True 
     247                elif arg == 'modules': 
     248                        print_modules = True 
     249                else: 
     250                        if arg not in resp.body: 
     251                                print 'No client with ID \'' + arg + '\' exists' 
     252                        else: 
     253                                clientlist.append(arg) 
     254        if print_bools: 
     255                msg.body[1].append('bools') 
     256        if print_modules: 
     257                msg.body[1].append('modules') 
     258        if print_enforcing: 
     259                msg.body[1].append('enforcing') 
     260        if len(clientlist) == 0: 
     261                print 'missing valid client ID' 
     262                sys.exit(1) 
     263        targets = ['IP'] + clientlist 
     264        return mgr.query_server(msg, targets) 
     265 
    226266if __name__ == '__main__': 
    227267        m = Manager('localhost') 
     
    236276                res = handleupdate(m, sys.argv[2:]) 
    237277        elif cmd == 'status': 
    238                 print 'status requests not yet implemented' 
     278                res = handlestatus(m, sys.argv[2:]) 
    239279        elif cmd == 'list': 
    240280                res = handlelist(m, sys.argv[2:]) 
     
    242282                res = handlelog(m, sys.argv[2:]) 
    243283        else: 
    244                 print 'unknow command' 
     284                print 'unknown command' 
    245285                sys.exit(1) 
    246286        pprint.pprint(repr(res)) 
    247 #m = Manager('localhost') 
    248 #res = m.status() 
    249 #pprint.pprint(res) 
    250 #print(res[0][0].body) 
    251 ##res = m.query_server(m.updatep()) 
    252 ##pprint.pprint(repr(res)) 
    253 #res = m.query_server(m.requestlog()) 
    254 #pprint.pprint(repr(res)) 
    255 #res2 = m.query_server(m.logdelta()) 
    256 #pprint.pprint(repr(res)) 
     287        if res is not None: 
     288                print res.msg 
     289                print res.body