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): |