##// END OF EJS Templates
Move ui class to its own module...
mpm@selenic.com -
r207:ec327cf0 default
parent child Browse files
Show More
@@ -0,0 +1,55 b''
1 # ui.py - user interface bits for mercurial
2 #
3 # Copyright 2005 Matt Mackall <mpm@selenic.com>
4 #
5 # This software may be used and distributed according to the terms
6 # of the GNU General Public License, incorporated herein by reference.
7
8 import os, tempfile, sys, re
9
10 class ui:
11 def __init__(self, verbose=False, debug=False, quiet=False,
12 interactive=True):
13 self.quiet = quiet and not verbose and not debug
14 self.verbose = verbose or debug
15 self.debugflag = debug
16 self.interactive = interactive
17 def write(self, *args):
18 for a in args:
19 sys.stdout.write(str(a))
20 def readline(self):
21 return sys.stdin.readline()[:-1]
22 def prompt(self, msg, pat, default = "y"):
23 if not self.interactive: return default
24 while 1:
25 self.write(msg, " ")
26 r = self.readline()
27 if re.match(pat, r):
28 return r
29 else:
30 self.write("unrecognized response\n")
31 def status(self, *msg):
32 if not self.quiet: self.write(*msg)
33 def warn(self, msg):
34 self.write(*msg)
35 def note(self, *msg):
36 if self.verbose: self.write(*msg)
37 def debug(self, *msg):
38 if self.debugflag: self.write(*msg)
39 def edit(self, text):
40 (fd, name) = tempfile.mkstemp("hg")
41 f = os.fdopen(fd, "w")
42 f.write(text)
43 f.close()
44
45 editor = os.environ.get("HGEDITOR") or os.environ.get("EDITOR", "vi")
46 r = os.system("%s %s" % (editor, name))
47
48 if r:
49 raise "Edit failed!"
50
51 t = open(name).read()
52 t = re.sub("(?m)^HG:.*\n", "", t)
53
54 return t
55
@@ -17,7 +17,7 b''
17 # pass
17 # pass
18
18
19 import sys, os, time
19 import sys, os, time
20 from mercurial import hg, mdiff, fancyopts
20 from mercurial import hg, mdiff, fancyopts, ui
21
21
22 def help():
22 def help():
23 ui.status("""\
23 ui.status("""\
@@ -109,7 +109,7 b' try:'
109 except:
109 except:
110 cmd = "help"
110 cmd = "help"
111
111
112 ui = hg.ui(options["verbose"], options["debug"], options["quiet"],
112 ui = ui.ui(options["verbose"], options["debug"], options["quiet"],
113 not options["noninteractive"])
113 not options["noninteractive"])
114
114
115 if cmd == "init":
115 if cmd == "init":
@@ -944,52 +944,6 b' def repository(ui, path=None, create=0):'
944 else:
944 else:
945 return localrepository(ui, path, create)
945 return localrepository(ui, path, create)
946
946
947 class ui:
948 def __init__(self, verbose=False, debug=False, quiet=False,
949 interactive=True):
950 self.quiet = quiet and not verbose and not debug
951 self.verbose = verbose or debug
952 self.debugflag = debug
953 self.interactive = interactive
954 def write(self, *args):
955 for a in args:
956 sys.stdout.write(str(a))
957 def readline(self):
958 return sys.stdin.readline()[:-1]
959 def prompt(self, msg, pat, default = "y"):
960 if not self.interactive: return default
961 while 1:
962 self.write(msg, " ")
963 r = self.readline()
964 if re.match(pat, r):
965 return r
966 else:
967 self.write("unrecognized response\n")
968 def status(self, *msg):
969 if not self.quiet: self.write(*msg)
970 def warn(self, msg):
971 self.write(*msg)
972 def note(self, *msg):
973 if self.verbose: self.write(*msg)
974 def debug(self, *msg):
975 if self.debugflag: self.write(*msg)
976 def edit(self, text):
977 (fd, name) = tempfile.mkstemp("hg")
978 f = os.fdopen(fd, "w")
979 f.write(text)
980 f.close()
981
982 editor = os.environ.get("HGEDITOR") or os.environ.get("EDITOR", "vi")
983 r = os.system("%s %s" % (editor, name))
984
985 if r:
986 raise "Edit failed!"
987
988 t = open(name).read()
989 t = re.sub("(?m)^HG:.*\n", "", t)
990
991 return t
992
993 class httprangereader:
947 class httprangereader:
994 def __init__(self, url):
948 def __init__(self, url):
995 self.url = url
949 self.url = url
General Comments 0
You need to be logged in to leave comments. Login now