summaryrefslogtreecommitdiffstats
path: root/lib/libUPnP/Platinum/Build/Tools/Scripts/GenDocumentation.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libUPnP/Platinum/Build/Tools/Scripts/GenDocumentation.py')
-rwxr-xr-xlib/libUPnP/Platinum/Build/Tools/Scripts/GenDocumentation.py77
1 files changed, 77 insertions, 0 deletions
diff --git a/lib/libUPnP/Platinum/Build/Tools/Scripts/GenDocumentation.py b/lib/libUPnP/Platinum/Build/Tools/Scripts/GenDocumentation.py
new file mode 100755
index 0000000..72320a0
--- /dev/null
+++ b/lib/libUPnP/Platinum/Build/Tools/Scripts/GenDocumentation.py
@@ -0,0 +1,77 @@
+#! /usr/bin/python
+
+#############################################################
+# This tool is used to generate the Platinum documentation #
+#############################################################
+
+import os
+import sys
+import subprocess
+import shutil
+import zipfile
+import tarfile
+
+#############################################################
+# ZIP support
+#############################################################
+def ZipDir(top, archive, dir) :
+ entries = os.listdir(top)
+ for entry in entries:
+ path = os.path.join(top, entry)
+ if os.path.isdir(path):
+ ZipDir(path, archive, os.path.join(dir, entry))
+ else:
+ zip_name = os.path.join(dir, entry)
+ archive.write(path, zip_name)
+
+def ZipIt(root, dir) :
+ zip_filename = root+'/'+dir+'.zip'
+
+ if os.path.exists(zip_filename):
+ os.remove(zip_filename)
+
+ archive = zipfile.ZipFile(zip_filename, "w", zipfile.ZIP_DEFLATED)
+ ZipDir(root+'/'+dir, archive, dir)
+ archive.close()
+
+def TarIt(root, dir) :
+ tar_filename = root+'/'+dir+'.tgz'
+
+ if os.path.exists(tar_filename):
+ os.remove(tar_filename)
+
+ archive = tarfile.TarFileCompat(tar_filename, "w", tarfile.TAR_GZIPPED)
+ ZipDir(root+'/'+dir, archive, dir)
+ archive.close()
+
+#############################################################
+# Main
+#############################################################
+# ensure that PLATINUM_KIT_HOME has been set and exists
+if not os.environ.has_key('PLATINUM_KIT_HOME'):
+ print 'ERROR: PLATINUM_KIT_HOME not set'
+ sys.exit(1)
+PLATINUM_KIT_HOME = os.environ['PLATINUM_KIT_HOME']
+
+if not os.path.exists(PLATINUM_KIT_HOME) :
+ print 'ERROR: PLATINUM_KIT_HOME ('+PLATINUM_KIT_HOME+') does not exist'
+ sys.exit(1)
+else :
+ print 'PLATINUM_KIT_HOME = ' + PLATINUM_KIT_HOME
+
+# compute paths
+SDK_DOC_NAME='Platinum-HTML'
+SDK_DOC_ROOT=PLATINUM_KIT_HOME+'/Platinum/Docs/Doxygen'
+
+# start doxygen
+retcode = subprocess.call(['doxygen'], cwd=SDK_DOC_ROOT)
+
+if retcode != 0:
+ print 'ERROR: doxygen failed'
+ sys.exit(1)
+
+# zip documentation
+ZipIt(SDK_DOC_ROOT, SDK_DOC_NAME)
+
+# cleanup
+shutil.rmtree(SDK_DOC_ROOT+'/'+SDK_DOC_NAME)