Esempio n. 1
0
 def decide(self,prompt,answers,
            default=None,
            ignoreCase=True):
     
     """Ask user a question and return only when she has given her
     answer. Returns the index of chosen answer or -1 if user
     refused to answer.
     
     """
     if default is None:
         default = answers[0]
         
     if self._batch:
         return default
     
     if sound:
         sound.asterisk()
     while True:
         s = raw_input(prompt+(" [%s]" % ",".join(answers)))
         if s == "":
             s = default
         if ignoreCase:
             s = s.lower()
         if s in answers:
             return s
         self.warning("wrong answer: "+s)
Esempio n. 2
0
    def show_confirm(self,sess,prompt,default=True):
        """Ask user a yes/no question and return only when she has
        given her answer. returns True or False.
        
        """
        assert type(default) is type(False)
        #print self.stdout
##         if self.app is not None:
##             return self.app.confirm(prompt,default)
        if sound:
            sound.asterisk()
        if default:
            prompt += " [Y,n]"
        else:
            #assert default == "n"
            prompt += " [y,N]"
        while True:
            s = self.readkey(prompt)
            if s == "":
                return default
            s = s.lower()
            if s == "y":
                return True
            if s == "n":
                return False
            self.show_notice(sess,
                             "wrong answer, must be 'y' or 'n': "+s)
Esempio n. 3
0
    def confirm(self,prompt,default="y"):
        """Ask user a yes/no question and return only when she has
        given her answer. returns True or False.
        
        """
        #print self._stdout
##         if self.app is not None:
##             return self.app.confirm(prompt,default)
        if self._batch:
            return (default=='y')
        
        if sound:
            sound.asterisk()
        if default == "y":
            prompt += " [Y,n]"
        else:
            assert default == "n"
            prompt += " [y,N]"
        while True:
            s = raw_input(prompt)
            if s == "":
                s = default
            s = s.lower()
            if s == "y":
                return True
            if s == "n":
                return False
            self.error("wrong answer, must be 'y' or 'n': "+s)
Esempio n. 4
0
 def show_confirm(self, sess, prompt, default=True):
     """Ask user a yes/no question and return only when she has
     given her answer. returns True or False.
     
     """
     assert type(default) is type(False)
     #print self.stdout
     ##         if self.app is not None:
     ##             return self.app.confirm(prompt,default)
     if sound:
         sound.asterisk()
     if default:
         prompt += " [Y,n]"
     else:
         #assert default == "n"
         prompt += " [y,N]"
     while True:
         s = self.readkey(prompt)
         if s == "":
             return default
         s = s.lower()
         if s == "y":
             return True
         if s == "n":
             return False
         self.show_notice(sess, "wrong answer, must be 'y' or 'n': " + s)