summaryrefslogtreecommitdiff
path: root/android/mobile-config.py
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2014-10-01 22:14:49 +0100
committerMichael Meeks <michael.meeks@collabora.com>2014-10-02 00:23:06 +0100
commit87fad21582fceb200e3630e9ec10a873f7d7a3ed (patch)
tree65d82d1304c940c554be68894fc1dbf695a9e29c /android/mobile-config.py
parent213be0be8e41480e0036c0e30a8be93369aa743a (diff)
LOK: Add a tiled rendering testbench.
Change-Id: I631c0506f427d974c3dd4c75484aa25603100895
Diffstat (limited to 'android/mobile-config.py')
-rwxr-xr-xandroid/mobile-config.py99
1 files changed, 99 insertions, 0 deletions
diff --git a/android/mobile-config.py b/android/mobile-config.py
new file mode 100755
index 000000000000..6f292975d34b
--- /dev/null
+++ b/android/mobile-config.py
@@ -0,0 +1,99 @@
+#!/usr/bin/python
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# this tool rips out configuration pieces that are not useful for
+# a mobile viewer / editing application without a full UI.
+#
+# ideally the postprocess/ makefile would cope with this but its
+# already over-complicated by rampant conditionals.
+
+import sys
+import xml.etree.ElementTree as ET
+
+
+main_xcd_discard = [
+ 'org.openoffice.Office/TableWizard', # huge
+
+ 'org.openoffice.Office/WebWizard',
+ 'org.openoffice.Office.DataAccess/Drivers', # no database
+ 'org.openoffice.Office/Addons', # no addons
+
+ # no conventional UI; reverse sorted by size
+ 'org.openoffice.Office.UI/GenericCommands',
+ 'org.openoffice.Office/Accelerators',
+ 'org.openoffice.Office/UI',
+
+ 'org.openoffice.Office.UI/DrawImpressCommands',
+ 'org.openoffice.Office.UI/Sidebar',
+ 'org.openoffice.Office.UI/ChartCommands',
+ 'org.openoffice.Office.UI/DbuCommands',
+ 'org.openoffice.Office.UI/Controller',
+ 'org.openoffice.Office/UI',
+ 'org.openoffice.Office.UI/StartModuleCommands',
+ 'org.openoffice.Office.UI/BasicIDEWindowState',
+ 'org.openoffice.Office.UI/GenericCategories',
+ 'org.openoffice.Office.UI/ChartWindowState',
+ 'org.openoffice.Office.UI/Factories',
+ 'org.openoffice.Office.UI/BaseWindowState',
+ 'org.openoffice.Office.UI/BasicIDECommands',
+ 'org.openoffice.Office.UI/Sidebar',
+ 'org.openoffice.Office.UI/BibliographyCommands',
+ 'org.openoffice.Office.UI/DbQueryWindowState',
+ 'org.openoffice.Office.UI/WindowState',
+ 'org.openoffice.Office.UI/Controller',
+ 'org.openoffice.Office.UI/DbRelationWindowState',
+ 'org.openoffice.Office.UI/DbTableWindowState',
+ 'org.openoffice.Office.UI/DbTableDataWindowState',
+ 'org.openoffice.Office.UI/DbBrowserWindowState',
+ 'org.openoffice.Office.UI/WindowContentFactories',
+ 'org.openoffice.Office.UI/Factories',
+ 'org.openoffice.Office.UI/StartModuleWindowState',
+ 'org.openoffice.Office.UI/GlobalSettings',
+ 'org.openoffice.Office.UI/Commands',
+ 'org.openoffice.Office.UI/BibliographyCommands',
+ 'org.openoffice.Office.UI/StartModuleCommands',
+ 'org.openoffice.Office.UI/DrawImpressCommands',
+ 'org.openoffice.Office.UI/BasicIDECommands',
+ 'org.openoffice.Office.UI/GenericCommands',
+ 'org.openoffice.Office.UI/ChartCommands',
+ 'org.openoffice.Office.UI/DbuCommands',
+ 'org.openoffice.Office.UI/BibliographyWindowState',
+ 'org.openoffice.Office.UI/StartModuleWindowState',
+ 'org.openoffice.Office.UI/DbTableDataWindowState',
+ 'org.openoffice.Office.UI/DbRelationWindowState',
+ 'org.openoffice.Office.UI/DbBrowserWindowState',
+ 'org.openoffice.Office.UI/BasicIDEWindowState',
+ 'org.openoffice.Office.UI/DbTableWindowState',
+ 'org.openoffice.Office.UI/DbQueryWindowState',
+ 'org.openoffice.Office.UI/ChartWindowState',
+ 'org.openoffice.Office.UI/BaseWindowState',
+ 'org.openoffice.Office.UI/GenericCategories',
+ 'org.openoffice.Office.UI/Category',
+ ]
+
+
+if __name__ == '__main__':
+ tree = ET.parse(sys.argv[1])
+ root = tree.getroot()
+
+ print "Foo\n"
+ saved = 0
+ total = 0
+ for child in root:
+ section = child.attrib['{http://openoffice.org/2001/registry}name']
+ package = child.attrib['{http://openoffice.org/2001/registry}package']
+ size = len(ET.tostring(child));
+ total = total + size
+ key = '%s/%s' % (package, section)
+ if key in main_xcd_discard:
+ root.remove(child)
+ print 'removed %s - saving %d' % (key, size)
+ saved = saved + size
+
+ print "saved %d of %d bytes: %2.f%%" % (saved, total, saved*100.0/total)
+ tree.write(sys.argv[2], 'UTF-8', True)
+