From afee9a32c846e34cbd27aa17ed71f67e147a3e78 Mon Sep 17 00:00:00 2001 From: Felipe Martin Date: Wed, 20 Nov 2013 23:39:17 +0100 Subject: [PATCH] Added base.device-info plugin --- iosfu/plugin/device_info/__init__.py | 0 iosfu/plugin/device_info/plugin.py | 67 ++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 iosfu/plugin/device_info/__init__.py create mode 100644 iosfu/plugin/device_info/plugin.py diff --git a/iosfu/plugin/device_info/__init__.py b/iosfu/plugin/device_info/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/iosfu/plugin/device_info/plugin.py b/iosfu/plugin/device_info/plugin.py new file mode 100644 index 0000000..7e0df6e --- /dev/null +++ b/iosfu/plugin/device_info/plugin.py @@ -0,0 +1,67 @@ +from iosfu.plugin.base import BasePlugin +from iosfu.plugin.library import Library + + +plugin_library = Library() + + +@plugin_library.register +class DeviceInfoPlugin(BasePlugin): + category = 'Base' + name = 'Device info' + description = 'Basic information about the device/backup' + + requires = { + 'files': ['Info.plist'], + } + + _plist = None + + def parse_device_info(self): + keys = [ + ('build_version', 'Build Version'), + ('device_name', 'Device Name'), + ('display_name', 'Display Name'), + ('guid', 'GUID'), + ('iccid', 'ICCID'), + ('imei', 'IMEI'), + ('installed_apps', 'Installed Applications'), + ('phone_number', 'Phone Number'), + ('product_type', 'Product Type'), + ('product_version', 'Product Version'), + ('serial_number', 'Serial Number'), + ('itunes_version', 'iTunes Version') + ] + + device_info = dict() + for key in keys: + device_info[key[0]] = self.get_value_from_plist(key[1]) + + return device_info + + def parse_backup_info(self): + keys = [ + ('backup_date', 'Last Backup Date'), + ] + + backup_info = dict() + for key in keys: + backup_info[key[0]] = self.get_value_from_plist(key[1]) + + return backup_info + + def get_value_from_plist(self, key): + value = '--' + try: + value = self._plist[key] + except: + pass + return value + + def __do__(self): + self._plist = self._backup._plist['Info.plist'] + info_dict = dict() + info_dict['device'] = self.parse_device_info() + info_dict['backup'] = self.parse_backup_info() + + return info_dict