added scripts to cleanup spaces in XML files
example for remove_trailing_whitespaces.sh: " testing \n" --> " testing\n" examples for remove_unnecessary_spaces.py: "<testing> foobar foobar" --> "<testing>foobar foobar" "foobar foobar </testing>" --> "foobar foobar</testing>" Change-Id: Ie15a7a1491bf412ff893c84e76061ef623581145
This commit is contained in:
parent
b8de622eec
commit
29416875e0
13
tools/cleanup/remove_trailing_whitespaces.sh
Executable file
13
tools/cleanup/remove_trailing_whitespaces.sh
Executable file
@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
## copyright: B1 Systems GmbH <info@b1-systems.de>, 2013.
|
||||
## author: Christian Berendt <berendt@b1-systems.de>, 2013.
|
||||
## license: Apache License, Version 2.0
|
||||
|
||||
# Call ./tools/cleanup/remove_trailing_whitespaces.sh in the
|
||||
# root of openstack-manuals.
|
||||
|
||||
files=$(find doc/src/docbkx -name *.xml -not -name pom.xml)
|
||||
for file in $files; do
|
||||
sed -i -e 's/[[:space:]]*$//' $file
|
||||
done
|
56
tools/cleanup/remove_unnecessary_spaces.py
Executable file
56
tools/cleanup/remove_unnecessary_spaces.py
Executable file
@ -0,0 +1,56 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
## copyright: B1 Systems GmbH <info@b1-systems.de>, 2013.
|
||||
## author: Christian Berendt <berendt@b1-systems.de>, 2013.
|
||||
## license: Apache License, Version 2.0
|
||||
|
||||
# Call ./tools/cleanup/remove_unnecessary_spaces.py in the
|
||||
# root of openstack-manuals.
|
||||
|
||||
import os
|
||||
import re
|
||||
import tempfile
|
||||
|
||||
# should be the same like in tools/validate.py
|
||||
FILE_EXCEPTIONS = ['ha-guide-docinfo.xml','bk001-ch003-associate-general.xml']
|
||||
|
||||
elements = [
|
||||
'listitem',
|
||||
'para',
|
||||
'td',
|
||||
'th',
|
||||
'command',
|
||||
'literal',
|
||||
'title',
|
||||
'caption',
|
||||
'filename',
|
||||
'userinput',
|
||||
'programlisting'
|
||||
]
|
||||
|
||||
checks = []
|
||||
for element in elements:
|
||||
checks.append(re.compile("(.*<%s>)\s+([\w\-().:!?{}\[\]]+.*\n)" % element)),
|
||||
checks.append(re.compile("(.*[\w\-().:!?{}\[\]]+)\s+(<\/%s>.*\n)" % element))
|
||||
|
||||
for root, dirs, files in os.walk('doc/src/docbkx/'):
|
||||
for f in files:
|
||||
if (not (f.endswith('.xml') and
|
||||
f != 'pom.xml' and
|
||||
f not in FILE_EXCEPTIONS)):
|
||||
continue
|
||||
docfile = os.path.abspath(os.path.join(root, f))
|
||||
tmpfile = tempfile.mkstemp()
|
||||
tmpfd = os.fdopen(tmpfile[0], "w")
|
||||
match = False
|
||||
for line in open(docfile, 'r'):
|
||||
for check in checks:
|
||||
if check.match(line):
|
||||
line = check.sub(r"\1\2", line)
|
||||
match = True
|
||||
tmpfd.write(line)
|
||||
tmpfd.close()
|
||||
if match:
|
||||
os.rename(tmpfile[1], docfile)
|
||||
else:
|
||||
os.unlink(tmpfile[1])
|
Loading…
Reference in New Issue
Block a user