Example #1
0
 def _perform_delete_action(self, context, ident):
     if context == 'package':
         debug(context, ident)
         #package, action = ident.split('|')
         package = ident
         # right now we delete all actions with the package
         action = None
         debug('delete package', package, action)
         self.doc.trait.delete_package(package, action)
         self.resetView()
     elif context == 'template':
         debug(context, ident)
         ans = KMessageBox.questionYesNo(self,
                                         "%s: really delete this template?" % ident)
         if ans == KMessageBox.Yes:
             template = self._convert_template_id(ident)
             self.doc.trait.delete_template(template)
             self.resetView()
     elif context == 'script':
         debug(context, ident)
         ans = KMessageBox.questionYesNo(self,
                                         "Really delete the %s script?" % ident)
         if ans == KMessageBox.Yes:
             self.doc.trait.delete_script(ident)
             self.resetView()
     else:
         raise RuntimeError , '%s context not implemented' % context
Example #2
0
 def _perform_delete_action(self, context, ident):
     if context == 'package':
         debug(context, ident)
         #package, action = ident.split('|')
         package = ident
         # right now we delete all actions with the package
         action = None
         debug('delete package', package, action)
         self.doc.trait.delete_package(package, action)
         self.resetView()
     elif context == 'template':
         debug(context, ident)
         ans = KMessageBox.questionYesNo(self,
                                         "%s: really delete this template?" % ident)
         if ans == KMessageBox.Yes:
             template = ident
             self.doc.trait.delete_template(template)
             self.resetView()
     elif context == 'script':
         debug(context, ident)
         ans = KMessageBox.questionYesNo(self,
                                         "Really delete the %s script?" % ident)
         if ans == KMessageBox.Yes:
             self.doc.trait.delete_script(ident)
             self.resetView()
     else:
         raise RuntimeError , '%s context not implemented' % context
Example #3
0
 def setSource(self, url):
     action, context, ident = split_url(url)
     if action == 'edit':
         if context == 'variables':
             config = self.family.getVariablesConfig(self.family.current)
             newconfig = config.edit()
             config.update(newconfig)
             self.set_family(ident)
         elif context == 'parents':
             dialog = FamilyParentAssigner(self, ident)
             dialog.connect(dialog, SIGNAL('okClicked()'), self.resetView)
             dialog.show()
         else:
             KMessageBox.error(self, 'unable to edit %s for family' % context)
     elif action == 'delete':
         if context == 'family':
             #KMessageBox.information(self, 'delete family %s is unimplemented' % ident)
             msg = "Really delete family %s" % ident
             answer = KMessageBox.questionYesNo(self, msg)
             if answer == KMessageBox.Yes:
                 self.family.delete_family(ident)
                 msg = "family %s deleted" % ident
                 KMessageBox.information(self, msg)
                 self.parent().parent().refreshListView()
                 self.setText('')
         else:
             KMessageBox.error(self, 'unable to delete %s for family' % context)
     else:
         KMessageBox.error(self, 'action %s unimpletmented' % url)
Example #4
0
 def setSource(self, url):
     action, context, ident = split_url(url)
     if action == 'edit':
         if context == 'variables':
             config = self.family.getVariablesConfig(self.family.current)
             newconfig = config.edit()
             config.update(newconfig)
             self.set_family(ident)
         elif context == 'parents':
             dialog = FamilyParentAssigner(self, ident)
             dialog.connect(dialog, SIGNAL('okClicked()'), self.resetView)
             dialog.show()
         else:
             KMessageBox.error(self,
                               'unable to edit %s for family' % context)
     elif action == 'delete':
         if context == 'family':
             #KMessageBox.information(self, 'delete family %s is unimplemented' % ident)
             msg = "Really delete family %s" % ident
             answer = KMessageBox.questionYesNo(self, msg)
             if answer == KMessageBox.Yes:
                 self.family.delete_family(ident)
                 msg = "family %s deleted" % ident
                 KMessageBox.information(self, msg)
                 self.parent().parent().refreshListView()
                 self.setText('')
         else:
             KMessageBox.error(self,
                               'unable to delete %s for family' % context)
     else:
         KMessageBox.error(self, 'action %s unimpletmented' % url)
 def slotSave(self):
     profile = self.current_profile
     msg = 'Save profile %s?' % profile
     ans = KMessageBox.questionYesNo(self, msg, 'Save Profile')
     if ans == KMessageBox.Yes:
         self.mainView.save_profile(profile)
     elif ans == KMessageBox.No:
         print KMessageBox.information(self,
                                       'Declined to save profile %s' % profile)
     else:
         print ans
