summaryrefslogtreecommitdiff
path: root/scripts/simple_ooo_replace.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-01-18 18:41:39 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-01-19 00:18:02 +0100
commit494aada27e305658ce60b0815fd992857222682b (patch)
tree17e9fbf51fc054d18ddcd7fabc87e8684daf4eb4 /scripts/simple_ooo_replace.py
parentf384337ef0d9d2e40d09204f18c4a486e925132c (diff)
downloadIshtar-494aada27e305658ce60b0815fd992857222682b.tar.bz2
Ishtar-494aada27e305658ce60b0815fd992857222682b.zip
Configure for publications on pypi, descriptions, etc.
Diffstat (limited to 'scripts/simple_ooo_replace.py')
-rwxr-xr-xscripts/simple_ooo_replace.py79
1 files changed, 79 insertions, 0 deletions
diff --git a/scripts/simple_ooo_replace.py b/scripts/simple_ooo_replace.py
new file mode 100755
index 000000000..62cbab7a5
--- /dev/null
+++ b/scripts/simple_ooo_replace.py
@@ -0,0 +1,79 @@
+import os
+import shutil
+import sys
+from zipfile import ZipFile, ZIP_DEFLATED
+
+rpl_lst = [
+ ('adminact_associated_file_general_contractor_attached_to_name',
+ 'adminact_associated_file_corporation_general_contractor_name'),
+ ('adminact_associated_file_general_contractor_'
+ 'attached_to_address',
+ 'adminact_associated_file_corporation_general_contractor_'
+ 'address'),
+ ('adminact_associated_file_general_contractor_'
+ 'address_complement',
+ 'adminact_associated_file_corporation_general_contractor_'
+ 'address_complement '),
+ ('adminact_associated_file_general_contractor_'
+ 'attached_to_postal_code',
+ 'adminact_associated_file_corporation_general_contractor_'
+ 'postal_code '),
+ ('adminact_associated_file_general_contractor_attached_to_town',
+ 'adminact_associated_file_corporation_general_contractor_town',
+ ),
+ ('adminact_associated_file_address',
+ 'adminact_associated_file_get_locality',
+ )
+]
+
+context = dict(rpl_lst)
+
+
+def value_replace(content):
+ value = content
+ modified = False
+ for key in context:
+ if key in value:
+ modified = True
+ value = value.replace(key, context[key])
+ return value, modified
+
+
+def replace(directory, infile):
+ print("Processing {}".format(infile))
+ outfile = "PREPROCESS--" + infile
+ infile = directory + os.sep + infile
+ outfile = directory + os.sep + outfile
+
+ inzip = ZipFile(infile, 'r', ZIP_DEFLATED)
+ outzip = ZipFile(outfile, 'w', ZIP_DEFLATED)
+
+ values = {}
+ idx = 0
+ for xml_file in ('content.xml', 'styles.xml'):
+ content = inzip.read(xml_file)
+ values[xml_file], modified = value_replace(content)
+ if modified:
+ idx += 1
+
+ for f in inzip.infolist():
+ if f.filename in values:
+ outzip.writestr(f.filename, values[f.filename])
+ else:
+ outzip.writestr(f, inzip.read(f.filename))
+
+ inzip.close()
+ outzip.close()
+ # replace original by PREPROCESS
+ shutil.move(outfile, infile)
+ return idx
+
+directory = sys.argv[-1]
+idx = 0
+
+
+for fle in os.listdir(directory):
+ if fle.endswith('.odt'):
+ idx += replace(directory, fle)
+
+print("{} modifications".format(idx))