def __init__(self, controller, *args, **kwargs):
        self.controller = controller
        try:
            import gtk
            builder = gtk.Builder()
            self.controller.add_builder(builder)
            print >>sys.stderr, '--------------> PRE PARTITION Cargado'
#            builder.add_from_file('/usr/share/ubiquity/gtk/stepGuadaPrePartition.ui')
            builder.add_from_file('/usr/share/ubiquity/gtk/stepPrepartition.ui')
            builder.connect_signals(self)
            self.page = builder.get_object('stepGuadaPrePartition')
            print >>sys.stderr, '--------------> Despues de get object'
            self.disk_preview_area=builder.get_object('disk_preview_area1')
            self.diskpreview = DiskPreview()       
            dp = DiskPreview()
            dp.mount_filesystems()

#            self.disk_preview_area.add(self.diskpreview)
            self.disk_preview_area.add(dp)
            self.diskpreview=dp
            self.diskpreview.show_all()

        except Exception, e:
            self.debug('Could not create prepartition page: %s', e)
            self.page = None
Ejemplo n.º 2
0
    def run(self):
        """run the interface."""

        if os.getuid() != 0:
            title = ('This installer must be run with administrative '
                     'privileges, and cannot continue without them.')
            dialog = gtk.MessageDialog(self.live_installer, gtk.DIALOG_MODAL,
                                       gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
                                       title)
            dialog.run()
            sys.exit(1)

        self.disable_volume_manager()

        # show interface
        got_intro = self.show_intro()
        self.allow_change_step(True)

        # Guada prepartition page
        self.prepartition_intro()
        
        # Declare SignalHandler
        self.glade.signal_autoconnect(self)

        syslog.syslog("init diskpreview")
        self.diskpreview = DiskPreview()
        syslog.syslog("end init diskpreview")

        self.disk_preview_area.add(self.diskpreview)
        self.diskpreview.show_all()

        # Some signals need to be connected by hand so that we have the
        # handler ids.
        self.username_changed_id = self.username.connect(
            'changed', self.on_username_changed)
        self.hostname_changed_id = self.hostname.connect(
            'changed', self.on_hostname_changed)

        if 'UBIQUITY_MIGRATION_ASSISTANT' in os.environ:
            self.pages = [GuadaPrePartition, partman.Partman,
                usersetup.UserSetup, migrationassistant.MigrationAssistant,
                summary.Summary]
            ## self.pages = [console_setup.ConsoleSetup, partman.Partman,
            ##     usersetup.UserSetup, migrationassistant.MigrationAssistant,
            ##     summary.Summary]
        else:
            self.pages = [GuadaPrePartition, partman.Partman,
                          usersetup.UserSetup, summary.Summary]
            ## self.pages = [console_setup.ConsoleSetup, partman.Partman,
            ##               usersetup.UserSetup, summary.Summary]
            
        self.pagesindex = 0
        pageslen = len(self.pages)
        
        if 'UBIQUITY_AUTOMATIC' in os.environ:
            got_intro = False
            self.debconf_progress_start(0, pageslen,
                self.get_string('ubiquity/install/checking'))
            self.refresh()

        # Start the interface
        # Add GuadaWelcome
        
        global BREADCRUMB_STEPS, BREADCRUMB_MAX_STEP
        for step in BREADCRUMB_STEPS:
            BREADCRUMB_STEPS[step] += 2
        BREADCRUMB_STEPS["stepGuadaWelcome"] = 1
        BREADCRUMB_STEPS["stepGuadaPrePartition"] = 2
        BREADCRUMB_MAX_STEP += 2
        ubiquity.frontend.gtk_ui.BREADCRUMB_STEPS = BREADCRUMB_STEPS
        ubiquity.frontend.gtk_ui.BREADCRUMB_MAX_STEP = BREADCRUMB_MAX_STEP

        syslog.syslog ("%s %s" % (BREADCRUMB_STEPS,BREADCRUMB_MAX_STEP) )
        
        first_step = self.stepGuadaWelcome
        
        self.set_current_page(self.steps.page_num(first_step))
        if got_intro:
            # intro_label was the only focusable widget, but got can-focus
            # removed, so we end up with no input focus and thus pressing
            # Enter doesn't activate the default widget. Work around this.
            self.next.grab_focus()

        if not 'UBIQUITY_MIGRATION_ASSISTANT' in os.environ:
            self.steps.remove_page(self.steps.page_num(self.stepMigrationAssistant))
            for step in BREADCRUMB_STEPS:
                if (BREADCRUMB_STEPS[step] >
                    BREADCRUMB_STEPS["stepMigrationAssistant"]):
                    BREADCRUMB_STEPS[step] -= 1
            BREADCRUMB_MAX_STEP -= 1

        if got_intro:
            gtk.main()

        syslog.syslog("----> RUN : Salte la intro")
        
        while(self.pagesindex < pageslen):
            syslog.syslog("----> RUN : Dentro del while %s" % self.pagesindex)
            if self.current_page == None:
                break

            old_dbfilter = self.dbfilter
            self.dbfilter = self.pages[self.pagesindex](self)

            # Non-debconf steps are no longer possible as the interface is now
            # driven by whether there is a question to ask.
            syslog.syslog("----> RUN : self.dbfilter %s" % self.dbfilter)
            if self.dbfilter is not None and self.dbfilter != old_dbfilter:
                self.allow_change_step(False)
                syslog.syslog("----> RUN : START start dbfilter")
                self.dbfilter.start(auto_process=True)
                syslog.syslog("----> RUN : END start dbfilter")
            gtk.main()
            syslog.syslog("----> RUN : Sali del gtk_main")
            
            if self.backup or self.dbfilter_handle_status():
                if self.installing:
                    syslog.syslog("----> RUN : START progress loop")
                    self.progress_loop()
                    syslog.syslog("----> RUN : END progress loop")
                elif self.current_page is not None and not self.backup:
                    syslog.syslog("----> RUN : START process step")
                    self.process_step()
                    syslog.syslog("----> RUN : END process step")
                    if not self.stay_on_page:
                        self.pagesindex = self.pagesindex + 1
                    if 'UBIQUITY_AUTOMATIC' in os.environ:
                        # if no debconf_progress, create another one, set start to pageindex
                        self.debconf_progress_step(1)
                        self.refresh()
                if self.backup:
                    if self.pagesindex > 0:
                        step = self.step_name(self.steps.get_current_page())
                        if not step == 'stepPartAdvanced':
                            self.pagesindex = self.pagesindex - 1

            while gtk.events_pending():
                gtk.main_iteration()

            # needed to be here for --automatic as there might not be any
            # current page in the event all of the questions have been
            # preseeded.
            if self.pagesindex == pageslen:
                # Ready to install
                self.live_installer.hide()
                self.current_page = None
                self.installing = True
                self.progress_loop()
        return self.returncode
