# HG changeset patch # User mpm@selenic.com # Date 2005-06-01 06:57:53 # Node ID ec327cf0d3a939d7a8c705ba179c8d8b128f316d # Parent 3295b6b508de61fcc88cb03fd9976ed263716654 Move ui class to its own module -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Move ui class to its own module manifest hash: f75c8f9cdfe16f143ab633d0072c14ba88ac88be -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCnVxxywK+sNU5EO8RAgPgAJ48p7w4Do/saCC8WkBvHj/rdnoiEgCgrSs9 Wu1fOSgST3rn/2JpZAdFRdA= =91tt -----END PGP SIGNATURE----- diff --git a/hg b/hg --- a/hg +++ b/hg @@ -17,7 +17,7 @@ # pass import sys, os, time -from mercurial import hg, mdiff, fancyopts +from mercurial import hg, mdiff, fancyopts, ui def help(): ui.status("""\ @@ -109,7 +109,7 @@ try: except: cmd = "help" -ui = hg.ui(options["verbose"], options["debug"], options["quiet"], +ui = ui.ui(options["verbose"], options["debug"], options["quiet"], not options["noninteractive"]) if cmd == "init": diff --git a/mercurial/hg.py b/mercurial/hg.py --- a/mercurial/hg.py +++ b/mercurial/hg.py @@ -944,52 +944,6 @@ def repository(ui, path=None, create=0): else: return localrepository(ui, path, create) -class ui: - def __init__(self, verbose=False, debug=False, quiet=False, - interactive=True): - self.quiet = quiet and not verbose and not debug - self.verbose = verbose or debug - self.debugflag = debug - self.interactive = interactive - def write(self, *args): - for a in args: - sys.stdout.write(str(a)) - def readline(self): - return sys.stdin.readline()[:-1] - def prompt(self, msg, pat, default = "y"): - if not self.interactive: return default - while 1: - self.write(msg, " ") - r = self.readline() - if re.match(pat, r): - return r - else: - self.write("unrecognized response\n") - def status(self, *msg): - if not self.quiet: self.write(*msg) - def warn(self, msg): - self.write(*msg) - def note(self, *msg): - if self.verbose: self.write(*msg) - def debug(self, *msg): - if self.debugflag: self.write(*msg) - def edit(self, text): - (fd, name) = tempfile.mkstemp("hg") - f = os.fdopen(fd, "w") - f.write(text) - f.close() - - editor = os.environ.get("HGEDITOR") or os.environ.get("EDITOR", "vi") - r = os.system("%s %s" % (editor, name)) - - if r: - raise "Edit failed!" - - t = open(name).read() - t = re.sub("(?m)^HG:.*\n", "", t) - - return t - class httprangereader: def __init__(self, url): self.url = url diff --git a/mercurial/ui.py b/mercurial/ui.py new file mode 100644 --- /dev/null +++ b/mercurial/ui.py @@ -0,0 +1,55 @@ +# ui.py - user interface bits for mercurial +# +# Copyright 2005 Matt Mackall +# +# This software may be used and distributed according to the terms +# of the GNU General Public License, incorporated herein by reference. + +import os, tempfile, sys, re + +class ui: + def __init__(self, verbose=False, debug=False, quiet=False, + interactive=True): + self.quiet = quiet and not verbose and not debug + self.verbose = verbose or debug + self.debugflag = debug + self.interactive = interactive + def write(self, *args): + for a in args: + sys.stdout.write(str(a)) + def readline(self): + return sys.stdin.readline()[:-1] + def prompt(self, msg, pat, default = "y"): + if not self.interactive: return default + while 1: + self.write(msg, " ") + r = self.readline() + if re.match(pat, r): + return r + else: + self.write("unrecognized response\n") + def status(self, *msg): + if not self.quiet: self.write(*msg) + def warn(self, msg): + self.write(*msg) + def note(self, *msg): + if self.verbose: self.write(*msg) + def debug(self, *msg): + if self.debugflag: self.write(*msg) + def edit(self, text): + (fd, name) = tempfile.mkstemp("hg") + f = os.fdopen(fd, "w") + f.write(text) + f.close() + + editor = os.environ.get("HGEDITOR") or os.environ.get("EDITOR", "vi") + r = os.system("%s %s" % (editor, name)) + + if r: + raise "Edit failed!" + + t = open(name).read() + t = re.sub("(?m)^HG:.*\n", "", t) + + return t +