| OLD | NEW |
| (Empty) |
| 1 #!/usr/bin/python2.4 | |
| 2 # | |
| 3 # Copyright 2008-2009 Google Inc. | |
| 4 # | |
| 5 # Licensed under the Apache License, Version 2.0 (the "License"); | |
| 6 # you may not use this file except in compliance with the License. | |
| 7 # You may obtain a copy of the License at | |
| 8 # | |
| 9 # http://www.apache.org/licenses/LICENSE-2.0 | |
| 10 # | |
| 11 # Unless required by applicable law or agreed to in writing, software | |
| 12 # distributed under the License is distributed on an "AS IS" BASIS, | |
| 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 14 # See the License for the specific language governing permissions and | |
| 15 # limitations under the License. | |
| 16 # ======================================================================== | |
| 17 | |
| 18 """ | |
| 19 mage.exe does not provide a way to add the trustURLParameters attribute to an | |
| 20 application manifest. This script fills that gap. It also adds in the | |
| 21 localized display name, to get around issues with the Python commands | |
| 22 module. | |
| 23 """ | |
| 24 | |
| 25 import sys | |
| 26 import os | |
| 27 import getopt | |
| 28 import commands | |
| 29 | |
| 30 | |
| 31 def _AddTrustURLParametersAndName(manifest_file, output_file, display_name): | |
| 32 f_in = open(manifest_file, 'r') | |
| 33 manifest_contents = f_in.read() | |
| 34 f_in.close() | |
| 35 | |
| 36 manifest_contents = manifest_contents.replace('<deployment ', \ | |
| 37 '<deployment trustURLParameters="true" ') | |
| 38 manifest_contents = manifest_contents.replace('\"xxxXXXxxx', \ | |
| 39 '\"%s' % display_name) | |
| 40 | |
| 41 f_out = open(output_file, 'w') | |
| 42 # Works without needing to write the codecs.BOM_UTF8 at the beginning of the | |
| 43 # file. May need to write this at some point though. | |
| 44 f_out.write(manifest_contents) | |
| 45 f_out.close() | |
| 46 | |
| 47 | |
| 48 def _Usage(): | |
| 49 """Prints out script usage information.""" | |
| 50 print """ | |
| 51 add_trusturlparams.py: Modify the given manifest file by adding in a | |
| 52 trustURLParameters=true to the deployment section. Also substitutes | |
| 53 the dummy name xxxXXXxxx with the localized display name. | |
| 54 | |
| 55 Usage: | |
| 56 add_trusturlparams.py [--help | |
| 57 | --manifest_file filename | |
| 58 | --output_file filename | |
| 59 --display_name {i18n display name}] | |
| 60 | |
| 61 Options: | |
| 62 --help Show this information. | |
| 63 --manifest_file filename Path/name of input/output manifest file. | |
| 64 --output_file filename Path/name of an optional output manifest file. | |
| 65 --display_name name i18n display name. | |
| 66 """ | |
| 67 | |
| 68 | |
| 69 def _Main(): | |
| 70 # use getopt to parse the option and argument list; this may raise, but | |
| 71 # don't catch it | |
| 72 _ARGUMENT_LIST = ["help", "manifest_file=", "output_file=", "display_name="] | |
| 73 (opts, args) = getopt.getopt(sys.argv[1:], "", _ARGUMENT_LIST) | |
| 74 if not opts or ("--help", "") in opts: | |
| 75 _Usage() | |
| 76 sys.exit() | |
| 77 | |
| 78 manifest_file = "" | |
| 79 output_file = "" | |
| 80 display_name = "" | |
| 81 | |
| 82 for (o, v) in opts: | |
| 83 if o == "--manifest_file": | |
| 84 manifest_file = v | |
| 85 if o == "--output_file": | |
| 86 output_file = v | |
| 87 if o == "--display_name": | |
| 88 display_name = v | |
| 89 | |
| 90 # make sure we have work to do | |
| 91 if not manifest_file: | |
| 92 raise SystemExit("no manifest_filename specified") | |
| 93 if not display_name: | |
| 94 raise SystemExit("no display_name specified") | |
| 95 | |
| 96 # overwrite existing file if no separate output specified | |
| 97 if not output_file: | |
| 98 output_file = manifest_file | |
| 99 | |
| 100 _AddTrustURLParametersAndName(manifest_file, output_file, display_name) | |
| 101 sys.exit() | |
| 102 | |
| 103 | |
| 104 if __name__ == "__main__": | |
| 105 _Main() | |
| 106 | |
| OLD | NEW |