Ejemplo n.º 3
0
    def run(self):
        """run the interface."""

        if os.getuid() != 0:
            title = ('This installer must be run with administrative '
                     'privileges, and cannot continue without them.')
            dialog = gtk.MessageDialog(self.live_installer, gtk.DIALOG_MODAL,
                                       gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
                                       title)
            dialog.run()
            sys.exit(1)

# we need to kill hermeshardware
        os.spawnlp(os.P_NOWAIT, 'killall', 'killall', '-9',
                   'hermes_hardware.py')
        atexit.register(self.launch_hermes)

        self.disable_volume_manager()

        # show interface
        got_intro = self.show_intro()
        self.allow_change_step(True)

        # Guada prepartition page
        self.prepartition_intro()

        # Declare SignalHandler
        self.glade.signal_autoconnect(self)

        syslog.syslog("init diskpreview")
        self.diskpreview = DiskPreview()
        syslog.syslog("end init diskpreview")

        self.disk_preview_area.add(self.diskpreview)
        self.diskpreview.show_all()

        # Some signals need to be connected by hand so that we have the
        # handler ids.
        self.username_changed_id = self.username.connect(
            'changed', self.on_username_changed)
        self.hostname_changed_id = self.hostname.connect(
            'changed', self.on_hostname_changed)

        if 'UBIQUITY_MIGRATION_ASSISTANT' in os.environ:
            self.pages = [
                GuadaPrePartition, partman.Partman, usersetup.UserSetup,
                migrationassistant.MigrationAssistant, summary.Summary
            ]
            ## self.pages = [console_setup.ConsoleSetup, partman.Partman,
            ##     usersetup.UserSetup, migrationassistant.MigrationAssistant,
            ##     summary.Summary]
        else:
            self.pages = [
                GuadaPrePartition, partman.Partman, usersetup.UserSetup,
                summary.Summary
            ]
            ## self.pages = [console_setup.ConsoleSetup, partman.Partman,
            ##               usersetup.UserSetup, summary.Summary]

        self.pagesindex = 0
        pageslen = len(self.pages)

        if 'UBIQUITY_AUTOMATIC' in os.environ:
            got_intro = False
            self.debconf_progress_start(
                0, pageslen, self.get_string('ubiquity/install/checking'))
            self.refresh()

        # Start the interface
        # Add GuadaWelcome

        global BREADCRUMB_STEPS, BREADCRUMB_MAX_STEP
        for step in BREADCRUMB_STEPS:
            BREADCRUMB_STEPS[step] += 2
        BREADCRUMB_STEPS["stepGuadaWelcome"] = 1
        BREADCRUMB_STEPS["stepGuadaPrePartition"] = 2
        BREADCRUMB_MAX_STEP += 2
        ubiquity.frontend.gtk_ui.BREADCRUMB_STEPS = BREADCRUMB_STEPS
        ubiquity.frontend.gtk_ui.BREADCRUMB_MAX_STEP = BREADCRUMB_MAX_STEP

        syslog.syslog("%s %s" % (BREADCRUMB_STEPS, BREADCRUMB_MAX_STEP))

        first_step = self.stepGuadaWelcome

        self.set_current_page(self.steps.page_num(first_step))
        if got_intro:
            # intro_label was the only focusable widget, but got can-focus
            # removed, so we end up with no input focus and thus pressing
            # Enter doesn't activate the default widget. Work around this.
            self.next.grab_focus()

        if not 'UBIQUITY_MIGRATION_ASSISTANT' in os.environ:
            self.steps.remove_page(
                self.steps.page_num(self.stepMigrationAssistant))
            for step in BREADCRUMB_STEPS:
                if (BREADCRUMB_STEPS[step] >
                        BREADCRUMB_STEPS["stepMigrationAssistant"]):
                    BREADCRUMB_STEPS[step] -= 1
            BREADCRUMB_MAX_STEP -= 1

        if got_intro:
            gtk.main()

        syslog.syslog("----> RUN : Salte la intro")

        while (self.pagesindex < pageslen):
            syslog.syslog("----> RUN : Dentro del while %s" % self.pagesindex)
            if self.current_page == None:
                break

            old_dbfilter = self.dbfilter
            self.dbfilter = self.pages[self.pagesindex](self)

            # Non-debconf steps are no longer possible as the interface is now
            # driven by whether there is a question to ask.
            syslog.syslog("----> RUN : self.dbfilter %s" % self.dbfilter)
            if self.dbfilter is not None and self.dbfilter != old_dbfilter:
                self.allow_change_step(False)
                syslog.syslog("----> RUN : START start dbfilter")
                self.dbfilter.start(auto_process=True)
                syslog.syslog("----> RUN : END start dbfilter")
            gtk.main()
            syslog.syslog("----> RUN : Sali del gtk_main")

            if self.backup or self.dbfilter_handle_status():
                if self.installing:
                    syslog.syslog("----> RUN : START progress loop")
                    self.progress_loop()
                    syslog.syslog("----> RUN : END progress loop")
                elif self.current_page is not None and not self.backup:
                    syslog.syslog("----> RUN : START process step")
                    self.process_step()
                    syslog.syslog("----> RUN : END process step")
                    if not self.stay_on_page:
                        self.pagesindex = self.pagesindex + 1
                    if 'UBIQUITY_AUTOMATIC' in os.environ:
                        # if no debconf_progress, create another one, set start to pageindex
                        self.debconf_progress_step(1)
                        self.refresh()
                if self.backup:
                    if self.pagesindex > 0:
                        step = self.step_name(self.steps.get_current_page())
                        if not step == 'stepPartAdvanced':
                            self.pagesindex = self.pagesindex - 1

            while gtk.events_pending():
                gtk.main_iteration()

            # needed to be here for --automatic as there might not be any
            # current page in the event all of the questions have been
            # preseeded.
            if self.pagesindex == pageslen:
                # Ready to install
                self.live_installer.hide()
                self.current_page = None
                self.installing = True
                self.progress_loop()
        return self.returncode
