Scheduled downtime of 1h starting on 2020-01-27 at 11:00 UTC+1 as this instance will be migrated to Clever Cloud hosting

Commit 47ef023d016 by Gregory Szorc

black: blacken scripts

These scripts weren't blackened. I found these as part of adding
script checking to test-check-format.t.

# skip-blame black

Differential Revision: https://phab.mercurial-scm.org/D7446
parent 15cccbacd5c
......@@ -15,6 +15,7 @@ import sys
try:
import msvcrt
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
except ImportError:
......@@ -25,14 +26,18 @@ stdout = getattr(sys.stdout, 'buffer', sys.stdout)
leadingline = re.compile(br'(^\s*)(\S.*)$')
checks = [
(br""":hg:`[^`]*'[^`]*`""",
b"""warning: please avoid nesting ' in :hg:`...`"""),
(br'\w:hg:`',
b'warning: please have a space before :hg:'),
(br"""(?:[^a-z][^'.])hg ([^,;"`]*'(?!hg)){2}""",
b'''warning: please use " instead of ' for hg ... "..."'''),
(
br""":hg:`[^`]*'[^`]*`""",
b"""warning: please avoid nesting ' in :hg:`...`""",
),
(br'\w:hg:`', b'warning: please have a space before :hg:'),
(
br"""(?:[^a-z][^'.])hg ([^,;"`]*'(?!hg)){2}""",
b'''warning: please use " instead of ' for hg ... "..."''',
),
]
def check(line):
messages = []
for match, msg in checks:
......@@ -43,6 +48,7 @@ def check(line):
for msg in messages:
stdout.write(b'%s\n' % msg)
def work(file):
(llead, lline) = (b'', b'')
......@@ -55,8 +61,8 @@ def work(file):
continue
lead, line = match.group(1), match.group(2)
if (lead == llead):
if (lline != b''):
if lead == llead:
if lline != b'':
lline += b' ' + line
else:
lline = line
......@@ -65,6 +71,7 @@ def work(file):
(llead, lline) = (lead, line)
check(lline)
def main():
for f in sys.argv[1:]:
try:
......@@ -73,4 +80,5 @@ def main():
except BaseException as e:
sys.stdout.write(r"failed to process %s: %s\n" % (f, e))
main()
......@@ -15,18 +15,24 @@ where WRITER is the name of a Docutils writer such as 'html' or 'manpage'
from __future__ import absolute_import
import sys
try:
import docutils.core as core
import docutils.nodes as nodes
import docutils.utils as utils
import docutils.parsers.rst.roles as roles
except ImportError:
sys.stderr.write("abort: couldn't generate documentation: docutils "
"module is missing\n")
sys.stderr.write("please install python-docutils or see "
"http://docutils.sourceforge.net/\n")
sys.stderr.write(
"abort: couldn't generate documentation: docutils "
"module is missing\n"
)
sys.stderr.write(
"please install python-docutils or see "
"http://docutils.sourceforge.net/\n"
)
sys.exit(-1)
def role_hg(name, rawtext, text, lineno, inliner, options=None, content=None):
text = "hg " + utils.unescape(text)
linktext = nodes.literal(rawtext, text)
......@@ -46,10 +52,10 @@ def role_hg(name, rawtext, text, lineno, inliner, options=None, content=None):
refuri = "hg.1.html#%s" % args[1]
else:
refuri = "hg.1.html#%s" % args[0]
node = nodes.reference(rawtext, '', linktext,
refuri=refuri)
node = nodes.reference(rawtext, '', linktext, refuri=refuri)
return [node], []
roles.register_local_role("hg", role_hg)
if __name__ == "__main__":
......
......@@ -8,12 +8,15 @@ config = "/path/to/repo/or/config"
# Uncomment and adjust if Mercurial is not installed system-wide
# (consult "installed modules" path from 'hg debuginstall'):
#import sys; sys.path.insert(0, "/path/to/python/lib")
# import sys; sys.path.insert(0, "/path/to/python/lib")
# Uncomment to send python tracebacks to the browser if an error occurs:
#import cgitb; cgitb.enable()
# import cgitb; cgitb.enable()
from mercurial import demandimport; demandimport.enable()
from mercurial import demandimport
demandimport.enable()
from mercurial.hgweb import hgweb, wsgicgi
application = hgweb(config)
wsgicgi.launch(application)
......@@ -57,18 +57,22 @@ def normalize(s):
def poentry(path, lineno, s):
return ('#: %s:%d\n' % (path, lineno) +
'msgid %s\n' % normalize(s) +
'msgstr ""\n')
return (
'#: %s:%d\n' % (path, lineno)
+ 'msgid %s\n' % normalize(s)
+ 'msgstr ""\n'
)
doctestre = re.compile(r'^ +>>> ', re.MULTILINE)
def offset(src, doc, name, lineno, default):
"""Compute offset or issue a warning on stdout."""
# remove doctest part, in order to avoid backslash mismatching
m = doctestre.search(doc)
if m:
doc = doc[:m.start()]
doc = doc[: m.start()]
# Backslashes in doc appear doubled in src.
end = src.find(doc.replace('\\', '\\\\'))
......@@ -76,9 +80,11 @@ def offset(src, doc, name, lineno, default):
# This can happen if the docstring contains unnecessary escape
# sequences such as \" in a triple-quoted string. The problem
# is that \" is turned into " and so doc wont appear in src.
sys.stderr.write("%s:%d:warning:"
" unknown docstr offset, assuming %d lines\n"
% (name, lineno, default))
sys.stderr.write(
"%s:%d:warning:"
" unknown docstr offset, assuming %d lines\n"
% (name, lineno, default)
)
return default
else:
return src.count('\n', 0, end)
......@@ -121,7 +127,7 @@ def docstrings(path):
for func, rstrip in functions:
if func.__doc__:
docobj = func # this might be a proxy to provide formatted doc
docobj = func # this might be a proxy to provide formatted doc
func = getattr(func, '_origfunc', func)
funcmod = inspect.getmodule(func)
extra = ''
......@@ -155,7 +161,9 @@ if __name__ == "__main__":
# accidentally import and extract strings from a Mercurial
# installation mentioned in PYTHONPATH.
sys.path.insert(0, os.getcwd())
from mercurial import demandimport; demandimport.enable()
from mercurial import demandimport
demandimport.enable()
for path in sys.argv[1:]:
if path.endswith('.txt'):
rawtext(path)
......
......@@ -11,6 +11,7 @@ import polib
import re
import sys
def addentry(po, entry, cache):
e = cache.get(entry.msgid)
if e:
......@@ -27,6 +28,7 @@ def addentry(po, entry, cache):
po.append(entry)
cache[entry.msgid] = entry
def mkentry(orig, delta, msgid, msgstr):
entry = polib.POEntry()
entry.merge(orig)
......@@ -35,13 +37,14 @@ def mkentry(orig, delta, msgid, msgstr):
entry.occurrences = [(p, int(l) + delta) for (p, l) in orig.occurrences]
return entry
if __name__ == "__main__":
po = polib.pofile(sys.argv[1])
cache = {}
entries = po[:]
po[:] = []
findd = re.compile(r' *\.\. (\w+)::') # for finding directives
findd = re.compile(r' *\.\. (\w+)::') # for finding directives
for entry in entries:
msgids = entry.msgid.split(u'\n\n')
if entry.msgstr:
......@@ -65,7 +68,7 @@ if __name__ == "__main__":
newentry = mkentry(entry, delta, msgid, msgstr)
mdirective = findd.match(msgid)
if mdirective:
if not msgid[mdirective.end():].rstrip():
if not msgid[mdirective.end() :].rstrip():
# only directive, nothing to translate here
delta += 2
continue
......@@ -77,8 +80,10 @@ if __name__ == "__main__":
continue
else:
# lines following directly, unexpected
print('Warning: text follows line with directive'
' %s' % directive)
print(
'Warning: text follows line with directive'
' %s' % directive
)
comment = 'do not translate: .. %s::' % directive
if not newentry.comment:
newentry.comment = comment
......
......@@ -34,14 +34,18 @@ import re
import sys
# Python 3 adapters
ispy3 = (sys.version_info[0] >= 3)
ispy3 = sys.version_info[0] >= 3
if ispy3:
def iterbytes(s):
for i in range(len(s)):
yield s[i:i + 1]
yield s[i : i + 1]
else:
iterbytes = iter
def visit(opts, filenames, outfile):
"""Process filenames in the way specified in opts, writing output to
outfile."""
......@@ -88,21 +92,26 @@ def visit(opts, filenames, outfile):
if opts.newer:
# mtime might be in whole seconds so newer file might be same
if stat.st_mtime >= os.stat(opts.newer).st_mtime:
facts.append(b'newer than %s' % opts.newer.encode(
'utf8', 'replace'))
facts.append(
b'newer than %s' % opts.newer.encode('utf8', 'replace')
)
else:
facts.append(b'older than %s' % opts.newer.encode(
'utf8', 'replace'))
facts.append(
b'older than %s' % opts.newer.encode('utf8', 'replace')
)
if opts.md5 and content is not None:
h = hashlib.md5(content)
facts.append(b'md5=%s' % binascii.hexlify(h.digest())[:opts.bytes])
facts.append(b'md5=%s' % binascii.hexlify(h.digest())[: opts.bytes])
if opts.sha1 and content is not None:
h = hashlib.sha1(content)
facts.append(b'sha1=%s' % binascii.hexlify(h.digest())[:opts.bytes])
facts.append(
b'sha1=%s' % binascii.hexlify(h.digest())[: opts.bytes]
)
if opts.sha256 and content is not None:
h = hashlib.sha256(content)
facts.append(b'sha256=%s' %
binascii.hexlify(h.digest())[:opts.bytes])
facts.append(
b'sha256=%s' % binascii.hexlify(h.digest())[: opts.bytes]
)
if isstdin:
outfile.write(b', '.join(facts) + b'\n')
elif facts:
......@@ -114,21 +123,25 @@ def visit(opts, filenames, outfile):
if not islink:
if opts.lines:
if opts.lines >= 0:
chunk = b''.join(chunk.splitlines(True)[:opts.lines])
chunk = b''.join(chunk.splitlines(True)[: opts.lines])
else:
chunk = b''.join(chunk.splitlines(True)[opts.lines:])
chunk = b''.join(chunk.splitlines(True)[opts.lines :])
if opts.bytes:
if opts.bytes >= 0:
chunk = chunk[:opts.bytes]
chunk = chunk[: opts.bytes]
else:
chunk = chunk[opts.bytes:]
chunk = chunk[opts.bytes :]
if opts.hexdump:
for i in range(0, len(chunk), 16):
s = chunk[i:i + 16]
outfile.write(b'%04x: %-47s |%s|\n' %
(i, b' '.join(
b'%02x' % ord(c) for c in iterbytes(s)),
re.sub(b'[^ -~]', b'.', s)))
s = chunk[i : i + 16]
outfile.write(
b'%04x: %-47s |%s|\n'
% (
i,
b' '.join(b'%02x' % ord(c) for c in iterbytes(s)),
re.sub(b'[^ -~]', b'.', s),
)
)
if opts.dump:
if not quiet:
outfile.write(b'>>>\n')
......@@ -142,36 +155,60 @@ def visit(opts, filenames, outfile):
assert not isstdin
visit(opts, dirfiles, outfile)
if __name__ == "__main__":
parser = optparse.OptionParser("%prog [options] [filenames]")
parser.add_option("-t", "--type", action="store_true",
help="show file type (file or directory)")
parser.add_option("-m", "--mode", action="store_true",
help="show file mode")
parser.add_option("-l", "--links", action="store_true",
help="show number of links")
parser.add_option("-s", "--size", action="store_true",
help="show size of file")
parser.add_option("-n", "--newer", action="store",
help="check if file is newer (or same)")
parser.add_option("-r", "--recurse", action="store_true",
help="recurse into directories")
parser.add_option("-S", "--sha1", action="store_true",
help="show sha1 hash of the content")
parser.add_option("", "--sha256", action="store_true",
help="show sha256 hash of the content")
parser.add_option("-M", "--md5", action="store_true",
help="show md5 hash of the content")
parser.add_option("-D", "--dump", action="store_true",
help="dump file content")
parser.add_option("-H", "--hexdump", action="store_true",
help="hexdump file content")
parser.add_option("-B", "--bytes", type="int",
help="number of characters to dump")
parser.add_option("-L", "--lines", type="int",
help="number of lines to dump")
parser.add_option("-q", "--quiet", action="store_true",
help="no default output")
parser.add_option(
"-t",
"--type",
action="store_true",
help="show file type (file or directory)",
)
parser.add_option(
"-m", "--mode", action="store_true", help="show file mode"
)
parser.add_option(
"-l", "--links", action="store_true", help="show number of links"
)
parser.add_option(
"-s", "--size", action="store_true", help="show size of file"
)
parser.add_option(
"-n", "--newer", action="store", help="check if file is newer (or same)"
)
parser.add_option(
"-r", "--recurse", action="store_true", help="recurse into directories"
)
parser.add_option(
"-S",
"--sha1",
action="store_true",
help="show sha1 hash of the content",
)
parser.add_option(
"",
"--sha256",
action="store_true",
help="show sha256 hash of the content",
)
parser.add_option(
"-M", "--md5", action="store_true", help="show md5 hash of the content"
)
parser.add_option(
"-D", "--dump", action="store_true", help="dump file content"
)
parser.add_option(
"-H", "--hexdump", action="store_true", help="hexdump file content"
)
parser.add_option(
"-B", "--bytes", type="int", help="number of characters to dump"
)
parser.add_option(
"-L", "--lines", type="int", help="number of lines to dump"
)
parser.add_option(
"-q", "--quiet", action="store_true", help="no default output"
)
(opts, filenames) = parser.parse_args(sys.argv[1:])
if not filenames:
filenames = ['-']
......
......@@ -13,11 +13,13 @@ import sys
checks = hghave.checks
def list_features():
for name, feature in sorted(checks.items()):
desc = feature[1]
print(name + ':', desc)
def test_features():
failed = 0
for name, feature in checks.items():
......@@ -29,11 +31,15 @@ def test_features():
failed += 1
return failed
parser = optparse.OptionParser("%prog [options] [features]")
parser.add_option("--test-features", action="store_true",
help="test available features")
parser.add_option("--list-features", action="store_true",
help="list available features")
parser.add_option(
"--test-features", action="store_true", help="test available features"
)
parser.add_option(
"--list-features", action="store_true", help="list available features"
)
def _loadaddon():
if 'TESTDIR' in os.environ:
......@@ -49,13 +55,16 @@ def _loadaddon():
sys.path.insert(0, path)
try:
import hghaveaddon
assert hghaveaddon # silence pyflakes
except BaseException as inst:
sys.stderr.write('failed to import hghaveaddon.py from %r: %s\n'
% (path, inst))
sys.stderr.write(
'failed to import hghaveaddon.py from %r: %s\n' % (path, inst)
)
sys.exit(2)
sys.path.pop(0)
if __name__ == '__main__':
options, args = parser.parse_args()
_loadaddon()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment