diff options
author | Derrell Lipman <derrell@samba.org> | 2006-12-30 05:09:59 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:30:29 -0500 |
commit | 1170417ceeb8c49a46cda522a38eaa71c9cae30c (patch) | |
tree | dbf4c3fdcdb1af928dbd55f642ea40f00d09283a /webapps/qooxdoo-0.6.3-sdk/frontend/framework/tool/modules/resources.py | |
parent | 23ccdca41670085da4486841b0d4900b4c8b02f3 (diff) | |
download | samba-1170417ceeb8c49a46cda522a38eaa71c9cae30c.tar.gz samba-1170417ceeb8c49a46cda522a38eaa71c9cae30c.tar.bz2 samba-1170417ceeb8c49a46cda522a38eaa71c9cae30c.zip |
r20414: Start to make SWAT usable by others. This is just a start...
(This used to be commit 26a34037a7ca6fbd05c5a6f7c2d5973e34bc6918)
Diffstat (limited to 'webapps/qooxdoo-0.6.3-sdk/frontend/framework/tool/modules/resources.py')
-rwxr-xr-x | webapps/qooxdoo-0.6.3-sdk/frontend/framework/tool/modules/resources.py | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/framework/tool/modules/resources.py b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/tool/modules/resources.py new file mode 100755 index 0000000000..22ecb63ad3 --- /dev/null +++ b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/tool/modules/resources.py @@ -0,0 +1,88 @@ +#!/usr/bin/env python + +import os, shutil +import config + + +def copy(options, sortedIncludeList, fileDb): + print " * Preparing configuration..." + + overrideList = [] + + for overrideEntry in options.overrideResourceOutput: + # Parse + # fileId.resourceId:destinationDirectory + targetSplit = overrideEntry.split(":") + targetStart = targetSplit.pop(0) + targetStartSplit = targetStart.split(".") + + # Store + overrideData = {} + overrideData["destinationDirectory"] = ":".join(targetSplit) + overrideData["resourceId"] = targetStartSplit.pop() + overrideData["fileId"] = ".".join(targetStartSplit) + + # Append + overrideList.append(overrideData) + + print " * Syncing..." + + for fileId in sortedIncludeList: + filePath = fileDb[fileId]["path"] + fileResources = fileDb[fileId]["resources"] + + if len(fileResources) > 0: + print " - Found %i resources in %s" % (len(fileResources), fileId) + + for fileResource in fileResources: + fileResourceSplit = fileResource.split(":") + + resourceId = fileResourceSplit.pop(0) + relativeDirectory = ":".join(fileResourceSplit) + + sourceDirectory = os.path.join(fileDb[fileId]["resourceInput"], relativeDirectory) + destinationDirectory = os.path.join(fileDb[fileId]["resourceOutput"], relativeDirectory) + + # Searching for overrides + for overrideData in overrideList: + if overrideData["fileId"] == fileId and overrideData["resourceId"] == resourceId: + destinationDirectory = overrideData["destinationDirectory"] + + print " - Copy %s => %s" % (sourceDirectory, destinationDirectory) + + try: + os.listdir(sourceDirectory) + except OSError: + print " - Source directory isn't readable! Ignore resource!" + continue + + for root, dirs, files in os.walk(sourceDirectory): + + # Filter ignored directories + for ignoredDir in config.DIRIGNORE: + if ignoredDir in dirs: + dirs.remove(ignoredDir) + + # Searching for items (resource files) + for itemName in files: + + # Generate absolute source file path + itemSourcePath = os.path.join(root, itemName) + + # Extract relative path and directory + itemRelPath = itemSourcePath.replace(sourceDirectory + os.sep, "") + itemRelDir = os.path.dirname(itemRelPath) + + # Generate destination directory and file path + itemDestDir = os.path.join(destinationDirectory, itemRelDir) + itemDestPath = os.path.join(itemDestDir, itemName) + + # Check/Create destination directory + if not os.path.exists(itemDestDir): + os.makedirs(itemDestDir) + + # Copy file + if options.verbose: + print " - Copying: %s => %s" % (itemSourcePath, itemDestPath) + + shutil.copyfile(itemSourcePath, itemDestPath) |