Ejemplo n.º 4
0
class Wizard(ubiquity.frontend.gtk_ui.Wizard):
    def __init__(self, distro):
        del os.environ['UBIQUITY_MIGRATION_ASSISTANT']
        self.preseed_debconf()
        
        ubiquity.frontend.gtk_ui.Wizard.__init__(self,distro)

    def preseed_debconf(self):
        seed = ""
        for x in PRESEED :
            seed = seed + x + '\n'

        os.system("echo -e '%s' | debconf-set-selections" % seed)

    def show_intro(self):
        ## self.intro_label.set_markup("Bienvenido a Guadalinex")
        self.welcome_image.set_from_file("/usr/share/guada-ubiquity/pics/photo_1024.jpg")
        return True

    def prepartition_intro(self):
        #self.prepartition_image.set_from_file("/usr/share/guada-ubiquity/pics/photo_1024.jpg")
        return True
    
    def run(self):
        """run the interface."""

        if os.getuid() != 0:
            title = ('This installer must be run with administrative '
                     'privileges, and cannot continue without them.')
            dialog = gtk.MessageDialog(self.live_installer, gtk.DIALOG_MODAL,
                                       gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
                                       title)
            dialog.run()
            sys.exit(1)

        self.disable_volume_manager()

        # show interface
        got_intro = self.show_intro()
        self.allow_change_step(True)

        # Guada prepartition page
        self.prepartition_intro()
        
        # Declare SignalHandler
        self.glade.signal_autoconnect(self)

        syslog.syslog("init diskpreview")
        self.diskpreview = DiskPreview()
        syslog.syslog("end init diskpreview")

        self.disk_preview_area.add(self.diskpreview)
        self.diskpreview.show_all()

        # Some signals need to be connected by hand so that we have the
        # handler ids.
        self.username_changed_id = self.username.connect(
            'changed', self.on_username_changed)
        self.hostname_changed_id = self.hostname.connect(
            'changed', self.on_hostname_changed)

        if 'UBIQUITY_MIGRATION_ASSISTANT' in os.environ:
            self.pages = [GuadaPrePartition, partman.Partman,
                usersetup.UserSetup, migrationassistant.MigrationAssistant,
                summary.Summary]
            ## self.pages = [console_setup.ConsoleSetup, partman.Partman,
            ##     usersetup.UserSetup, migrationassistant.MigrationAssistant,
            ##     summary.Summary]
        else:
            self.pages = [GuadaPrePartition, partman.Partman,
                          usersetup.UserSetup, summary.Summary]
            ## self.pages = [console_setup.ConsoleSetup, partman.Partman,
            ##               usersetup.UserSetup, summary.Summary]
            
        self.pagesindex = 0
        pageslen = len(self.pages)
        
        if 'UBIQUITY_AUTOMATIC' in os.environ:
            got_intro = False
            self.debconf_progress_start(0, pageslen,
                self.get_string('ubiquity/install/checking'))
            self.refresh()

        # Start the interface
        # Add GuadaWelcome
        
        global BREADCRUMB_STEPS, BREADCRUMB_MAX_STEP
        for step in BREADCRUMB_STEPS:
            BREADCRUMB_STEPS[step] += 2
        BREADCRUMB_STEPS["stepGuadaWelcome"] = 1
        BREADCRUMB_STEPS["stepGuadaPrePartition"] = 2
        BREADCRUMB_MAX_STEP += 2
        ubiquity.frontend.gtk_ui.BREADCRUMB_STEPS = BREADCRUMB_STEPS
        ubiquity.frontend.gtk_ui.BREADCRUMB_MAX_STEP = BREADCRUMB_MAX_STEP

        syslog.syslog ("%s %s" % (BREADCRUMB_STEPS,BREADCRUMB_MAX_STEP) )
        
        first_step = self.stepGuadaWelcome
        
        self.set_current_page(self.steps.page_num(first_step))
        if got_intro:
            # intro_label was the only focusable widget, but got can-focus
            # removed, so we end up with no input focus and thus pressing
            # Enter doesn't activate the default widget. Work around this.
            self.next.grab_focus()

        if not 'UBIQUITY_MIGRATION_ASSISTANT' in os.environ:
            self.steps.remove_page(self.steps.page_num(self.stepMigrationAssistant))
            for step in BREADCRUMB_STEPS:
                if (BREADCRUMB_STEPS[step] >
                    BREADCRUMB_STEPS["stepMigrationAssistant"]):
                    BREADCRUMB_STEPS[step] -= 1
            BREADCRUMB_MAX_STEP -= 1

        if got_intro:
            gtk.main()

        syslog.syslog("----> RUN : Salte la intro")
        
        while(self.pagesindex < pageslen):
            syslog.syslog("----> RUN : Dentro del while %s" % self.pagesindex)
            if self.current_page == None:
                break

            old_dbfilter = self.dbfilter
            self.dbfilter = self.pages[self.pagesindex](self)

            # Non-debconf steps are no longer possible as the interface is now
            # driven by whether there is a question to ask.
            syslog.syslog("----> RUN : self.dbfilter %s" % self.dbfilter)
            if self.dbfilter is not None and self.dbfilter != old_dbfilter:
                self.allow_change_step(False)
                syslog.syslog("----> RUN : START start dbfilter")
                self.dbfilter.start(auto_process=True)
                syslog.syslog("----> RUN : END start dbfilter")
            gtk.main()
            syslog.syslog("----> RUN : Sali del gtk_main")
            
            if self.backup or self.dbfilter_handle_status():
                if self.installing:
                    syslog.syslog("----> RUN : START progress loop")
                    self.progress_loop()
                    syslog.syslog("----> RUN : END progress loop")
                elif self.current_page is not None and not self.backup:
                    syslog.syslog("----> RUN : START process step")
                    self.process_step()
                    syslog.syslog("----> RUN : END process step")
                    if not self.stay_on_page:
                        self.pagesindex = self.pagesindex + 1
                    if 'UBIQUITY_AUTOMATIC' in os.environ:
                        # if no debconf_progress, create another one, set start to pageindex
                        self.debconf_progress_step(1)
                        self.refresh()
                if self.backup:
                    if self.pagesindex > 0:
                        step = self.step_name(self.steps.get_current_page())
                        if not step == 'stepPartAdvanced':
                            self.pagesindex = self.pagesindex - 1

            while gtk.events_pending():
                gtk.main_iteration()

            # needed to be here for --automatic as there might not be any
            # current page in the event all of the questions have been
            # preseeded.
            if self.pagesindex == pageslen:
                # Ready to install
                self.live_installer.hide()
                self.current_page = None
                self.installing = True
                self.progress_loop()
        return self.returncode

    def set_page(self, n):
        syslog.syslog("--------> set page : %s" % n)
        self.run_automation_error_cmd()
        # We only stop the backup process when we're on a page where questions
        # need to be asked, otherwise you wont be able to back up past
        # migration-assistant.
        self.backup = False
        self.live_installer.show()

        if n == 'Partman':
            # Rather than try to guess which partman page we should be on,
            # we leave that decision to set_autopartitioning_choices and
            # update_partman.
            return
        elif n == 'GuadaPrePartition':
            cur = self.stepGuadaPrePartition
        elif n == 'UserSetup':
            cur = self.stepUserInfo
        elif n == 'Summary':
            cur = self.stepReady
            self.next.set_label(self.get_string('install_button'))
        elif n == 'MigrationAssistant':
            cur = self.stepMigrationAssistant
        else:
            print >>sys.stderr, 'No page found for %s' % n
            return
        
        self.set_current_page(self.steps.page_num(cur))
        if not self.first_seen_page:
            self.first_seen_page = n
        if self.first_seen_page == self.pages[self.pagesindex].__name__:
            self.back.hide()
        elif 'UBIQUITY_AUTOMATIC' not in os.environ:
            self.back.show()

    def process_step(self):
        """Process and validate the results of this step."""

        # setting actual step
        step_num = self.steps.get_current_page()
        step = self.step_name(step_num)

        #Figure out if this is a mythbuntu specific step
        if step == "stepGuadaWelcome":            
            self.process_prepartition()
        else:
            ubiquity.frontend.gtk_ui.Wizard.process_step(self)

    def process_prepartition(self):
        syslog.syslog("-----------> process_prepartition")
        self.allow_go_forward(False)