Example #6
0
 def _perform_edit_action(self, context, ident):
     if context == 'templates':
         if self._current_tarball is None:
             self.selectSystemTarballDialog()
         else:
             msg = 'use %s as the current tarball?' % self._current_tarball
             yesno = KMessageBox.questionYesNo(self, msg)
             if yesno == KMessageBox.Yes:
                 self.selectWithinSystemTarballDialog(self._current_tarball)
             else:
                 self._current_tarball = None
                 self.selectSystemTarballDialog()
     elif context == 'packages':
         raise RuntimeError, 'packages not implemented yet'
     elif context == 'script':
         self.doc.trait.edit_script(ident)
     elif context == 'parents':
         win = ParentAssigner(self, ident, self.doc.suite)
         win.connect(win, SIGNAL('okClicked()'), self.resetView)
         win.show()
     elif context == 'variables':
         #KMessageBox.information(self, 'edit variables')
         debug('edit variables', ident)
         win = TraitVariablesWindow(self, self.doc.suite, ident)
         win.show()
     elif context == 'template':
         template = ident
         self.doc.trait.edit_template(template)
     elif context == 'templatedata':
         template = ident
         row = self.doc.trait.get_template_row(template)
         data = {}
         fields = ['template', 'owner', 'grp_owner', 'mode']
         for f in fields:
             data[f] = row[f]
         win = BaseRecordDialog(self, fields, record=data)
         win.template = template
         win.connect(win, SIGNAL('okClicked()'),
                     self.slotUpdateTemplateData)
         win.show()
         self._dialog = win
     elif context == 'description':
         #KMessageBox.information(self, 'edit description for %s' % ident)
         win = TraitDescriptionWindow(self, ident, self.doc.suite)
         win.show()
     else:
         raise MethodNotImplementedError(self,
                                         'TraitView._perform_edit_action')
Example #7
0
 def _perform_edit_action(self, context, ident):
     if context == 'templates':
         if self._current_tarball is None:
             self.selectSystemTarballDialog()
         else:
             msg = 'use %s as the current tarball?' % self._current_tarball
             yesno = KMessageBox.questionYesNo(self, msg)
             if yesno == KMessageBox.Yes:
                 self.selectWithinSystemTarballDialog(self._current_tarball)
             else:
                 self._current_tarball = None
                 self.selectSystemTarballDialog()
     elif context == 'packages':
         raise RuntimeError , 'packages not implemented yet'
     elif context == 'script':
         self.doc.trait.edit_script(ident)
     elif context == 'parents':
         win = ParentAssigner(self, ident, self.doc.suite)
         win.connect(win, SIGNAL('okClicked()'), self.resetView)
         win.show()
     elif context == 'variables':
         #KMessageBox.information(self, 'edit variables')
         debug('edit variables', ident)
         win = TraitVariablesWindow(self, self.doc.suite, ident)
         win.show()
     elif context == 'template':
         template = ident
         self.doc.trait.edit_template(template)
     elif context == 'templatedata':
         template = ident
         row = self.doc.trait.get_template_row(template)
         data = {}
         fields = ['template', 'owner', 'grp_owner', 'mode']
         for f in fields:
             data[f] = row[f]
         win = BaseRecordDialog(self, fields, record=data)
         win.template = template
         win.connect(win, SIGNAL('okClicked()'), self.slotUpdateTemplateData)
         win.show()
         self._dialog = win
     elif context == 'description':
         #KMessageBox.information(self, 'edit description for %s' % ident)
         win = TraitDescriptionWindow(self, ident, self.doc.suite)
         win.show()
     else:
         raise MethodNotImplementedError(self, 'TraitView._perform_edit_action')
