123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #!/usr/bin/env python
- # usage: txtmerge.py <input_dir> <output_file_name>
- # does the exact opposite of txtsplit.py
- import os
- import sys
- import re
- import io
- import xml.etree.ElementTree as ET
- assert len(sys.argv) == 3, "usage:\ntxtmerge.py <input_dir> <output_file_name>"
- idir = str(sys.argv[1])
- oname = str(sys.argv[2])
- # read the project xml file first
- # let's do this later in order to implement directory structure
- tree = ET.parse('glife.qproj')
- root = tree.getroot()
- ofile = io.open(oname, 'w', encoding='utf-16', newline='\r\n')
- for location in root.iter('Location'):
- iname = location.attrib['name']
- iname = iname.replace("$","_")
- try:
- ifile = io.open(os.path.join(idir,iname + '.qsrc'), 'rt', encoding='utf-8')
- text = ifile.read()
- # make sure there's a line at the end of file
- # (why wouldn't there be one? WINDOWS!
- if text[-1] != u'\n':
- text += u'\n\n'
- ofile.write(text)
- ifile.close()
- except IOError:
- print("WARNING: missing location %s" % iname)
- pass
- from datetime import date
- from sys import version_info
- ofile.write(u"#addbuilddate" + '\n')
- today = date.today()
- if version_info.major == 2:
- du = unicode(today.strftime("$builddate = '%B %d, %Y'"), 'utf8') + '\n'
- elif version_info.major == 3:
- du = str(today.strftime("$builddate = '%B %d, %Y'")) + '\n'
- ofile.write(du)
- ofile.write(u"--- addbuilddate ---------------------------------" + '\n')
- ofile.close()
-
-
|