mirror of
https://github.com/facebook/sapling.git
synced 2024-10-12 01:39:21 +03:00
584656dff3
Summary: Turned on the auto formatter. Ran `arc lint --apply-patches --take BLACK **/*.py`. Then run `arc lint` again so some other autofixers like spellchecker etc. looked at the code base. Manually accept the changes whenever they make sense, or use a workaround (ex. changing "dict()" to "dict constructor") where autofix is false positive. Disabled linters on files that are hard (i18n/polib.py) to fix, or less interesting to fix (hgsubversion tests), or cannot be fixed without breaking OSS build (FBPYTHON4). Conflicted linters (test-check-module-imports.t, part of test-check-code.t, test-check-pyflakes.t) are removed or disabled. Duplicated linters (test-check-pyflakes.t, test-check-pylint.t) are removed. An issue of the auto-formatter is lines are no longer guarnateed to be <= 80 chars. But that seems less important comparing with the benefit auto-formatter provides. As we're here, also remove test-check-py3-compat.t, as it is currently broken if `PYTHON3=/bin/python3` is set. Reviewed By: wez, phillco, simpkins, pkaush, singhsrb Differential Revision: D8173629 fbshipit-source-id: 90e248ae0c5e6eaadbe25520a6ee42d32005621b
54 lines
1.2 KiB
Python
Executable File
54 lines
1.2 KiB
Python
Executable File
#!/usr/bin/env python
|
|
#
|
|
# Dumps output generated by Mercurial's command server in a formatted style to a
|
|
# given file or stderr if '-' is specified. Output is also written in its raw
|
|
# format to stdout.
|
|
#
|
|
# $ ./hg serve --cmds pipe | ./contrib/debugcmdserver.py -
|
|
# o, 52 -> 'capabilities: getencoding runcommand\nencoding: UTF-8'
|
|
|
|
from __future__ import absolute_import, print_function
|
|
|
|
import struct
|
|
import sys
|
|
|
|
|
|
if len(sys.argv) != 2:
|
|
print("usage: debugcmdserver.py FILE")
|
|
sys.exit(1)
|
|
|
|
outputfmt = ">cI"
|
|
outputfmtsize = struct.calcsize(outputfmt)
|
|
|
|
if sys.argv[1] == "-":
|
|
log = sys.stderr
|
|
else:
|
|
log = open(sys.argv[1], "a")
|
|
|
|
|
|
def read(size):
|
|
data = sys.stdin.read(size)
|
|
if not data:
|
|
raise EOFError
|
|
sys.stdout.write(data)
|
|
sys.stdout.flush()
|
|
return data
|
|
|
|
|
|
try:
|
|
while True:
|
|
header = read(outputfmtsize)
|
|
channel, length = struct.unpack(outputfmt, header)
|
|
log.write("%s, %-4d" % (channel, length))
|
|
if channel in "IL":
|
|
log.write(" -> waiting for input\n")
|
|
else:
|
|
data = read(length)
|
|
log.write(" -> %r\n" % data)
|
|
log.flush()
|
|
except EOFError:
|
|
pass
|
|
finally:
|
|
if log != sys.stderr:
|
|
log.close()
|