comparison mercurial/ui.py @ 5671:b5605d88dc27

Make ui.prompt repeat on "unrecognized response" again (issue897) (this was accidentally changed in ca0d02222d6a)
author Thomas Arendsen Hein <thomas@intevation.de>
date Thu, 27 Dec 2007 10:32:33 +0100
parents 8c5ef3b87cb1
children 6ba5ecc27d33
comparison
equal deleted inserted replaced
5670:840e2b315c1f 5671:b5605d88dc27
405 pass 405 pass
406 return raw_input(prompt) 406 return raw_input(prompt)
407 407
408 def prompt(self, msg, pat=None, default="y", matchflags=0): 408 def prompt(self, msg, pat=None, default="y", matchflags=0):
409 if not self.interactive: return default 409 if not self.interactive: return default
410 try: 410 while True:
411 r = self._readline(msg + ' ') 411 try:
412 if not pat or re.match(pat, r, matchflags): 412 r = self._readline(msg + ' ')
413 return r 413 if not pat or re.match(pat, r, matchflags):
414 else: 414 return r
415 self.write(_("unrecognized response\n")) 415 else:
416 except EOFError: 416 self.write(_("unrecognized response\n"))
417 raise util.Abort(_('response expected')) 417 except EOFError:
418 raise util.Abort(_('response expected'))
418 419
419 def getpass(self, prompt=None, default=None): 420 def getpass(self, prompt=None, default=None):
420 if not self.interactive: return default 421 if not self.interactive: return default
421 return getpass.getpass(prompt or _('password: ')) 422 return getpass.getpass(prompt or _('password: '))
422 def status(self, *msg): 423 def status(self, *msg):