Index: third_party/google-endpoints/requests/packages/chardet/chardetect.py |
diff --git a/third_party/google-endpoints/requests/packages/chardet/chardetect.py b/third_party/google-endpoints/requests/packages/chardet/chardetect.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ffe892f25db3c7e2f8a57e29a7c981476a5eecf0 |
--- /dev/null |
+++ b/third_party/google-endpoints/requests/packages/chardet/chardetect.py |
@@ -0,0 +1,80 @@ |
+#!/usr/bin/env python |
+""" |
+Script which takes one or more file paths and reports on their detected |
+encodings |
+ |
+Example:: |
+ |
+ % chardetect somefile someotherfile |
+ somefile: windows-1252 with confidence 0.5 |
+ someotherfile: ascii with confidence 1.0 |
+ |
+If no paths are provided, it takes its input from stdin. |
+ |
+""" |
+ |
+from __future__ import absolute_import, print_function, unicode_literals |
+ |
+import argparse |
+import sys |
+from io import open |
+ |
+from chardet import __version__ |
+from chardet.universaldetector import UniversalDetector |
+ |
+ |
+def description_of(lines, name='stdin'): |
+ """ |
+ Return a string describing the probable encoding of a file or |
+ list of strings. |
+ |
+ :param lines: The lines to get the encoding of. |
+ :type lines: Iterable of bytes |
+ :param name: Name of file or collection of lines |
+ :type name: str |
+ """ |
+ u = UniversalDetector() |
+ for line in lines: |
+ u.feed(line) |
+ u.close() |
+ result = u.result |
+ if result['encoding']: |
+ return '{0}: {1} with confidence {2}'.format(name, result['encoding'], |
+ result['confidence']) |
+ else: |
+ return '{0}: no result'.format(name) |
+ |
+ |
+def main(argv=None): |
+ ''' |
+ Handles command line arguments and gets things started. |
+ |
+ :param argv: List of arguments, as if specified on the command-line. |
+ If None, ``sys.argv[1:]`` is used instead. |
+ :type argv: list of str |
+ ''' |
+ # Get command line arguments |
+ parser = argparse.ArgumentParser( |
+ description="Takes one or more file paths and reports their detected \ |
+ encodings", |
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter, |
+ conflict_handler='resolve') |
+ parser.add_argument('input', |
+ help='File whose encoding we would like to determine.', |
+ type=argparse.FileType('rb'), nargs='*', |
+ default=[sys.stdin]) |
+ parser.add_argument('--version', action='version', |
+ version='%(prog)s {0}'.format(__version__)) |
+ args = parser.parse_args(argv) |
+ |
+ for f in args.input: |
+ if f.isatty(): |
+ print("You are running chardetect interactively. Press " + |
+ "CTRL-D twice at the start of a blank line to signal the " + |
+ "end of your input. If you want help, run chardetect " + |
+ "--help\n", file=sys.stderr) |
+ print(description_of(f, f.name)) |
+ |
+ |
+if __name__ == '__main__': |
+ main() |