Commit Graph

435 Commits

Author SHA1 Message Date
Just van Rossum ad33d72361 Tools to create MacOS X (application) bundles.
Todo:
- command line parsing
- main program
- modulefinder(-like ;-) support to build standalone apps.
2002-11-21 10:23:04 +00:00
Just van Rossum 10263d6e6b - cleaned up example/test code
- don't encode/escape elements
- fixed typo in doc string
- provide our own copy function for the Dict class
2002-11-20 20:47:55 +00:00
Just van Rossum db951c34e3 removed a redundant .strip(); made a doc string more or less tell the truth 2002-11-19 23:11:49 +00:00
Just van Rossum 247e16ef80 No need to import __builtin__, spotted by Skip. 2002-11-19 23:01:20 +00:00
Just van Rossum 0ec2744fb8 Pure Python implementation of a plist generator/parser. 2002-11-19 22:01:02 +00:00
Jack Jansen 180ceedc09 Python 2.2 as installed by Apple has a version of _Res that is too old. We
attempt to load an override version in this case.
2002-11-15 00:06:52 +00:00
Jack Jansen 25e61d9e0a Added a hack so we can build applets with a MacPython that uses the
OSX 10.2 apple-supplied Python as its base: if we've copied a symlink
as the executable we remove it and install appletrunner in stead.
2002-11-15 00:05:47 +00:00
Jack Jansen b54a6ce154 A script to run applets. Originally by Just, slightly modified by me. 2002-11-15 00:04:09 +00:00
Jack Jansen eb342298de - Use imp to find appletrawmain.py in stead of hand-crafting the path
to it.
- Allow for symlinks in the applet template.
2002-11-11 00:06:14 +00:00
Jack Jansen dde800ec4e Got rid of the python.rsrc resource file. The error message strings and
dialogs are now stored in Mac/Lib, and loaded on demand through macresource.
Not only does this simplify a MacPython based on Apple's Python, but
it also makes Mac error codes come out symbolically when running command
line python (if you have Mac/Lib in your path).

The resource files are copied from Mac/Resources. The old ones will disappear
after the OS9 build procedure has been adjusted.
2002-11-07 23:07:05 +00:00
Jack Jansen 37e477216b Forward port of 1.12.14.3 (which has an incorrect log message):
if SetDates() in touched() returns an error ignore it: the user may not have
permission to change the parent folder. This is a non-serious problem,
the only function of touched() is to speed up the finder seeing the
change.
2002-10-29 22:48:43 +00:00
Jack Jansen b1248ceb90 Under Jaguar it seems that 'errn' return value keyword parameters don't
(or don't always?) show up with missed(). I think this is a bug in
Jaguar, but as it is a potential dangerous problem (the OSA event has
failed, but the Python code isn't told about this and happily continues)
this is a quick workaround.

Bugfix candidate, I'll add it to 2.2.2 as a last second fix.
2002-10-25 20:06:29 +00:00
Jack Jansen 89841bda65 Shut up FutureWarnings about hex constants. 2002-09-12 22:35:45 +00:00
Jack Jansen e87ed57ea6 Patch by Tony Lownds: add the Resources directory to sys.path. 2002-09-12 21:58:47 +00:00
Jack Jansen 2575022aef Reverted previous change, I was confused. 2002-09-10 12:22:32 +00:00
Jack Jansen bc603547ae Import Carbon.AH, not Carbon.Help 2002-09-06 23:33:31 +00:00
Jack Jansen 3a70e3f9ef Get rid of non-ascii characters. 2002-09-06 20:43:28 +00:00
Jack Jansen 4e39949d87 Initialize self._helpmenu earlier, so we can use gethelpmenu() while
building the user menus.
2002-08-30 23:01:28 +00:00
Jack Jansen f21b7063d3 Added support for the help menu. Application.gethelpmenu() will return
it.

Also fixed menu IDs to be signed in do_menudispatch. this is an incompatible
change, but I don't think it'll hurt anyone.
2002-08-29 22:04:15 +00:00
Jack Jansen 983258ed7e Revived the Carbon.Help module, but implementing the MacHelp API in stead
of the defunct Balloons API. Help tags are TBD, but at least this gives
us access to the help menu.
2002-08-29 21:09:00 +00:00
Jack Jansen afb76320ab Don't copy the documentation when using Python.app as an applet template. 2002-08-29 20:20:24 +00:00
Jack Jansen f90367c6d4 This file never made it to the repository, somehow. 2002-08-28 21:19:26 +00:00
Jack Jansen 5472376f0d These were regenerated some time ago (with ascii chars only and
fully qualified imports) but somehow not checked in yet.
2002-08-28 21:18:37 +00:00
Jack Jansen 4f2d89f1f8 Interface to Apple Help Viewer. 2002-08-28 21:16:53 +00:00
Jack Jansen 58ba80a6a6 Refuse to run if the last bit of the destination path contains a # character.
This is a silly workaround for a rather serious bug in MacOSX: if you take
a long filename and convert it to an FSSpec the fsspec gets a magic
cooky (containing a #, indeed). If you then massage the extension of this
fsspec and convert back to a pathname you may end up referring to the
same file. This could destroy your sourcefile. The problem only occcurs
in MacPython-OS9, not MacPython-OSX (I think).

Closes bug #505562.
2002-08-18 21:57:09 +00:00
Jack Jansen ccd8e8d741 - Check not only that cache file exists, but also that it is newer than
the applesingle file.
- Added optional verbose option for cachersrc tool.
2002-08-09 13:44:03 +00:00
Jack Jansen 617e2305ee Use hex escape for non-ascii chars, now that the parser wants that.
Good thing, too: some of the characters had been mangled by OS9->CVS->OSX
roundtrips.
2002-08-08 21:16:56 +00:00
Jack Jansen 295105f3aa Regenerated with OSA class inheritance and fix for non-ascii chars. 2002-08-07 15:53:42 +00:00
Jack Jansen 8b77767094 Donovan Preston's patch #538395, with some mods by me.
This patch makes inheritance for OSA classes work. The implementation is a
bit convoluted, but I don't immedeately see a simpler way of doing it.

I added calls to ascii() everywhere we output strings that may contain
non-ascii characters (Python has gotten very picky since the encoding
patch:-).

I also removed Donovan's different way of opening resource files: I don't
seem to need it.
2002-08-07 14:49:00 +00:00
Jack Jansen 137d8c5667 Wrapper around _IBCarbon. 2002-08-06 09:32:57 +00:00
Jack Jansen 94caa78ebf Patch by Ronald Oussoren: if there's a .lproj in the extras list also
check whether it contains a .nib, and do the Cocoa song and dance if
it does.
2002-08-05 22:06:29 +00:00
Jack Jansen 0a9d7559e8 In copy() don't try to obtain an FSSpec until we know the destination
exists. Partial fix for #585923.
2002-08-05 21:53:57 +00:00
Jack Jansen 6573f31874 Moved bgenlocations to the Mac/Lib directory. Not perfect, but better than
where it was: it is really a configuration file, not a normal module.

By moving it into Mac/Lib we can now also store the location of bgen
itself in there, which is needed because bgen isn't installed.
2002-08-05 14:56:04 +00:00
Jack Jansen 83f5c38403 The definitions for IBCarbonRuntime.h 2002-08-04 22:03:36 +00:00
Jack Jansen d64845dbbe Mkdirs() failed when provided with unix pathnames. Fixed. 2002-08-03 20:49:10 +00:00
Jack Jansen 3e6c80bf5e Hmm, in some cases we don't seem to get our scriptname in argv[0].
Cater for that by working from sys.executable.
2002-08-02 15:31:25 +00:00
Jack Jansen ba1c13db4f Final step in making applets first-class citizens: if the applet wants
argv emulation (i.e. if the end user drops files and folders on the
applets these will show up in sys.argv) BuildApplet will add the required
code to the applet bundle, in __rawmain__.pyc.

This code is compiled from appletrawmain.py, it creates sys.argv, cleans
up most of the mess and executes either __main__.py or __main__.pyc.
2002-08-02 14:57:43 +00:00
Jack Jansen a9454e21a7 Oops, the -psn stuff is in argv[1], of course. 2002-08-02 14:54:46 +00:00
Jack Jansen 94416e55d3 Got rid of a couple of OS9-isms. 2002-08-02 14:04:42 +00:00
Jack Jansen 2eb4b18f94 - Slightly better error message in case of syntax errors in the script.
- The applet .rsrc file should be called python.rsrc, it is not based on the
  applet name.
2002-08-02 14:04:15 +00:00
Jack Jansen 6e1986ba9c - Remove -psn-xxxx argument added by the Finder.
- "Open Document" appleevent is "odoc", not "open".
2002-08-02 12:56:21 +00:00
Jack Jansen f4f6d4859d Construct a sys.argv from the initial AppleEvent sent by the finder
during startup of a program. This module will replace the C code in
macgetargv.c so we can get rid of the special macmain.c for OSX
Python.app.
2002-08-02 11:12:15 +00:00
Jack Jansen d05e18139f Slightly better error message in case of missing resources. 2002-08-02 11:03:19 +00:00
Jack Jansen c7554e28ee Added a __contains__ method. 2002-07-26 11:32:03 +00:00
Jeremy Hylton 938ace69a0 staticforward bites the dust.
The staticforward define was needed to support certain broken C
compilers (notably SCO ODT 3.0, perhaps early AIX as well) botched the
static keyword when it was used with a forward declaration of a static
initialized structure.  Standard C allows the forward declaration with
static, and we've decided to stop catering to broken C compilers.  (In
fact, we expect that the compilers are all fixed eight years later.)

I'm leaving staticforward and statichere defined in object.h as
static.  This is only for backwards compatibility with C extensions
that might still use it.

XXX I haven't updated the documentation.
2002-07-17 16:30:39 +00:00
Jack Jansen 440a36f3ab In plugin projects use (by default) the new mwerks_shcarbon_pch
header file in stead of mwerks_carbonplugin_config.h.
2002-06-26 20:36:12 +00:00
Jack Jansen bc5e145341 Close the project after generating it, so we don't keep a gazillion project
files open when we're rebuilding them all.
2002-06-26 20:35:18 +00:00
Jack Jansen 09c7343273 Turns out GetArgv() options can be 4-tuples too, with the last value being the default (or something like that). Cater for this.
Also put in a safeguard against very long help strings.
2002-06-26 15:14:48 +00:00
Jack Jansen 5d0990494e Open the source file in universal newline mode. 2002-06-20 20:42:07 +00:00
Jack Jansen 388fbf3d4a - Better commandline interface to BuildApplet, complete with options,
verbose output to the console, etc.
- Allow Cocoa applets to be built with BuildApplet.

No full testing has been done yet to ensure OS9 operation hasn't suffered.
2002-06-09 22:08:52 +00:00