Example #8
0
 def _script_context(self, action, ident):
     print "context is script", action, ident
     if action == 'new':
         dialog = self.makeGenericDialog(NewMachineScriptDialog, ())
         dialog.connect(dialog, SIGNAL('okClicked()'), self.insertNewScript)
     elif action == 'edit':
         handler = self.doc.machine
         handler.relation.edit_script(ident)
     elif action == 'delete':
         handler = self.doc.machine
         msg = "Really delete the %s script?" % ident
         answer = KMessageBox.questionYesNo(self, msg)
         if answer == KMessageBox.Yes:
             handler.relation.scripts.delete_script(ident)
             self.resetView()
     else:
         self._unhandled_action(action, 'scripts')
Example #9
0
 def _script_context(self, action, ident):
     print "context is script", action, ident
     if action == 'new':
         dialog = self.makeGenericDialog(NewMachineScriptDialog, ())
         dialog.connect(dialog, SIGNAL('okClicked()'), self.insertNewScript)
     elif action == 'edit':
         handler = self.doc.machine
         handler.relation.edit_script(ident)
     elif action == 'delete':
         handler = self.doc.machine
         msg = "Really delete the %s script?" % ident
         answer = KMessageBox.questionYesNo(self, msg)
         if answer == KMessageBox.Yes:
             handler.relation.scripts.delete_script(ident)
             self.resetView()
     else:
         self._unhandled_action(action, 'scripts')
Example #10
0
 def slotDbConnected(self, dsn):
     #print dsn
     #print 'slotDbConnected'
     for action in self.suiteActions.values():
         action.unplug(self.suitemenu)
     self.suite_actions = {}
     self.cursor = self.app.conn.cursor(statement=True)
     if 'suites' in self.cursor.tables():
         self._suites = [row.suite for row in self.cursor.select(table='suites')]
         self._initTraitsActions(self._suites)
     for action in self.manageTraitsActions.values():
         action.plug(self.suitemenu)
     self.statusbar.message('Connected to %s on host %s' % (dsn['dbname'], dsn['dbhost']))
     if not self.cursor.tables():
         yesno = KMessageBox.questionYesNo(self, 'create primary tables?')
         if yesno == KMessageBox.Yes:
             dbm = DatabaseManager(self.app.conn)
             dbm.importer.start_schema()
Example #11
0
    def _machine_context(self, action, ident):
        handler = self.doc.machine
        if action == 'new':
            dialog = self.makeGenericDialog(NewMachineDialog, (handler,))
            dialog.connect(dialog, SIGNAL('okClicked()'), self.reset_manager)
        elif action == 'edit':
            dialog = self.makeGenericDialog(EditMachineDIalog, (handler, ident))
        elif action == 'delete':
            msg = "Really delete this machine: %s?" % ident
            answer = KMessageBox.questionYesNo(self, msg)
            if answer == KMessageBox.Yes:
                #KMessageBox.information(self, "I'm supposed to be deleting %s" % ident)
                handler.delete_machine(ident)
                self.reset_manager()
        else:
            self._unhandled_action(action, 'machines')

        print "context is machine", action, ident
 def _parent_context(self, action, ident):
     handler = self.doc.machine
     if action == "select":
         dialog = self.makeGenericDialog(MachineParentDialog, (handler,))
         dialog.connect(dialog, SIGNAL("okClicked()"), self.slotParentSelected)
     elif action == "delete":
         if handler.relation.parents.has_children(ident):
             msg = "This machine has children.\n"
             msg += "Removing this parent may affect the children.\n"
             msg += "Do you wish to remove it anyway?"
             answer = KMessageBox.questionYesNo(self, msg)
             if answer == KMessageBox.Yes:
                 handler.delete_parent()
         else:
             handler.delete_parent()
         self.resetView()
     else:
         self._unhandled_action(action, "parent")
 def _variable_context(self, action, ident):
     print "context is variable", action, ident
     if action == "new":
         message = "Add a new variable."
         context = "variable"
         self.makeNewRecordDialog(context, ["trait", "name", "value"], message)
     elif action == "delete":
         print "delete variable", ident
         trait, name = split_ident(ident)
         msg = "Really delete this variable: \n"
         msg += "Trait: %s\nName: %s\n" % (trait, name)
         answer = KMessageBox.questionYesNo(self, msg)
         if answer == KMessageBox.Yes:
             handler = self.doc.machine
             handler.relation.environment.delete_variable(trait, name)
             self.resetView()
     else:
         self._unhandled_action(action, "variables")
