def __reboot_device(self, widget): # Reboot device device_info, = self.__device_liststore.get( self.__device_selector.get_active_iter(), 1) if confirm(self, MESSAGE_REBOOT): op = None try: op = rktalk.RkOperation(self.__logger, device_info[0], device_info[1]) op.reboot() finally: if op: del op
def __erase_partition(self, widget): device_info, = self.__device_liststore.get( self.__device_selector.get_active_iter(), 1) offset, size = self.__partition_liststore.get( self.__partition_selector.get_active_iter(), 1, 2) message = MESSAGE_ERASE % (offset, size) if confirm(self, message): op = None try: op = rktalk.RkOperation(self.__logger, device_info[0], device_info[1]) op.erase_partition(offset, size) finally: if op: del op
def __cmp_part_with_file(self, widget): image_file = self.__image_entry.get_text().strip() device_info, = self.__device_liststore.get( self.__device_selector.get_active_iter(), 1) offset, size, part_name = self.__partition_liststore.get( self.__partition_selector.get_active_iter(), 1, 2, 0) message = MESSAGE_COMPARE % (part_name, os.path.basename(image_file)) if confirm(self, message): op = None try: op = rktalk.RkOperation(self.__logger, device_info[0], device_info[1]) op.cmp_part_with_file(offset, size, image_file) finally: if op: del op
def __on_device_changed(self, widget): self.__partition_liststore.clear() if self.__device_selector.get_active() > -1: # Read partitions device_info, = self.__device_liststore.get( self.__device_selector.get_active_iter(), 1) op = None try: op = rktalk.RkOperation(self.__logger, device_info[0], device_info[1]) partitions = op.load_partitions() for size, offset, name in partitions: self.__partition_liststore.append( ['%s (%s @ %s)' % (name, size, offset), int(offset, 16), int(size, 16)]) finally: if op: del op self.__refresh_buttons()
def __backup_partition(self, widget): backup_file = self.__choose_backup_file() if backup_file: backup_file += '.backup' if os.path.exists(backup_file): if not confirm(self, 'Back file already exists, overwrite?'): return device_info, = self.__device_liststore.get( self.__device_selector.get_active_iter(), 1) offset, size = self.__partition_liststore.get( self.__partition_selector.get_active_iter(), 1, 2) op = None try: op = rktalk.RkOperation(self.__logger, device_info[0], device_info[1]) op.backup_partition(offset, size, backup_file) finally: if op: del op
def __init__(self, logger, bus_id, dev_id): self.op = rktalk.RkOperation(logger, bus_id, dev_id)