diff --git a/actions.py b/actions.py index 561efb8..f353a75 100644 --- a/actions.py +++ b/actions.py @@ -973,6 +973,11 @@ class Actions(object): if os.path.exists(path): os.remove(path) + def eject_all_usb_drives(self): + for i in range(1, 4): + if os.path.exists('/dev/sda{}'.format(i)): + subprocess.call(['sudo', 'eject', '/dev/sda{}'.format(i)]) + # TODO: make this interrogate the various components for available routes to parse # this would include eg a custom script module.. @property diff --git a/data_centre/data.py b/data_centre/data.py index 4fb6da5..6155572 100644 --- a/data_centre/data.py +++ b/data_centre/data.py @@ -82,8 +82,11 @@ class Data(object): def get_ip_address(self): - ip = subprocess.check_output(['hostname', '-I']).decode('utf-8').split()[0] - return ip + ip_list = subprocess.check_output(['hostname', '-I']).decode('utf-8').split() + if len(ip_list) > 0: + return ip_list[0] + else: + return 'none' def get_ip_for_osc_client(self): if self.settings['user_input']['REMOTE_SERVER']['value'] == 'enabled': diff --git a/json_objects/settings_default.json b/json_objects/settings_default.json index 4e98cb7..4ba61a9 100644 --- a/json_objects/settings_default.json +++ b/json_objects/settings_default.json @@ -183,6 +183,11 @@ "action": "shutdown_pi", "options": [], "value": null + }, + "EJECT_USB_DRIVES": { + "action": "eject_all_usb_drives", + "options": [], + "value": null }, "RESTART_OPENFRAMEWORKS": { "action": "restart_openframeworks",