tools/sort_sources.py: sort C++ source file names in build files.
tools/git/move_source_file.py updates C++ source file names in
build files for you, but it does not sort the updated file names.
With this tool, you can sort C++ source file names in build files
(both GYP and GN files supported) automatically. It's not perfect
but should work reasonably well.
BUG=456014
TEST=Run the tool against some build files. The results are included in the patch.
Review URL: https://codereview.chromium.org/888873003
Cr-Commit-Position: refs/heads/master@{#315517}
diff --git a/tools/yes_no.py b/tools/yes_no.py
new file mode 100644
index 0000000..8682ec8
--- /dev/null
+++ b/tools/yes_no.py
@@ -0,0 +1,28 @@
+# Copyright 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import sys
+
+
+def YesNo(prompt):
+ """Prompts with a yes/no question, returns True if yes."""
+ print prompt,
+ sys.stdout.flush()
+ # http://code.activestate.com/recipes/134892/
+ if sys.platform == 'win32':
+ import msvcrt
+ ch = msvcrt.getch()
+ else:
+ import termios
+ import tty
+ fd = sys.stdin.fileno()
+ old_settings = termios.tcgetattr(fd)
+ ch = 'n'
+ try:
+ tty.setraw(sys.stdin.fileno())
+ ch = sys.stdin.read(1)
+ finally:
+ termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
+ print ch
+ return ch in ('Y', 'y')