##// END OF EJS Templates
ui.warn can use more than one argument like the other ui methods.
Thomas Arendsen Hein -
r234:3427806d default
parent child Browse files
Show More
@@ -1,55 +1,55 b''
1 # ui.py - user interface bits for mercurial
1 # ui.py - user interface bits for mercurial
2 #
2 #
3 # Copyright 2005 Matt Mackall <mpm@selenic.com>
3 # Copyright 2005 Matt Mackall <mpm@selenic.com>
4 #
4 #
5 # This software may be used and distributed according to the terms
5 # This software may be used and distributed according to the terms
6 # of the GNU General Public License, incorporated herein by reference.
6 # of the GNU General Public License, incorporated herein by reference.
7
7
8 import os, tempfile, sys, re
8 import os, tempfile, sys, re
9
9
10 class ui:
10 class ui:
11 def __init__(self, verbose=False, debug=False, quiet=False,
11 def __init__(self, verbose=False, debug=False, quiet=False,
12 interactive=True):
12 interactive=True):
13 self.quiet = quiet and not verbose and not debug
13 self.quiet = quiet and not verbose and not debug
14 self.verbose = verbose or debug
14 self.verbose = verbose or debug
15 self.debugflag = debug
15 self.debugflag = debug
16 self.interactive = interactive
16 self.interactive = interactive
17 def write(self, *args):
17 def write(self, *args):
18 for a in args:
18 for a in args:
19 sys.stdout.write(str(a))
19 sys.stdout.write(str(a))
20 def readline(self):
20 def readline(self):
21 return sys.stdin.readline()[:-1]
21 return sys.stdin.readline()[:-1]
22 def prompt(self, msg, pat, default = "y"):
22 def prompt(self, msg, pat, default = "y"):
23 if not self.interactive: return default
23 if not self.interactive: return default
24 while 1:
24 while 1:
25 self.write(msg, " ")
25 self.write(msg, " ")
26 r = self.readline()
26 r = self.readline()
27 if re.match(pat, r):
27 if re.match(pat, r):
28 return r
28 return r
29 else:
29 else:
30 self.write("unrecognized response\n")
30 self.write("unrecognized response\n")
31 def status(self, *msg):
31 def status(self, *msg):
32 if not self.quiet: self.write(*msg)
32 if not self.quiet: self.write(*msg)
33 def warn(self, msg):
33 def warn(self, *msg):
34 self.write(*msg)
34 self.write(*msg)
35 def note(self, *msg):
35 def note(self, *msg):
36 if self.verbose: self.write(*msg)
36 if self.verbose: self.write(*msg)
37 def debug(self, *msg):
37 def debug(self, *msg):
38 if self.debugflag: self.write(*msg)
38 if self.debugflag: self.write(*msg)
39 def edit(self, text):
39 def edit(self, text):
40 (fd, name) = tempfile.mkstemp("hg")
40 (fd, name) = tempfile.mkstemp("hg")
41 f = os.fdopen(fd, "w")
41 f = os.fdopen(fd, "w")
42 f.write(text)
42 f.write(text)
43 f.close()
43 f.close()
44
44
45 editor = os.environ.get("HGEDITOR") or os.environ.get("EDITOR", "vi")
45 editor = os.environ.get("HGEDITOR") or os.environ.get("EDITOR", "vi")
46 r = os.system("%s %s" % (editor, name))
46 r = os.system("%s %s" % (editor, name))
47
47
48 if r:
48 if r:
49 raise "Edit failed!"
49 raise "Edit failed!"
50
50
51 t = open(name).read()
51 t = open(name).read()
52 t = re.sub("(?m)^HG:.*\n", "", t)
52 t = re.sub("(?m)^HG:.*\n", "", t)
53
53
54 return t
54 return t
55
55
General Comments 0
You need to be logged in to leave comments. Login now