- def call (self, auth, peer_id):
-
- ### retrieve peer info
- peers = Peers (self.api)
- peer = peers[peer_id]
-
- ### retrieve account info
- person_id = peer['person_id']
- persons = Persons (self.api,[person_id])
- person = persons[person_id]
-
- ### build up foreign auth
- auth={ 'Username': person['email'],
- 'AuthMethod' : 'password',
- 'AuthString' : person['password'],
- 'Role' : 'admin' }
+ peer_fields = dict(filter(can_update, Peer.fields.items()))
+
+ accepts = [
+ Auth(),
+ Mixed(Peer.fields['peer_id'],
+ Peer.fields['peername']),
+ peer_fields
+ ]
+
+ returns = Parameter(int, "1 if successful")
+
+ def call(self, auth, peer_id_or_name, peer_fields):
+ peer_fields = dict(filter(can_update, peer_fields.items()))
+
+ # Get account information
+ peers = Peers(self.api, [peer_id_or_name])
+ if not peers:
+ raise PLCInvalidArgument, "No such peer"
+ peer = peers[0]