def connect(self):
     self.bootloader = bootloader.bootloader()
     if self.bootloader.dev>=0:
         self.connected = True
         ret = self.bootloader.read_flash(0xFF0000, 2)
         key = '{:02X}{:02X}'.format(ret[1], ret[0])
         self.lastpage = self.pic_table[key].lastpage
         print 'Connected to a PIC24FJ USB bootloader device ({:s}).'.format(self.pic_table[key].name)
     else:
         self.connected = False
         print 'Could not connect to a PIC24FJ USB bootloader device.\nPlease connect one and try again.'
Example #2
0
 def connect(self):
     self.bootloader = bootloader.bootloader()
     if self.bootloader.dev >= 0:
         self.connected = True
         ret = self.bootloader.read_flash(0xFF0000, 2)
         key = '{:02X}{:02X}'.format(ret[1], ret[0])
         self.lastpage = self.pic_table[key].lastpage
         print 'Connected to a PIC24FJ USB bootloader device ({:s}).'.format(
             self.pic_table[key].name)
     else:
         self.connected = False
         print 'Could not connect to a PIC24FJ USB bootloader device.\nPlease connect one and try again.'
Example #3
0
 def connect(self):
     self.bootloader = bootloader.bootloader()
     if self.bootloader.dev>=0:
         self.connected = True
         ret = self.bootloader.read_flash(0xFF0000, 2)
         key = '{:02X}{:02X}'.format(ret[1], ret[0])
         self.lastpage = self.pic_table[key].lastpage
         self.display_message('Connected to a PIC24FJ USB bootloader device ({:s}).'.format(self.pic_table[key].name))
         self.bootloadermenu_connected()
     else:
         self.connected = False
         self.display_error('Could not connect to a PIC24FJ USB bootloader device.\nPlease connect one and then select Bootloader > Connect to proceed.')
         self.bootloadermenu_disconnected()
Example #4
0
    def run(self, argv):
        '''
        Осуществляет запуск приложения

        @param self				Ссылка на экземпляр класса
        @param argv				Список аргументов командной строки [list]
        '''

        try:
            # Загрузка параметров из конфигурационного файла
            self._loadConfig()
            # Разбор опций командной строки
            self._parseCmdLine(argv)
            # Иниализируем bootloader
            self._bootloader = bootloader(self._progress_info_filename)
            self._bootloader.openSerial(self._device_name, self._device_baud,
                                        self._device_timeout)
            logger.message("{} started. PID is {}".format(
                self.app_name, os.getpid()))
            # Запуск загрузки прошивки
            self._startLoading()
        except KeyboardInterrupt:
            logger.message("%s interrupted" % self.app_name)
        except CfgFileLoadingFailed:
            logger.error("Failed to load configuration file")
            raise SystemExit(1)
        except PortOpenFailed:
            raise SystemExit(2)
        except ResetFailed:
            logger.error("Failed to reset PIC")
            raise SystemExit(3)
        except PicNotDetected:
            logger.error("Failed to detect PIC")
            raise SystemExit(4)
        except NoFirmwareFound:
            logger.error("No firmware file specified")
            raise SystemExit(5)
        except:
            logger.critical(
                "Bootloading process failed due to exception {} ({})".format(
                    *sys.exc_info()[:2]))
            raise SystemExit(255)
        else:
            logger.message("%s exited" % self.app_name)
Example #5
0
    def run(self):
        self.ksHandler = makeVersion()

        if self.file:
            self.parser = KickstartParser(self.ksHandler)

            msg = None

            try:
                self.parser.readKickstart(self.file)
            except (KickstartParseError, KickstartValueError) as e:
                msg = _("The following error was found while parsing your "
                        "kickstart configuration:\n\n%s" % e)
            except KickstartError:
                msg = _(
                    "The kickstart file %s could not be opened.") % self.file

            if msg:
                dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR,
                                        gtk.BUTTONS_OK, msg)
                dlg.set_title(_("Error Parsing Kickstart Config"))
                dlg.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
                dlg.set_modal(True)
                dlg.run()
                dlg.destroy()
                sys.exit(0)

        self.xml = xml
        name_tag = (_("Kickstart"))
        comment_tag = (_("Create a kickstart file"))

        self.toplevel = xml.get_widget("main_window")
        self.toplevel.connect("destroy", self.destroy)
        self.toplevel.set_icon(iconPixbuf)

        #bring in widgets from glade file
        self.options_notebook = xml.get_widget("options_notebook")
        self.install_radiobutton = xml.get_widget("install_radiobutton")
        self.category_clist = xml.get_widget("category_clist")
        self.open_menu = xml.get_widget("open_menu")
        self.preview_menu = xml.get_widget("preview_menu")
        self.save_menu = xml.get_widget("save_menu")
        self.quit_menu = xml.get_widget("quit_menu")
        self.about_menu = xml.get_widget("about_menu")

        #populate category list
        self.category_view = xml.get_widget("list_view")
        self.category_store = gtk.ListStore(gobject.TYPE_STRING)
        self.category_view.set_model(self.category_store)

        col = gtk.TreeViewColumn(_("Subsection"),
                                 gtk.CellRendererText(),
                                 text=0)
        col.set_sort_column_id(0)
        self.category_view.append_column(col)

        self.category_list = [(_("Basic Configuration")),
                              (_("Installation Method")),
                              (_("Boot Loader Options")),
                              (_("Partition Information")),
                              (_("Network Configuration")),
                              (_("Authentication")),
                              (_("Firewall Configuration")),
                              (_("Display Configuration")),
                              (_("Package Selection")),
                              (_("Pre-Installation Script")),
                              (_("Post-Installation Script"))]

        for item in self.category_list:
            iter = self.category_store.append()
            self.category_store.set_value(iter, 0, item)

#bring in basic functions
        self.basic_class = basic.basic(self, xml, self.options_notebook,
                                       self.ksHandler)

        # Now that we've loaded the UI elements for the first active thing in the notebook,
        # draw it so we can display a progress bar when yum starts doing stuff.
        self.toplevel.show()
        while gtk.events_pending():
            gtk.main_iteration()

        self.bootloader_class = bootloader.bootloader(xml,
                                                      self.options_notebook,
                                                      self.ksHandler)
        self.install_class = install.install(self, xml, self.category_store,
                                             self.category_view,
                                             self.options_notebook,
                                             self.ksHandler)
        self.partition_class = partition.partition(xml, self.ksHandler)
        self.network_class = network.network(xml, self.ksHandler)
        self.auth_class = auth.auth(xml, self.ksHandler)
        self.firewall_class = firewall.Firewall(xml, self.ksHandler)
        self.X_class = xconfig.xconfig(xml, self.ksHandler)
        self.progress_window = progressWindow.ProgressWindow(self.toplevel)
        self.packages_class = packages.Packages(xml, self.ksHandler,
                                                self.progress_window)
        self.scripts_class = scripts.scripts(xml, self.ksHandler)

        self.open_menu.connect("activate", self.on_activate_open)
        self.preview_menu.connect("activate", self.on_activate_preview_options)
        self.save_menu.connect("activate", self.on_activate_save_options)
        self.quit_menu.connect("activate", gtk.main_quit)
        self.about_menu.connect("activate", self.on_about_activate)
        self.category_view.connect("cursor_changed",
                                   self.on_list_view_row_activated)
        self.options_notebook.connect("switch-page", self.on_notebook_changed)

        #show gui
        self.applyKickstart()
        self.toplevel.show()

        gtk.main()