Example #14
0
    def setSource(self, url):
        action, context, ident = split_url(url)
        if action == 'show':
            print 'unimpletmented'
        elif action == 'edit':
            if context == 'traits':
                win = TraitAssigner(self.parent(), ident)
                self.connect(win, SIGNAL('okClicked()'), self.resetView)
                win.show()
            elif context == 'variables':
                self.doc.profile.edit_variables()
                self.resetView()
            elif context == 'families':
                win = FamilyAssigner(self.parent(), ident)
                self.connect(win, SIGNAL('okClicked()'), self.resetView)
                win.show()
            else:
                KMessageBox.error(self, 'bad edit action %s' % url)
        elif action == 'change':
            if context == 'suite':
                self.emit(PYSIGNAL('changeSuite'), (ident, ))
                print 'changeSuite emitted'
            else:
                KMessageBox.error(self, 'bad change action %s' % url)
        elif action == 'delete':
            if context == 'profile':
                msg = "Really delete profile %s" % ident
                answer = KMessageBox.questionYesNo(self, msg)
                if answer == KMessageBox.Yes:
                    #msg = "we're supposed to delete this profile, but can't yet"
                    self.doc.profile.delete_profile(ident)
                    msg = "profile %s deleted" % ident
                    KMessageBox.information(self, msg)
                    mainwin = self.parent().parent()
                    mainwin.refreshListView()
                    mainwin.resetProfileObject()
                    self.setText('')

            else:
                KMessageBox.error(self,
                                  "Don't know how to delete %s" % context)

        else:
            KMessageBox.information(self, 'called %s' % url)
Example #15
0
 def _perform_delete_action(self, context, ident):
     if context == 'Families':
         self.doc.mtype.delete_family(ident)
         self.resetView()
     elif context == 'Variables':
         self.doc.mtype.edit_variables()
     elif context == 'Scripts':
         ans = KMessageBox.questionYesNo(self, "really delete this script?")
         if ans == KMessageBox.Yes:
             self.doc.mtype.delete_script(ident)
     elif context == 'Modules':
         msg = 'Deleting modules is not supported.'
         KMessageBox.information(self, msg)
     elif context == 'machine_type':
         msg = "Can't delete machine types yet."
         KMessageBox.information(self, msg)
     else:
         msg = 'Problem with delete - context %s id %s' % (context, ident)
         KMessageBox.error(self, msg)
Example #16
0
    def setSource(self, url):
        action, context, ident = split_url(url)
        if action == "show":
            print "unimpletmented"
        elif action == "edit":
            if context == "traits":
                win = TraitAssigner(self.parent(), ident)
                self.connect(win, SIGNAL("okClicked()"), self.resetView)
                win.show()
            elif context == "variables":
                self.doc.profile.edit_variables()
                self.resetView()
            elif context == "families":
                win = FamilyAssigner(self.parent(), ident)
                self.connect(win, SIGNAL("okClicked()"), self.resetView)
                win.show()
            else:
                KMessageBox.error(self, "bad edit action %s" % url)
        elif action == "change":
            if context == "suite":
                self.emit(PYSIGNAL("changeSuite"), (ident,))
                print "changeSuite emitted"
            else:
                KMessageBox.error(self, "bad change action %s" % url)
        elif action == "delete":
            if context == "profile":
                msg = "Really delete profile %s" % ident
                answer = KMessageBox.questionYesNo(self, msg)
                if answer == KMessageBox.Yes:
                    # msg = "we're supposed to delete this profile, but can't yet"
                    self.doc.profile.delete_profile(ident)
                    msg = "profile %s deleted" % ident
                    KMessageBox.information(self, msg)
                    mainwin = self.parent().parent()
                    mainwin.refreshListView()
                    mainwin.resetProfileObject()
                    self.setText("")

            else:
                KMessageBox.error(self, "Don't know how to delete %s" % context)

        else:
            KMessageBox.information(self, "called %s" % url)
 def _perform_delete_action(self, context, ident):
     if context == "Families":
         self.doc.mtype.delete_family(ident)
         self.resetView()
     elif context == "Variables":
         self.doc.mtype.edit_variables()
     elif context == "Scripts":
         ans = KMessageBox.questionYesNo(self, "really delete this script?")
         if ans == KMessageBox.Yes:
             self.doc.mtype.delete_script(ident)
     elif context == "Modules":
         msg = "Deleting modules is not supported."
         KMessageBox.information(self, msg)
     elif context == "machine_type":
         msg = "Can't delete machine types yet."
         KMessageBox.information(self, msg)
     else:
         msg = "Problem with delete - context %s id %s" % (context, ident)
         KMessageBox.error(self, msg)
