Test script. Add NAME to backends. Some smarter system locale handling.
[python-collate.git] / pysort
diff --git a/pysort b/pysort
new file mode 100755 (executable)
index 0000000..00da855
--- /dev/null
+++ b/pysort
@@ -0,0 +1,35 @@
+#!/usr/bin/env python
+
+import os
+import sys
+import locale
+
+import collate
+
+def main(argv):
+    lines = []
+    encoding = locale.getpreferredencoding()
+
+    if not argv:
+       argv.append("-")
+    for filename in argv:
+       if filename == "-":
+           fileobj = sys.stdin
+       else:
+           fileobj = open(filename, "rU")
+       for line in fileobj:
+           line = line.strip()
+           line = line.decode(encoding, "replace")
+           lines.append(line)
+    lines.sort(key=collate.key)
+
+    for line in lines:
+       print line.encode(encoding, "replace")
+
+if __name__ == "__main__":
+    try:
+       locale.setlocale(locale.LC_ALL, '')
+    except locale.Error:
+       pass
+
+    main(sys.argv[1:])