annotate Mac/scripts/BuildApplet.py @ 80661:94de77bd0b4b 2.7

Issue #16194: document imp.load_dynamic problems when read several extension modules from the same binary object file.
author Andrew Svetlov <andrew.svetlov@gmail.com>
date Thu, 29 Nov 2012 19:51:28 +0200
parents f6785bce54b5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
1 """Create an applet from a Python script.
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
2
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
3 This puts up a dialog asking for a Python source file ('TEXT').
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
4 The output is a file with the same name but its ".py" suffix dropped.
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
5 It is created by copying an applet template and then adding a 'PYC '
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
6 resource named __main__ containing the compiled, marshalled script.
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
7 """
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
8
3062
8d5179277858 Slightly reorganized so it is useable from another program, and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3045
diff changeset
9
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
10 import sys
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
11 sys.stdout = sys.stderr
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
12
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
13 import os
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
14 import MacOS
55853
899bbcbaf9a6 Merged revisions 74672 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 38650
diff changeset
15 try:
899bbcbaf9a6 Merged revisions 74672 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 38650
diff changeset
16 import EasyDialogs
899bbcbaf9a6 Merged revisions 74672 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 38650
diff changeset
17 except ImportError:
899bbcbaf9a6 Merged revisions 74672 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 38650
diff changeset
18 EasyDialogs = None
8798
ca1e5bc5209d Common code used to the buildtools module (Just)
Jack Jansen <jack.jansen@cwi.nl>
parents: 8106
diff changeset
19 import buildtools
23748
2d67a0ba9020 - Better commandline interface to BuildApplet, complete with options,
Jack Jansen <jack.jansen@cwi.nl>
parents: 8798
diff changeset
20 import getopt
3062
8d5179277858 Slightly reorganized so it is useable from another program, and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3045
diff changeset
21
38649
1100b52c55fd * If BuildApplet.py is used as an applet it starts with a version of
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 34291
diff changeset
22 if not sys.executable.startswith(sys.exec_prefix):
1100b52c55fd * If BuildApplet.py is used as an applet it starts with a version of
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 34291
diff changeset
23 # Oh, the joys of using a python script to bootstrap applicatin bundles
1100b52c55fd * If BuildApplet.py is used as an applet it starts with a version of
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 34291
diff changeset
24 # sys.executable points inside the current application bundle. Because this
1100b52c55fd * If BuildApplet.py is used as an applet it starts with a version of
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 34291
diff changeset
25 # path contains blanks (two of them actually) this path isn't usable on
1100b52c55fd * If BuildApplet.py is used as an applet it starts with a version of
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 34291
diff changeset
26 # #! lines. Reset sys.executable to point to the embedded python interpreter
38650
a0761ceb8633 Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 38649
diff changeset
27 sys.executable = os.path.join(sys.prefix,
38649
1100b52c55fd * If BuildApplet.py is used as an applet it starts with a version of
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 34291
diff changeset
28 'Resources/Python.app/Contents/MacOS/Python')
1100b52c55fd * If BuildApplet.py is used as an applet it starts with a version of
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 34291
diff changeset
29
1100b52c55fd * If BuildApplet.py is used as an applet it starts with a version of
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 34291
diff changeset
30 # Just in case we're not in a framework:
1100b52c55fd * If BuildApplet.py is used as an applet it starts with a version of
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 34291
diff changeset
31 if not os.path.exists(sys.executable):
1100b52c55fd * If BuildApplet.py is used as an applet it starts with a version of
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 34291
diff changeset
32 sys.executable = os.path.join(sys.exec_prefix, 'bin/python')
1100b52c55fd * If BuildApplet.py is used as an applet it starts with a version of
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 34291
diff changeset
33
3062
8d5179277858 Slightly reorganized so it is useable from another program, and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3045
diff changeset
34 def main():
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
35 try:
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
36 buildapplet()
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
37 except buildtools.BuildError, detail:
55853
899bbcbaf9a6 Merged revisions 74672 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 38650
diff changeset
38 if EasyDialogs is None:
899bbcbaf9a6 Merged revisions 74672 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 38650
diff changeset
39 print detail
899bbcbaf9a6 Merged revisions 74672 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 38650
diff changeset
40 else:
899bbcbaf9a6 Merged revisions 74672 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 38650
diff changeset
41 EasyDialogs.Message(detail)
8798
ca1e5bc5209d Common code used to the buildtools module (Just)
Jack Jansen <jack.jansen@cwi.nl>
parents: 8106
diff changeset
42
ca1e5bc5209d Common code used to the buildtools module (Just)
Jack Jansen <jack.jansen@cwi.nl>
parents: 8106
diff changeset
43
ca1e5bc5209d Common code used to the buildtools module (Just)
Jack Jansen <jack.jansen@cwi.nl>
parents: 8106
diff changeset
44 def buildapplet():
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
45 buildtools.DEBUG=1
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
46
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
47 # Find the template
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
48 # (there's no point in proceeding if we can't find it)
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
49
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
50 template = buildtools.findtemplate()
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
51
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
52 # Ask for source text if not specified in sys.argv[1:]
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
53
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
54 if not sys.argv[1:]:
55853
899bbcbaf9a6 Merged revisions 74672 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 38650
diff changeset
55 if EasyDialogs is None:
899bbcbaf9a6 Merged revisions 74672 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 38650
diff changeset
56 usage()
899bbcbaf9a6 Merged revisions 74672 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 38650
diff changeset
57 sys.exit(1)
899bbcbaf9a6 Merged revisions 74672 via svnmerge from
Ronald Oussoren <ronaldoussoren@mac.com>
parents: 38650
diff changeset
58
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
59 filename = EasyDialogs.AskFileForOpen(message='Select Python source or applet:',
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
60 typeList=('TEXT', 'APPL'))
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
61 if not filename:
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
62 return
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
63 tp, tf = os.path.split(filename)
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
64 if tf[-3:] == '.py':
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
65 tf = tf[:-3]
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
66 else:
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
67 tf = tf + '.applet'
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
68 dstfilename = EasyDialogs.AskFileForSave(message='Save application as:',
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
69 savedFileName=tf)
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
70 if not dstfilename: return
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
71 cr, tp = MacOS.GetCreatorAndType(filename)
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
72 if tp == 'APPL':
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
73 buildtools.update(template, filename, dstfilename)
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
74 else:
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
75 buildtools.process(template, filename, dstfilename, 1)
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
76 else:
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
77
34291
5368d2b7d66a Backport:
Jack Jansen <jack.jansen@cwi.nl>
parents: 32736
diff changeset
78 SHORTOPTS = "o:r:ne:v?PR"
5368d2b7d66a Backport:
Jack Jansen <jack.jansen@cwi.nl>
parents: 32736
diff changeset
79 LONGOPTS=("output=", "resource=", "noargv", "extra=", "verbose", "help", "python=", "destroot=")
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
80 try:
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
81 options, args = getopt.getopt(sys.argv[1:], SHORTOPTS, LONGOPTS)
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
82 except getopt.error:
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
83 usage()
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
84 if options and len(args) > 1:
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
85 sys.stderr.write("Cannot use options when specifying multiple input files")
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
86 sys.exit(1)
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
87 dstfilename = None
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
88 rsrcfilename = None
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
89 raw = 0
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
90 extras = []
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
91 verbose = None
34291
5368d2b7d66a Backport:
Jack Jansen <jack.jansen@cwi.nl>
parents: 32736
diff changeset
92 destroot = ''
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
93 for opt, arg in options:
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
94 if opt in ('-o', '--output'):
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
95 dstfilename = arg
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
96 elif opt in ('-r', '--resource'):
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
97 rsrcfilename = arg
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
98 elif opt in ('-n', '--noargv'):
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
99 raw = 1
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
100 elif opt in ('-e', '--extra'):
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
101 if ':' in arg:
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
102 arg = arg.split(':')
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
103 extras.append(arg)
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
104 elif opt in ('-P', '--python'):
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
105 # This is a very dirty trick. We set sys.executable
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
106 # so that bundlebuilder will use this in the #! line
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
107 # for the applet bootstrap.
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
108 sys.executable = arg
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
109 elif opt in ('-v', '--verbose'):
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
110 verbose = Verbose()
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
111 elif opt in ('-?', '--help'):
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
112 usage()
34291
5368d2b7d66a Backport:
Jack Jansen <jack.jansen@cwi.nl>
parents: 32736
diff changeset
113 elif opt in ('-d', '--destroot'):
5368d2b7d66a Backport:
Jack Jansen <jack.jansen@cwi.nl>
parents: 32736
diff changeset
114 destroot = arg
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
115 # Loop over all files to be processed
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
116 for filename in args:
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
117 cr, tp = MacOS.GetCreatorAndType(filename)
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
118 if tp == 'APPL':
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
119 buildtools.update(template, filename, dstfilename)
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
120 else:
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
121 buildtools.process(template, filename, dstfilename, 1,
34291
5368d2b7d66a Backport:
Jack Jansen <jack.jansen@cwi.nl>
parents: 32736
diff changeset
122 rsrcname=rsrcfilename, others=extras, raw=raw,
5368d2b7d66a Backport:
Jack Jansen <jack.jansen@cwi.nl>
parents: 32736
diff changeset
123 progress=verbose, destroot=destroot)
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
124
23748
2d67a0ba9020 - Better commandline interface to BuildApplet, complete with options,
Jack Jansen <jack.jansen@cwi.nl>
parents: 8798
diff changeset
125 def usage():
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
126 print "BuildApplet creates an application from a Python source file"
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
127 print "Usage:"
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
128 print " BuildApplet interactive, single file, no options"
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
129 print " BuildApplet src1.py src2.py ... non-interactive multiple file"
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
130 print " BuildApplet [options] src.py non-interactive single file"
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
131 print "Options:"
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
132 print " --output o Output file; default based on source filename, short -o"
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
133 print " --resource r Resource file; default based on source filename, short -r"
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
134 print " --noargv Build applet without drag-and-drop sys.argv emulation, short -n, OSX only"
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
135 print " --extra src[:dst] Extra file to put in .app bundle, short -e, OSX only"
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
136 print " --verbose Verbose, short -v"
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
137 print " --help This message, short -?"
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
138 sys.exit(1)
23748
2d67a0ba9020 - Better commandline interface to BuildApplet, complete with options,
Jack Jansen <jack.jansen@cwi.nl>
parents: 8798
diff changeset
139
2d67a0ba9020 - Better commandline interface to BuildApplet, complete with options,
Jack Jansen <jack.jansen@cwi.nl>
parents: 8798
diff changeset
140 class Verbose:
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
141 """This class mimics EasyDialogs.ProgressBar but prints to stderr"""
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
142 def __init__(self, *args):
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
143 if args and args[0]:
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
144 self.label(args[0])
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
145
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
146 def set(self, *args):
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
147 pass
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
148
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
149 def inc(self, *args):
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
150 pass
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
151
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
152 def label(self, str):
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
153 sys.stderr.write(str+'\n')
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
154
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
155 if __name__ == '__main__':
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 29261
diff changeset
156 main()