from PLC.Method import Method
from PLC.Parameter import Parameter, Mixed
from PLC.Addresses import Address, Addresses
-from PLC.Auth import PasswordAuth
+from PLC.Auth import Auth
can_update = lambda (field, value): field in \
['line1', 'line2', 'line3',
roles = ['admin', 'pi']
address_fields = dict(filter(can_update, Address.fields.items()))
- for field in address_fields.values():
- field.optional = True
accepts = [
- PasswordAuth(),
+ Auth(),
Address.fields['address_id'],
address_fields
]
address_fields = dict(filter(can_update, address_fields.items()))
# Get associated address details
- addresses = Addresses(self.api, [address_id]).values()
+ addresses = Addresses(self.api, [address_id])
if not addresses:
raise PLCInvalidArgument, "No such address"
address = addresses[0]
address.update(address_fields)
address.sync()
+ # Logging variables
+ self.event_objects = {'Address': [address['address_id']]}
+ self.message = 'Address %d updated: %s' % \
+ (address['address_id'], ", ".join(address_fields.keys()))
+
return 1