Example #18
0
 def _parent_context(self, action, ident):
     handler = self.doc.machine
     if action == 'select':
         dialog = self.makeGenericDialog(MachineParentDialog, (handler, ))
         dialog.connect(dialog, SIGNAL('okClicked()'),
                        self.slotParentSelected)
     elif action == 'delete':
         if handler.relation.parents.has_children(ident):
             msg = "This machine has children.\n"
             msg += "Removing this parent may affect the children.\n"
             msg += "Do you wish to remove it anyway?"
             answer = KMessageBox.questionYesNo(self, msg)
             if answer == KMessageBox.Yes:
                 handler.delete_parent()
         else:
             handler.delete_parent()
         self.resetView()
     else:
         self._unhandled_action(action, 'parent')
Example #19
0
 def _variable_context(self, action, ident):
     print "context is variable", action, ident
     if action == 'new':
         message = "Add a new variable."
         context = 'variable'
         self.makeNewRecordDialog(context, ['trait', 'name', 'value'],
                                  message)
     elif action == 'delete':
         print "delete variable", ident
         trait, name = split_ident(ident)
         msg = "Really delete this variable: \n"
         msg += "Trait: %s\nName: %s\n" % (trait, name)
         answer = KMessageBox.questionYesNo(self, msg)
         if answer == KMessageBox.Yes:
             handler = self.doc.machine
             handler.relation.environment.delete_variable(trait, name)
             self.resetView()
     else:
         self._unhandled_action(action, 'variables')
Example #20
0
 def slotDbConnected(self, dsn):
     #print dsn
     #print 'slotDbConnected'
     for action in self.suiteActions.values():
         action.unplug(self.suitemenu)
     self.suite_actions = {}
     self.cursor = self.app.conn.cursor(statement=True)
     if 'suites' in self.cursor.tables():
         self._suites = [
             row.suite for row in self.cursor.select(table='suites')
         ]
         self._initTraitsActions(self._suites)
     for action in self.manageTraitsActions.values():
         action.plug(self.suitemenu)
     self.statusbar.message('Connected to %s on host %s' %
                            (dsn['dbname'], dsn['dbhost']))
     if not self.cursor.tables():
         yesno = KMessageBox.questionYesNo(self, 'create primary tables?')
         if yesno == KMessageBox.Yes:
             dbm = DatabaseManager(self.app.conn)
             dbm.importer.start_schema()
Example #21
0
 def _variable_context(self, action, ident):
     print "context is variable", action, ident
     if action == 'new':
         message = "Add a new variable."
         context = 'variable'
         self.makeNewRecordDialog(context,
                                  ['trait', 'name', 'value'], message)
     elif action == 'delete':
         print "delete variable", ident
         trait, name = split_ident(ident)
         msg = "Really delete this variable: \n"
         msg += "Trait: %s\nName: %s\n" % (trait, name)
         answer = KMessageBox.questionYesNo(self, msg)
         if answer == KMessageBox.Yes:
             handler = self.doc.machine
             handler.relation.environment.delete_variable(trait, name)
             self.resetView()
     elif action == 'edit':
         handler = self.doc.machine
         handler.edit_variables()
         self.resetView()
     else:
         self._unhandled_action(action, 'variables')