Ejemplo n.º 5
0
class Wizard(ubiquity.frontend.gtk_ui.Wizard):
    def __init__(self, distro):
        del os.environ['UBIQUITY_MIGRATION_ASSISTANT']
        self.preseed_debconf()

        ubiquity.frontend.gtk_ui.Wizard.__init__(self, distro)

    def preseed_debconf(self):
        seed = ""
        for x in PRESEED:
            seed = seed + x + '\n'

        os.system("echo -e '%s' | debconf-set-selections" % seed)

    def show_intro(self):
        ## self.intro_label.set_markup("Bienvenido a Guadalinex")
        self.welcome_image.set_from_file(
            "/usr/share/guada-ubiquity/pics/photo_1024.jpg")
        return True

    def prepartition_intro(self):
        #self.prepartition_image.set_from_file("/usr/share/guada-ubiquity/pics/photo_1024.jpg")
        return True

    def launch_hermes(self):
        os.spawnlp(os.P_NOWAIT, 'hermeshardware', 'hermeshardware')

    def run(self):
        """run the interface."""

        if os.getuid() != 0:
            title = ('This installer must be run with administrative '
                     'privileges, and cannot continue without them.')
            dialog = gtk.MessageDialog(self.live_installer, gtk.DIALOG_MODAL,
                                       gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
                                       title)
            dialog.run()
            sys.exit(1)

