aboutsummaryrefslogtreecommitdiff
path: root/syncthingmanager/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'syncthingmanager/__init__.py')
-rw-r--r--syncthingmanager/__init__.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/syncthingmanager/__init__.py b/syncthingmanager/__init__.py
index da8e219..0973446 100644
--- a/syncthingmanager/__init__.py
+++ b/syncthingmanager/__init__.py
@@ -193,15 +193,23 @@ class SyncthingManager(Syncthing):
address(str): a tcp://address to add.
"""
info = self.device_info(devicestr)
- base_addresses = self.system.config()['devices'][info['index']]['addresses']
- self.edit_device(devicestr, addresses, base_addresses.append(address))
+ try:
+ addresses = self.system.config()['devices'][info['index']]['addresses']
+ except TypeError:
+ raise SyncthingManagerError('Device not configured: ' + devicestr)
+ addresses.append(address)
+ self.edit_device(devicestr, 'addresses', addresses)
def device_remove_address(self, devicestr, address):
"""The inverse of device_add_address."""
info = self.device_info(devicestr)
- base_addresses = self.system.config()['devices'][info['index']]['addresses']
try:
- self.edit_device(devicestr, 'addresses', base_addresses.remove('address'))
+ addresses = self.system.config()['devices'][info['index']]['addresses']
+ except TypeError:
+ raise SyncthingManagerError('Device not configured: ' + devicestr)
+ try:
+ addresses.remove(address)
+ self.edit_device(devicestr, 'addresses', addresses)
except ValueError:
pass