Test script. Add NAME to backends. Some smarter system locale handling.
[python-collate.git] / pysort
1 #!/usr/bin/env python
2
3 import os
4 import sys
5 import locale
6
7 import collate
8
9 def main(argv):
10 lines = []
11 encoding = locale.getpreferredencoding()
12
13 if not argv:
14 argv.append("-")
15 for filename in argv:
16 if filename == "-":
17 fileobj = sys.stdin
18 else:
19 fileobj = open(filename, "rU")
20 for line in fileobj:
21 line = line.strip()
22 line = line.decode(encoding, "replace")
23 lines.append(line)
24 lines.sort(key=collate.key)
25
26 for line in lines:
27 print line.encode(encoding, "replace")
28
29 if __name__ == "__main__":
30 try:
31 locale.setlocale(locale.LC_ALL, '')
32 except locale.Error:
33 pass
34
35 main(sys.argv[1:])