2010-07-09 19:02:04 +00:00
|
|
|
#! /usr/bin/env python
|
|
|
|
|
2015-03-11 19:54:28 +00:00
|
|
|
from __future__ import print_function
|
|
|
|
|
2010-07-09 19:02:04 +00:00
|
|
|
import sys
|
|
|
|
from getopt import getopt
|
|
|
|
|
|
|
|
usage = '''
|
|
|
|
python cat.py -o OUTFILE FILE1 FILE2 .... FILEn
|
|
|
|
|
|
|
|
Replacement for:
|
|
|
|
cat FILE1 FILE2 ... .FILEn > OUTFILE
|
|
|
|
If the -o argument is not given, writes to stdout.
|
|
|
|
'''
|
|
|
|
|
|
|
|
outfile = ""
|
|
|
|
|
|
|
|
(options, args) = getopt(sys.argv[1:], "ho:")
|
|
|
|
for (opt, param) in options:
|
|
|
|
if opt == "-o":
|
|
|
|
outfile = param
|
|
|
|
elif opt == "-h":
|
2015-03-11 19:54:28 +00:00
|
|
|
print(usage)
|
2010-07-09 19:02:04 +00:00
|
|
|
sys.exit(0)
|
|
|
|
|
|
|
|
out = sys.stdout
|
|
|
|
if outfile:
|
2016-05-10 05:03:54 +00:00
|
|
|
# always write unix line endings, even on windows
|
|
|
|
out = open(outfile, "wb")
|
2010-07-09 19:02:04 +00:00
|
|
|
|
|
|
|
for f in args:
|
2016-05-10 05:03:54 +00:00
|
|
|
# accept both windows and unix line endings, since it can happen that we
|
|
|
|
# are on unix, but the file has been written on windows or vice versa.
|
|
|
|
fil = open(f, "rU")
|
2010-07-09 19:02:04 +00:00
|
|
|
for l in fil:
|
2016-05-10 05:03:54 +00:00
|
|
|
# this does always write unix line endings since the file has
|
|
|
|
# been opened in binary mode. This is needed since both gettext
|
|
|
|
# and our .pot file manipulation scripts assume unix line ends.
|
2010-07-09 19:02:04 +00:00
|
|
|
out.write(l)
|
|
|
|
fil.close()
|
|
|
|
|
|
|
|
if outfile:
|
|
|
|
out.close()
|