本文整理汇总了Python中mercurial.util.any函数的典型用法代码示例。如果您正苦于以下问题:Python any函数的具体用法?Python any怎么用?Python any使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了any函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: verify
def verify(self, revs, contents=False):
'''Verify the existence (and, optionally, contents) of every big
file revision referenced by every changeset in revs.
Return 0 if all is well, non-zero on any errors.'''
write = self.ui.write
failed = False
write(_('searching %d changesets for largefiles\n') % len(revs))
verified = set() # set of (filename, filenode) tuples
for rev in revs:
cctx = self.repo[rev]
cset = "%d:%s" % (cctx.rev(), node.short(cctx.node()))
failed = util.any(self._verifyfile(
cctx, cset, contents, standin, verified) for standin in cctx)
numrevs = len(verified)
numlfiles = len(set([fname for (fname, fnode) in verified]))
if contents:
write(_('verified contents of %d revisions of %d largefiles\n')
% (numrevs, numlfiles))
else:
write(_('verified existence of %d revisions of %d largefiles\n')
% (numrevs, numlfiles))
return int(failed)
示例2: buildcmdargs
def buildcmdargs(name, *args, **opts):
r"""Build list of command-line arguments
>>> buildcmdargs('push', branch='foo')
['push', '--branch', 'foo']
>>> buildcmdargs('graft', r=['0', '1'])
['graft', '-r', '0', '-r', '1']
>>> buildcmdargs('log', no_merges=True, quiet=False, limit=None)
['log', '--no-merges']
>>> buildcmdargs('commit', user='')
['commit', '--user', '']
positional arguments:
>>> buildcmdargs('add', 'foo', 'bar')
['add', 'foo', 'bar']
>>> buildcmdargs('cat', '-foo', rev='0')
['cat', '--rev', '0', '--', '-foo']
type conversion to string:
>>> from PyQt4.QtCore import QString
>>> buildcmdargs('email', r=[0, 1])
['email', '-r', '0', '-r', '1']
>>> buildcmdargs('grep', 'foo', rev=2)
['grep', '--rev', '2', 'foo']
>>> buildcmdargs('tag', u'\xc0', message=u'\xc1')
['tag', '--message', u'\xc1', u'\xc0']
>>> buildcmdargs(QString('tag'), QString(u'\xc0'), message=QString(u'\xc1'))
[u'tag', '--message', u'\xc1', u'\xc0']
"""
stringfy = '%s'.__mod__ # (unicode, QString) -> unicode, otherwise -> str
fullargs = [stringfy(name)]
for k, v in opts.iteritems():
if v is None:
continue
if len(k) == 1:
aname = '-%s' % k
else:
aname = '--%s' % k.replace('_', '-')
if isinstance(v, bool):
if v:
fullargs.append(aname)
elif isinstance(v, list):
for e in v:
fullargs.append(aname)
fullargs.append(stringfy(e))
else:
fullargs.append(aname)
fullargs.append(stringfy(v))
args = map(stringfy, args)
if util.any(e.startswith('-') for e in args):
fullargs.append('--')
fullargs.extend(args)
return fullargs
示例3: _updateAnnotateOption
def _updateAnnotateOption(self):
# make sure at least one option is checked
if not util.any(a.isChecked() for a in self._annoptactions):
self.sender().setChecked(True)
self._setupLineAnnotation()
self.fillModel()
self._saveAnnotateSettings()
示例4: pathinstatus
def pathinstatus(path, status, uncleanpaths):
"""Test path is included by the status filter"""
if util.any(c in self._statusfilter and path in e
for c, e in status.iteritems()):
return True
if 'C' in self._statusfilter and path not in uncleanpaths:
return True
return False
示例5: _loadAnnotateSettings
def _loadAnnotateSettings(self):
s = QSettings()
wb = "Annotate/"
for a in self._annoptactions:
a.setChecked(s.value(wb + a.data().toString()).toBool())
if not util.any(a.isChecked() for a in self._annoptactions):
self._annoptactions[-1].setChecked(True) # 'rev' by default
self._setupLineAnnotation()
示例6: _updateattachmodes
def _updateattachmodes(self):
"""Update checkboxes to select the embedding style of the patch"""
attachmodes = [self._qui.attach_check, self._qui.inline_check]
body = self._qui.body_check
# --attach and --inline are exclusive
if self.sender() in attachmodes and self.sender().isChecked():
for w in attachmodes:
if w is not self.sender():
w.setChecked(False)
# --body is mandatory if no attach modes are specified
body.setEnabled(util.any(w.isChecked() for w in attachmodes))
if not body.isEnabled():
body.setChecked(True)
示例7: _asconfigliststr
def _asconfigliststr(value):
r"""
>>> _asconfigliststr('foo')
'foo'
>>> _asconfigliststr('foo bar')
'"foo bar"'
>>> _asconfigliststr('foo,bar')
'"foo,bar"'
>>> _asconfigliststr('foo "bar"')
'"foo \\"bar\\""'
"""
# ui.configlist() uses isspace(), which is locale-dependent
if util.any(c.isspace() or c == ',' for c in value):
return '"' + value.replace('"', '\\"') + '"'
else:
return value
示例8: _defaultlanguage
def _defaultlanguage():
if os.name != 'nt' or util.any(e in os.environ for e in _localeenvs):
return # honor posix-style env var
# On Windows, UI language can be determined by GetUserDefaultUILanguage(),
# but gettext doesn't take it into account.
# Note that locale.getdefaultlocale() uses GetLocaleInfo(), which may be
# different from UI language.
#
# For details, please read "User Interface Language Management":
# http://msdn.microsoft.com/en-us/library/dd374098(v=VS.85).aspx
try:
from ctypes import windll # requires Python>=2.5
langid = windll.kernel32.GetUserDefaultUILanguage()
return locale.windows_locale[langid]
except (ImportError, AttributeError, KeyError):
pass
示例9: getsearchmode
def getsearchmode(query):
try:
ctx = web.repo[query]
except (error.RepoError, error.LookupError):
# query is not an exact revision pointer, need to
# decide if it's a revset expression or keywords
pass
else:
return MODE_REVISION, ctx
revdef = 'reverse(%s)' % query
try:
tree, pos = revset.parse(revdef)
except ParseError:
# can't parse to a revset tree
return MODE_KEYWORD, query
if revset.depth(tree) <= 2:
# no revset syntax used
return MODE_KEYWORD, query
if util.any((token, (value or '')[:3]) == ('string', 're:')
for token, value, pos in revset.tokenize(revdef)):
return MODE_KEYWORD, query
funcsused = revset.funcsused(tree)
if not funcsused.issubset(revset.safesymbols):
return MODE_KEYWORD, query
mfunc = revset.match(web.repo.ui, revdef)
try:
revs = mfunc(web.repo, list(web.repo))
return MODE_REVSET, revs
# ParseError: wrongly placed tokens, wrongs arguments, etc
# RepoLookupError: no such revision, e.g. in 'revision:'
# Abort: bookmark/tag not exists
# LookupError: ambiguous identifier, e.g. in '(bc)' on a large repo
except (ParseError, RepoLookupError, Abort, LookupError):
return MODE_KEYWORD, query
示例10: allhunks
def allhunks(self):
return util.any(self.allhunks_re.match(h) for h in self.header)
示例11: checkrequireslfiles
def checkrequireslfiles(ui, repo, **kwargs):
if 'largefiles' not in repo.requirements and util.any(
lfutil.shortname+'/' in f[0] for f in repo.store.datafiles()):
repo.requirements.add('largefiles')
repo._writerequirements()
示例12: sign
def sign(ui, repo, *revs, **opts):
"""add a signature for the current or given revision
If no revision is given, the parent of the working directory is used,
or tip if no revision is checked out.
See 'hg help dates' for a list of formats valid for -d/--date.
"""
mygpg = SSHAuthority.from_ui(ui)
sigver = "0"
sigmessage = ""
date = opts.get('date')
if date:
opts['date'] = util.parsedate(date)
if revs:
nodes = [repo.lookup(n) for n in revs]
else:
nodes = [node for node in repo.dirstate.parents()
if node != hgnode.nullid]
if len(nodes) > 1:
raise util.Abort(_('uncommitted merge - please provide a '
'specific revision'))
if not nodes:
nodes = [repo.changelog.tip()]
for n in nodes:
hexnode = hgnode.hex(n)
ui.write(_("Signing %d:%s\n") % (repo.changelog.rev(n),
hgnode.short(n)))
# build data
data = node2txt(repo, n, sigver)
sig = mygpg.sign(data)
if not sig:
raise util.Abort(_("Error while signing"))
sig = binascii.b2a_base64(sig)
sig = sig.replace("\n", "")
sigmessage += "%s %s %s\n" % (hexnode, sigver, sig)
# write it
if opts['local']:
repo.opener("localsigs", "ab").write(sigmessage)
return
msigs = match.exact(repo.root, '', ['.hgsshsigs'])
s = repo.status(match=msigs, unknown=True, ignored=True)[:6]
if util.any(s) and not opts["force"]:
raise util.Abort(_("working copy of .hgsshsigs is changed "
"(please commit .hgsshsigs manually "
"or use --force)"))
repo.wfile(".hgsshsigs", "ab").write(sigmessage)
if '.hgsshsigs' not in repo.dirstate:
repo.add([".hgsshsigs"])
if opts["no_commit"]:
return
message = opts['message']
if not message:
# we don't translate commit messages
message = "\n".join(["Added signature for changeset %s"
% hgnode.short(n)
for n in nodes])
try:
repo.commit(message, opts['user'], opts['date'], match=msigs)
except ValueError, inst:
raise util.Abort(str(inst))
示例13: islfilesrepo
def islfilesrepo(repo):
if ('largefiles' in repo.requirements and
util.any(shortnameslash in f[0] for f in repo.store.datafiles())):
return True
return util.any(openlfdirstate(repo.ui, repo, False))
示例14: _histedit
def _histedit(ui, repo, state, *freeargs, **opts):
# TODO only abort if we try and histedit mq patches, not just
# blanket if mq patches are applied somewhere
mq = getattr(repo, 'mq', None)
if mq and mq.applied:
raise util.Abort(_('source has mq patches applied'))
# basic argument incompatibility processing
outg = opts.get('outgoing')
cont = opts.get('continue')
editplan = opts.get('edit_plan')
abort = opts.get('abort')
force = opts.get('force')
rules = opts.get('commands', '')
revs = opts.get('rev', [])
goal = 'new' # This invocation goal, in new, continue, abort
if force and not outg:
raise util.Abort(_('--force only allowed with --outgoing'))
if cont:
if util.any((outg, abort, revs, freeargs, rules, editplan)):
raise util.Abort(_('no arguments allowed with --continue'))
goal = 'continue'
elif abort:
if util.any((outg, revs, freeargs, rules, editplan)):
raise util.Abort(_('no arguments allowed with --abort'))
goal = 'abort'
elif editplan:
if util.any((outg, revs, freeargs)):
raise util.Abort(_('only --commands argument allowed with '
'--edit-plan'))
goal = 'edit-plan'
else:
if os.path.exists(os.path.join(repo.path, 'histedit-state')):
raise util.Abort(_('history edit already in progress, try '
'--continue or --abort'))
if outg:
if revs:
raise util.Abort(_('no revisions allowed with --outgoing'))
if len(freeargs) > 1:
raise util.Abort(
_('only one repo argument allowed with --outgoing'))
else:
revs.extend(freeargs)
if len(revs) == 0:
histeditdefault = ui.config('histedit', 'defaultrev')
if histeditdefault:
revs.append(histeditdefault)
if len(revs) != 1:
raise util.Abort(
_('histedit requires exactly one ancestor revision'))
replacements = []
keep = opts.get('keep', False)
# rebuild state
if goal == 'continue':
state.read()
state = bootstrapcontinue(ui, state, opts)
elif goal == 'edit-plan':
state.read()
if not rules:
comment = editcomment % (state.parentctx, node.short(state.topmost))
rules = ruleeditor(repo, ui, state.rules, comment)
else:
if rules == '-':
f = sys.stdin
else:
f = open(rules)
rules = f.read()
f.close()
rules = [l for l in (r.strip() for r in rules.splitlines())
if l and not l.startswith('#')]
rules = verifyrules(rules, repo, [repo[c] for [_a, c] in state.rules])
state.rules = rules
state.write()
return
elif goal == 'abort':
state.read()
mapping, tmpnodes, leafs, _ntm = processreplacement(state)
ui.debug('restore wc to old parent %s\n' % node.short(state.topmost))
# Recover our old commits if necessary
if not state.topmost in repo and state.backupfile:
backupfile = repo.join(state.backupfile)
f = hg.openpath(ui, backupfile)
gen = exchange.readbundle(ui, f, backupfile)
changegroup.addchangegroup(repo, gen, 'histedit',
'bundle:' + backupfile)
os.remove(backupfile)
# check whether we should update away
parentnodes = [c.node() for c in repo[None].parents()]
for n in leafs | set([state.parentctxnode]):
if n in parentnodes:
hg.clean(repo, state.topmost)
break
else:
pass
cleanupnode(ui, repo, 'created', tmpnodes)
#.........这里部分代码省略.........
示例15: sign
def sign(ui, repo, *revs, **opts):
"""add a signature for the current or given revision
If no revision is given, the parent of the working directory is used,
or tip if no revision is checked out.
See :hg:`help dates` for a list of formats valid for -d/--date.
"""
mygpg = newgpg(ui, **opts)
sigver = "0"
sigmessage = ""
date = opts.get("date")
if date:
opts["date"] = util.parsedate(date)
if revs:
nodes = [repo.lookup(n) for n in revs]
else:
nodes = [node for node in repo.dirstate.parents() if node != hgnode.nullid]
if len(nodes) > 1:
raise util.Abort(_("uncommitted merge - please provide a " "specific revision"))
if not nodes:
nodes = [repo.changelog.tip()]
for n in nodes:
hexnode = hgnode.hex(n)
ui.write(_("signing %d:%s\n") % (repo.changelog.rev(n), hgnode.short(n)))
# build data
data = node2txt(repo, n, sigver)
sig = mygpg.sign(data)
if not sig:
raise util.Abort(_("error while signing"))
sig = binascii.b2a_base64(sig)
sig = sig.replace("\n", "")
sigmessage += "%s %s %s\n" % (hexnode, sigver, sig)
# write it
if opts["local"]:
repo.vfs.append("localsigs", sigmessage)
return
if not opts["force"]:
msigs = match.exact(repo.root, "", [".hgsigs"])
if util.any(repo.status(match=msigs, unknown=True, ignored=True)):
raise util.Abort(_("working copy of .hgsigs is changed "), hint=_("please commit .hgsigs manually"))
sigsfile = repo.wfile(".hgsigs", "ab")
sigsfile.write(sigmessage)
sigsfile.close()
if ".hgsigs" not in repo.dirstate:
repo[None].add([".hgsigs"])
if opts["no_commit"]:
return
message = opts["message"]
if not message:
# we don't translate commit messages
message = "\n".join(["Added signature for changeset %s" % hgnode.short(n) for n in nodes])
try:
editor = cmdutil.getcommiteditor(editform="gpg.sign", **opts)
repo.commit(message, opts["user"], opts["date"], match=msigs, editor=editor)
except ValueError, inst:
raise util.Abort(str(inst))