| Index: third_party/libvpx/source/libvpx/tools/wrap-commit-msg.py
|
| diff --git a/third_party/libvpx/source/libvpx/tools/wrap-commit-msg.py b/third_party/libvpx/source/libvpx/tools/wrap-commit-msg.py
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..d5b4b046b137f2a147b79c3d5525597a5f6ca884
|
| --- /dev/null
|
| +++ b/third_party/libvpx/source/libvpx/tools/wrap-commit-msg.py
|
| @@ -0,0 +1,70 @@
|
| +#!/usr/bin/env python
|
| +## Copyright (c) 2012 The WebM project authors. All Rights Reserved.
|
| +##
|
| +## Use of this source code is governed by a BSD-style license
|
| +## that can be found in the LICENSE file in the root of the source
|
| +## tree. An additional intellectual property rights grant can be found
|
| +## in the file PATENTS. All contributing project authors may
|
| +## be found in the AUTHORS file in the root of the source tree.
|
| +##
|
| +"""Wraps paragraphs of text, preserving manual formatting
|
| +
|
| +This is like fold(1), but has the special convention of not modifying lines
|
| +that start with whitespace. This allows you to intersperse blocks with
|
| +special formatting, like code blocks, with written prose. The prose will
|
| +be wordwrapped, and the manual formatting will be preserved.
|
| +
|
| + * This won't handle the case of a bulleted (or ordered) list specially, so
|
| + manual wrapping must be done.
|
| +
|
| +Occasionally it's useful to put something with explicit formatting that
|
| +doesn't look at all like a block of text inline.
|
| +
|
| + indicator = has_leading_whitespace(line);
|
| + if (indicator)
|
| + preserve_formatting(line);
|
| +
|
| +The intent is that this docstring would make it through the transform
|
| +and still be legible and presented as it is in the source. If additional
|
| +cases are handled, update this doc to describe the effect.
|
| +"""
|
| +
|
| +__author__ = "jkoleszar@google.com"
|
| +import textwrap
|
| +import sys
|
| +
|
| +def wrap(text):
|
| + if text:
|
| + return textwrap.fill(text, break_long_words=False) + '\n'
|
| + return ""
|
| +
|
| +
|
| +def main(fileobj):
|
| + text = ""
|
| + output = ""
|
| + while True:
|
| + line = fileobj.readline()
|
| + if not line:
|
| + break
|
| +
|
| + if line.lstrip() == line:
|
| + text += line
|
| + else:
|
| + output += wrap(text)
|
| + text=""
|
| + output += line
|
| + output += wrap(text)
|
| +
|
| + # Replace the file or write to stdout.
|
| + if fileobj == sys.stdin:
|
| + fileobj = sys.stdout
|
| + else:
|
| + fileobj.seek(0)
|
| + fileobj.truncate(0)
|
| + fileobj.write(output)
|
| +
|
| +if __name__ == "__main__":
|
| + if len(sys.argv) > 1:
|
| + main(open(sys.argv[1], "r+"))
|
| + else:
|
| + main(sys.stdin)
|
|
|