# we need to kill hermeshardware
        os.spawnlp(os.P_NOWAIT, 'killall', 'killall', '-9',
                   'hermes_hardware.py')
        atexit.register(self.launch_hermes)

        self.disable_volume_manager()

        # show interface
        got_intro = self.show_intro()
        self.allow_change_step(True)

        # Guada prepartition page
        self.prepartition_intro()

        # Declare SignalHandler
        self.glade.signal_autoconnect(self)

        syslog.syslog("init diskpreview")
        self.diskpreview = DiskPreview()
        syslog.syslog("end init diskpreview")

        self.disk_preview_area.add(self.diskpreview)
        self.diskpreview.show_all()

        # Some signals need to be connected by hand so that we have the
        # handler ids.
        self.username_changed_id = self.username.connect(
            'changed', self.on_username_changed)
        self.hostname_changed_id = self.hostname.connect(
            'changed', self.on_hostname_changed)

        if 'UBIQUITY_MIGRATION_ASSISTANT' in os.environ:
            self.pages = [
                GuadaPrePartition, partman.Partman, usersetup.UserSetup,
                migrationassistant.MigrationAssistant, summary.Summary
            ]
            ## self.pages = [console_setup.ConsoleSetup, partman.Partman,
            ##     usersetup.UserSetup, migrationassistant.MigrationAssistant,
            ##     summary.Summary]
        else:
            self.pages = [
                GuadaPrePartition, partman.Partman, usersetup.UserSetup,
                summary.Summary
            ]
            ## self.pages = [console_setup.ConsoleSetup, partman.Partman,
            ##               usersetup.UserSetup, summary.Summary]

        self.pagesindex = 0
        pageslen = len(self.pages)

        if 'UBIQUITY_AUTOMATIC' in os.environ:
            got_intro = False
            self.debconf_progress_start(
                0, pageslen, self.get_string('ubiquity/install/checking'))
            self.refresh()

        # Start the interface
        # Add GuadaWelcome

        global BREADCRUMB_STEPS, BREADCRUMB_MAX_STEP
        for step in BREADCRUMB_STEPS:
            BREADCRUMB_STEPS[step] += 2
        BREADCRUMB_STEPS["stepGuadaWelcome"] = 1
        BREADCRUMB_STEPS["stepGuadaPrePartition"] = 2
        BREADCRUMB_MAX_STEP += 2
        ubiquity.frontend.gtk_ui.BREADCRUMB_STEPS = BREADCRUMB_STEPS
        ubiquity.frontend.gtk_ui.BREADCRUMB_MAX_STEP = BREADCRUMB_MAX_STEP

        syslog.syslog("%s %s" % (BREADCRUMB_STEPS, BREADCRUMB_MAX_STEP))

        first_step = self.stepGuadaWelcome

        self.set_current_page(self.steps.page_num(first_step))
        if got_intro:
            # intro_label was the only focusable widget, but got can-focus
            # removed, so we end up with no input focus and thus pressing
            # Enter doesn't activate the default widget. Work around this.
            self.next.grab_focus()

        if not 'UBIQUITY_MIGRATION_ASSISTANT' in os.environ:
            self.steps.remove_page(
                self.steps.page_num(self.stepMigrationAssistant))
            for step in BREADCRUMB_STEPS:
                if (BREADCRUMB_STEPS[step] >
                        BREADCRUMB_STEPS["stepMigrationAssistant"]):
                    BREADCRUMB_STEPS[step] -= 1
            BREADCRUMB_MAX_STEP -= 1

        if got_intro:
            gtk.main()

        syslog.syslog("----> RUN : Salte la intro")

        while (self.pagesindex < pageslen):
            syslog.syslog("----> RUN : Dentro del while %s" % self.pagesindex)
            if self.current_page == None:
                break

            old_dbfilter = self.dbfilter
            self.dbfilter = self.pages[self.pagesindex](self)

            # Non-debconf steps are no longer possible as the interface is now
            # driven by whether there is a question to ask.
            syslog.syslog("----> RUN : self.dbfilter %s" % self.dbfilter)
            if self.dbfilter is not None and self.dbfilter != old_dbfilter:
                self.allow_change_step(False)
                syslog.syslog("----> RUN : START start dbfilter")
                self.dbfilter.start(auto_process=True)
                syslog.syslog("----> RUN : END start dbfilter")
            gtk.main()
            syslog.syslog("----> RUN : Sali del gtk_main")

            if self.backup or self.dbfilter_handle_status():
                if self.installing:
                    syslog.syslog("----> RUN : START progress loop")
                    self.progress_loop()
                    syslog.syslog("----> RUN : END progress loop")
                elif self.current_page is not None and not self.backup:
                    syslog.syslog("----> RUN : START process step")
                    self.process_step()
                    syslog.syslog("----> RUN : END process step")
                    if not self.stay_on_page:
                        self.pagesindex = self.pagesindex + 1
                    if 'UBIQUITY_AUTOMATIC' in os.environ:
                        # if no debconf_progress, create another one, set start to pageindex
                        self.debconf_progress_step(1)
                        self.refresh()
                if self.backup:
                    if self.pagesindex > 0:
                        step = self.step_name(self.steps.get_current_page())
                        if not step == 'stepPartAdvanced':
                            self.pagesindex = self.pagesindex - 1

            while gtk.events_pending():
                gtk.main_iteration()

            # needed to be here for --automatic as there might not be any
            # current page in the event all of the questions have been
            # preseeded.
            if self.pagesindex == pageslen:
                # Ready to install
                self.live_installer.hide()
                self.current_page = None
                self.installing = True
                self.progress_loop()
        return self.returncode

    def set_page(self, n):
        syslog.syslog("--------> set page : %s" % n)
        self.run_automation_error_cmd()
        # We only stop the backup process when we're on a page where questions
        # need to be asked, otherwise you wont be able to back up past
        # migration-assistant.
        self.backup = False
        self.live_installer.show()

        if n == 'Partman':
            # Rather than try to guess which partman page we should be on,
            # we leave that decision to set_autopartitioning_choices and
            # update_partman.
            return
        elif n == 'GuadaPrePartition':
            cur = self.stepGuadaPrePartition
        elif n == 'UserSetup':
            cur = self.stepUserInfo
        elif n == 'Summary':
            cur = self.stepReady
            self.next.set_label(self.get_string('install_button'))
        elif n == 'MigrationAssistant':
            cur = self.stepMigrationAssistant
        else:
            print >> sys.stderr, 'No page found for %s' % n
            return

        self.set_current_page(self.steps.page_num(cur))
        if not self.first_seen_page:
            self.first_seen_page = n
        if self.first_seen_page == self.pages[self.pagesindex].__name__:
            self.back.hide()
        elif 'UBIQUITY_AUTOMATIC' not in os.environ:
            self.back.show()

    def process_step(self):
        """Process and validate the results of this step."""

        # setting actual step
        step_num = self.steps.get_current_page()
        step = self.step_name(step_num)

        #Figure out if this is a mythbuntu specific step
        if step == "stepGuadaWelcome":
            self.process_prepartition()
        else:
            ubiquity.frontend.gtk_ui.Wizard.process_step(self)

    def process_prepartition(self):
        syslog.syslog("-----------> process_prepartition")
        self.allow_go_forward(False)