##// END OF EJS Templates
hg import error checking...
hg import error checking -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 hg import error checking From: Chris Mason <mason@suse.com> hg import wasn't checking the return value of patch and wasn't making sure the list of files collected was unique. manifest hash: 85b2a0f0602cfff6ba6a61128a50d79d7fb6e1c7 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCuym/ywK+sNU5EO8RAlwSAJ48h8hHi3JMNwrVq0CXIfgMCTGRRQCfSfpP 9kHam+Rt8tra46lCQ4d27G4= =P00x -----END PGP SIGNATURE-----

File last commit:

r350:b4e0e206 merge default
r443:470a8321 default
Show More
ui.py
83 lines | 2.6 KiB | text/x-python | PythonLexer
mpm@selenic.com
Move ui class to its own module...
r207 # ui.py - user interface bits for mercurial
#
# Copyright 2005 Matt Mackall <mpm@selenic.com>
#
# This software may be used and distributed according to the terms
# of the GNU General Public License, incorporated herein by reference.
mpm@selenic.com
ui: add configuration file support...
r285 import os, sys, re, ConfigParser
mpm@selenic.com
Move ui class to its own module...
r207
class ui:
def __init__(self, verbose=False, debug=False, quiet=False,
interactive=True):
mpm@selenic.com
ui: add configuration file support...
r285 self.cdata = ConfigParser.SafeConfigParser()
self.cdata.read(os.path.expanduser("~/.hgrc"))
self.quiet = self.configbool("ui", "quiet")
self.verbose = self.configbool("ui", "verbose")
self.debugflag = self.configbool("ui", "debug")
self.interactive = self.configbool("ui", "interactive", True)
self.quiet = (self.quiet or quiet) and not verbose and not debug
self.verbose = (self.verbose or verbose) or debug
self.debugflag = (self.debugflag or debug)
self.interactive = (self.interactive and interactive)
mpm@selenic.com
Add support for .hg/hgrc file...
r337 def readconfig(self, fp):
self.cdata.readfp(fp)
mpm@selenic.com
ui: add configuration file support...
r285 def config(self, section, val, default=None):
if self.cdata.has_option(section, val):
return self.cdata.get(section, val)
return default
def configbool(self, section, val, default=False):
if self.cdata.has_option(section, val):
return self.cdata.getboolean(section, val)
return default
def configitems(self, section):
if self.cdata.has_section(section):
return self.cdata.items(section)
return []
mpm@selenic.com
Move ui class to its own module...
r207 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)
Thomas Arendsen Hein
ui.warn can use more than one argument like the other ui methods.
r234 def warn(self, *msg):
mpm@selenic.com
Move ui class to its own module...
r207 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):
mpm@selenic.com
import and startup cleanups...
r249 import tempfile
mpm@selenic.com
Move ui class to its own module...
r207 (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