Commit Graph

192 Commits

Author SHA1 Message Date
Jack Jansen fe3fe4adb5 Adding an interface to the high-level Open Scripting Architecture,
by request of Donovan Preston. In return, he promised to use this
to create a Python OSA component, which would turn Python
into a first-class OSA scripting language (like AppleScript itself).
2003-12-03 22:34:19 +00:00
Jack Jansen 7d0a609e6f An interface to the LaunchServices API. 2003-12-02 23:01:43 +00:00
Jack Jansen b68947ef97 2.4a0 Package Manager shouldn't attempt to use the 2.3 database.
Things will definitely change before 2.4, but for now use a slightly
different URL.
2003-11-27 22:55:39 +00:00
Jack Jansen 10d176f77e Get rid of MacOS9 support. Paths are still hard-coded, that'll be fixed
later.
2003-11-19 16:12:08 +00:00
Jack Jansen 3997f58a0c Modified version by Bob Ippolito. It passes the just-added test_applesingle
after some minor mods. Fixes #803498, but should NOT be backported because
the original problem seems to be unreproducable.
2003-11-18 23:09:19 +00:00
Jack Jansen 749f481478 Backport from r23c1-branch:
Pimp crashed if you tried to install a non-installable package, in stead
of printing a decent error message. Fixes #773450..
2003-07-21 20:47:11 +00:00
Just van Rossum ed8bfce002 Fixed a bug that's been there from the beginning but wasn't noticed
until now: the inheritance of default values was the wrong way around.
This caused app bundles to get a type of "BNDL" instead of "APPL".
Apparently this is not a problem until you try to drag your app to
the dock.
----------------------------------------------------------------------
2003-07-10 14:53:27 +00:00
Just van Rossum 87316ec962 don't optimize empty strings 2003-07-10 14:26:06 +00:00
Just van Rossum be56aae36a #765903:
- added bundle_id/--bundle-id option, to specify the CFBundleIndentifier
#765615:
- in the appropriate situation, prepend $PATH with our path instead of
  setting it.
2003-07-04 14:20:03 +00:00
Jack Jansen bbaa083745 If a --python option is used to specify the Python to use in the #!
line also use this as the executable in the bundle.
2003-07-04 11:05:35 +00:00
Just van Rossum 94af32e244 - replaced a couple of asserts with proper exceptions
- use isinstance instead of flaky file-detection code
2003-07-01 20:15:38 +00:00
Just van Rossum 79b0ae12fd restore 2.2 compatibility:
- don't use "abc" in aString
- don't reorganize extension modules when not using zipimport
2003-06-29 22:20:26 +00:00
Just van Rossum 762d2cce6f - added --semi-standalone option that builds apps that depend on an
installed Python, yet include any modules not in the std lib
- reworked extension module inclusion code: put all .so files in
  a subdirectory of Contents/Resources/, but more importantly,
  correctly support extensions that are submodules.
2003-06-29 21:54:12 +00:00
Jack Jansen c5991b0c02 Use http://www.python.org/packman as the base URL. Also upped the version
number because of this.
2003-06-29 00:09:18 +00:00
Just van Rossum ac8657bb0e some old changes to this unused module 2003-06-21 14:49:14 +00:00
Just van Rossum 35b50e2683 changed 8-space indentation to 4 2003-06-21 14:41:32 +00:00
Just van Rossum dc31dc02f7 - do the right thing with symlinks inside directories we're copying
- move the normpath stuff around a bit
- added dubious special case to addPythonFramework()
2003-06-20 21:43:36 +00:00
Just van Rossum 6a55242685 make sure paths to dirs don't end in a / 2003-06-20 21:26:55 +00:00
Just van Rossum 00a0b97dc5 Reworked --strip option: it will now look at _any_ file that's marked
executable in the bundle. Therefore got rid of the "binaries" attribute.
2003-06-20 21:18:22 +00:00
Just van Rossum 9e50023898 register the library inside Python.framework as eligable for stripping 2003-06-20 20:05:40 +00:00
Just van Rossum 3166f59d2a Add initial standalone support for Python.framework 2003-06-20 18:56:10 +00:00
Jack Jansen 39c5d666c9 Give default _elemdict and _propdict attributes to OSA classes, so
we don't get infinite recursion for suites that don't have an application
class.

Also got rid of some tabs.
2003-06-18 14:19:08 +00:00
Jack Jansen 2cf9b956f7 An indenting error in the code made it miss some suites that have an application
class.
2003-06-18 14:17:34 +00:00
Jack Jansen 8475d0256a Re-gegernated with the new gensuitemodule. 2003-06-13 14:31:19 +00:00
Jack Jansen c8882b10c4 - Allow access to poperties of the "application" OSA class directly from
the toplevel package. This already worked for elements, but now for
properties too. Fixes #753925.
- Even better, the toplevel class (such as Finder.Finder) now inherits
the element and property dictionaries of its application class and has
the necessary glue to allow you to say
  f = Finder.Finder()
  f.get(f.name)
2003-06-13 14:27:35 +00:00
Jack Jansen 5da131b2df Added two keys to database format: User-install-skips is an array of pathname
prefixes, any file that is skipped during a per-user install that matches
this set is *not* an error; Systemwide-only is a boolean that says the
package cannot be installer per-user.
2003-06-01 20:57:12 +00:00
Jack Jansen 2a97dcce09 Use splitlines() in stead of split() to split lines, and added a method
shortdescription() so the code to split off the first line of the
description isn't all over the place.
2003-06-01 20:03:43 +00:00
Jack Jansen 9f0c5754a6 - Get the database from a different place.
- Added support for multi-line descriptions. Doesn't look nice
yet in Package Manager.
2003-05-29 22:07:27 +00:00
Jack Jansen b789a060ee - Added a scheme whereby pimp can update itself, by importing a module
pimp_update if it exists. Upped the version number to indicate this.
  Fixes #731626.
- Added -V (print version) and -u (specify database URL) options when run
  as a command line tool.
2003-05-28 18:56:30 +00:00
Jack Jansen 8ba0e80117 Added a --python option, which sets the python to be used in the #! line
in the bootstrap script of the applet.
2003-05-25 22:00:17 +00:00
Just van Rossum 5d6ad75d50 'Progress' doesn't exists, causing 'from EasyDialogs import *' to fail 2003-05-20 12:07:19 +00:00
Jack Jansen c7c78ae531 Allow for Version, Flavor and Download-URL not being set. 2003-05-06 13:07:32 +00:00
Jack Jansen 705553acab When doing a forced install of a package depending on a pseudo-package
you got a strange error message. Fixed.
2003-05-06 12:44:00 +00:00
Jack Jansen 4f45011af2 CWI moved websites around without me knowing it, and together with
a bug in urllib2 this caused pimp to stop working. Fixed the URL to
make it work again.
2003-05-02 20:27:40 +00:00
Jack Jansen 40006e9f7a Rename funny long suite to Disk_File_Folder. 2003-05-01 22:06:15 +00:00
Jack Jansen d69b744531 If not icon file is specified use the default Python Applet icons.
Fixes 719303.
2003-04-22 14:33:48 +00:00
Jack Jansen 6432f78215 Only return a warning message about not all files being unpacked if there
were indeed files that weren't unpacked.
2003-04-22 13:56:19 +00:00
Jack Jansen 36d49a907f The identify() description didn't match the code. Fixed. 2003-04-16 13:10:53 +00:00
Jack Jansen 20fa6754d1 Allow switching of install dir after creation of preferences.
Changed some message to be clearer when presented by Package Manager.
2003-04-16 12:15:34 +00:00
Jack Jansen 6fde1cef4a - Use the tarfile module to unpack tarfiles.
- Allow setting the destination install directory. If this is set then
  it is used for the modules, other items (header files, etc) are not
  installed, and warnings are printed if the package would have liked to.

Unfortunaltey binary installs seem broken due to a tarfile bug (#721871)
or my misunderstanding of how tarfile works.
2003-04-15 14:43:05 +00:00
Jack Jansen 3576066cad Oops, _propdeclarations and friends are needed: gensuitemodule uses them
to lookup properties declared in base classes. Looking at it I'm not sure
what the official scope if the property codes is, maybe it is only the
(OSA) class in which they are used. But giving them global scope hasn't been
a problem so far.

Regenerated the standard suites, which are now also space-indented.
2003-04-12 22:27:11 +00:00
Jack Jansen 0ae3220736 Detabbed. 2003-04-09 13:25:43 +00:00
Raymond Hettinger ff41c48a77 SF patch #701494: more apply removals 2003-04-06 09:01:11 +00:00
Jack Jansen 9dd78101d7 Sigh... The get() and set() commands are not declared in the aete for
the Standard_Suite, but various other suites do expect it (the Finder
implements get() without declaring it itself). It is probably another
case of OSA magic. Adding them to the global base class.
2003-04-01 22:27:18 +00:00
Jack Jansen 842273bcd7 Regenerated with property names with _Prop_ prepended. 2003-04-01 22:05:14 +00:00
Jack Jansen bc956056d4 Properties (like enums) are not in the global namespace but only valid
within a certain context. Give them an _Prop_ prefix, so they don't
accidentally obscure an element from another suite (as happened with
the Finder). Comparisons I'm not sure about, so I left them as global
names.

Also got rid of the lists if declarations, they serve no useful purpose.
2003-04-01 22:01:58 +00:00
Jack Jansen 3279cb0315 Turned the suite compiler into an object. 2003-04-01 14:25:49 +00:00
Jack Jansen 18c9b13959 - All messages are now dependent on the --verbose option.
- Added a --dump option that doesn't generate the module but dumps
  the pretty-printed aete resource(s) on stdout.
2003-04-01 13:32:17 +00:00
Jack Jansen fc71026c8a Subclasses of ObjectSpecifier can now be packed and unpacked. This allows
you to say something like "talker.count(want=Address_Book.people)" in
stead of having to manually create the aetypes.Type(Address_Book.people.want)
OSA type.
2003-03-31 13:32:59 +00:00
Jack Jansen 397e914209 In TalkTo.send(), check that we have access to the window manager,
and initialize the event loop (if not done previously) to work around
a bug (IMHO) in MacOSX 10.2.
2003-03-31 13:29:32 +00:00
Jack Jansen 068a1e208f Regenerated again, now clases are sorted by code, and with synonyms after
the primary name.
2003-03-30 22:41:53 +00:00
Jack Jansen 2dc16f2a1e Classes have to be sorted by code, not name, and synonyms have to
be sorted after the main name, otherwise filling of properties and
elements messes up.

Sorting is always more difficult than expected:-)
2003-03-30 22:39:39 +00:00
Jack Jansen a942b9931c Moved gensuitemodule from Mac/scripts to Lib/plat-mac. Documentation
remains to be done.
2003-03-29 23:04:01 +00:00
Jack Jansen 694570efcf Regenerated with the new way to get terminology (through AppleEvents),
which sometimes seems to result in different terminology. It does
seem to be mostly compatible, though.
2003-03-29 00:13:17 +00:00
Jack Jansen d6ab153e5a On OSX the finder will return from an open() event before the application
has actually entered its event loop. As a stopgap, allow for a 10 second
grace period.
2003-03-28 23:42:37 +00:00
Jack Jansen d4885f87fa Sigh: didn't catch all lists that needed to be sorted. Regenerated again. 2003-03-28 23:38:00 +00:00
Jack Jansen 7377bec6ae Regenerated (from resource files) with sorting version of gensuitemodule.
This is a first step towards regenerating the modules with newer, MacOSX,
versions of these programs, and using the programmatic interface to
get at the terminology in stead of poking in resource files.
2003-03-28 22:07:22 +00:00
Jack Jansen 52fbe5330b Allow floating point values in ProgressBar. 2003-03-24 12:12:24 +00:00
Jack Jansen b46bebf518 Regenerated with Donovan Prestons patch #702620. 2003-03-23 22:07:28 +00:00
Just van Rossum 5c83bb0f4a use os.path.realpath() instead of os.readlink() 2003-03-21 22:22:19 +00:00
Jack Jansen 7e0bc112b8 Patch 702620 by Donovan Preston: Fix AE inheritance. 2003-03-21 12:04:19 +00:00
Just van Rossum 82ad32ec39 only set $PYTHONHOME when building a standalone app. 2003-03-21 11:32:37 +00:00
Just van Rossum 15624d850b Patch #681927 from Robin Dunn: add option to add shared libraries or
frameworks to the bundle.
2003-03-21 09:26:59 +00:00
Just van Rossum a87e44792c set $PYTHONHOME in the bootstrap script, for no good reason really,
except to avoid getpath.c giving unsollicited advice on stderr.
2003-03-20 21:37:05 +00:00
Jack Jansen 450bd873ac Capturing the exit status for the build process didn't work. Using
popen2.Popen4() makes it work. Fixes #702180.
2003-03-17 10:54:41 +00:00
Jack Jansen 47e5987256 Patch by Andrew Straw: use urllib2 so proxie access works. 2003-03-11 14:37:19 +00:00
Jack Jansen 1c8501e5b4 Filter out macfs warning. 2003-03-07 15:36:49 +00:00
Jack Jansen 5b73385195 Two ancient and obscure bugs found and fixed by Donovan Preston (these
could be responsible for various unexplained problems with Python/OSA
interaction over the years):
- Enum values were passed as their string counterparts. Most applications
  don't seem to mind this, but some do (InDesign).
- Attributes have never worked (!), as they were incorrectly passed
  as parameters. Apparently nobody uses them much:-)
2003-03-05 21:16:06 +00:00
Jack Jansen 620c0837bd Actually *do* override the type in AppBuilder. 2003-03-05 14:44:54 +00:00
Jack Jansen cc81b80710 Moved some application-bundle specific code from the BundleBuilder class to
AppBuilder, and set the default type to BNDL (overridden in AppBuilder).

This surfaced when trying to build help bundles.
2003-03-05 14:42:18 +00:00
Jack Jansen 7451e3b4d5 Call AEInteractWithUser() before bringing up any of the dialogs (with the
exception of the ProgressBar, which I think is okay to show in the background).

This is a prerequisitite for the fix of #684975.
2003-03-03 12:25:02 +00:00
Jack Jansen abeb7d5f7f Added a deprecation warning. 2003-02-27 23:17:59 +00:00
Jack Jansen fb3c811d9b Changing the window type to movable modal isn't enough to make the dialogs movable: apprently you also need to set a bit in the dlgx resource. Did this. 2003-02-27 22:36:20 +00:00
Just van Rossum a006b8e468 use bare raise so you get the original tb 2003-02-26 15:28:17 +00:00
Just van Rossum 0ff7a4e7c1 use the same Python for running the bootstrap script and the main program 2003-02-26 11:27:56 +00:00
Just van Rossum ddf5283ad1 remove sitecustomize hack, will be solved elsewhere 2003-02-26 11:07:59 +00:00
Jack Jansen ec396a11e0 Let's try making the dialogs at least Movable Modal. 2003-02-25 23:35:06 +00:00
Jack Jansen cba861e5e3 If a resource file cannot be decoded because the directory is readonly
create a temporary file. This fixes #688011.

Got rid of the install() method in macresource, and replaced it with
a resource_filename() method which will optionally decode a given resourcefile
(which may be applesingle-encoded) and return the real resourcefile.

Use this new method in buildtools to copy the correct resource file to
the bundle. This fixes #688007.
2003-02-25 23:02:03 +00:00
Jack Jansen ade626464d Reverted the rev. 1.8 change: the magic for decoding resourcefiles
is now in buildtools.
2003-02-25 22:58:33 +00:00
Just van Rossum 4983331385 tweak error message 2003-02-25 21:08:12 +00:00
Just van Rossum 7215e08846 - renamed the --copyfile option to --file.
- tweaked the help text a little.
(Jack: up to you to change your client code.)
2003-02-25 21:00:55 +00:00
Just van Rossum 8a3ed3f81e added some comments, minor tweaks 2003-02-25 20:53:12 +00:00
Just van Rossum 7322b1ad46 Resolving parts of #688907:
- Replaced bootstrap shell script with Python script. This means
  standalone apps built with bundlebuilder will not work on MacOS < 10.1,
  since we depend (again) on an installed Python.
- Add a hack to set sys.executable; the bootstrap script does os.execve()
  with an argv[0] that's different from the actual Python executable
  (it has to match the CFBundleExecutable entry in the Info.plist to make
  the app work both from the Finder and the command line, and it has to be
  the bootstrap script), yet a proper sys.executable is needed to spawn
  auxiliary processes.
2003-02-25 20:15:40 +00:00
Jack Jansen f4a9ac25e9 Workaround for bug #644243 (which is actually an Apple bug, I think): URLs
of the form file:/path/to/file don't work whereas file:///path/to/file
works fine. We convert the former to the latter.
2003-02-25 13:34:22 +00:00
Jack Jansen 00cbf07ca7 Added a -c (--copyfile) option with argument src:dst which copies file src
into dst in the bundle. The Python API already had this functionality
2003-02-24 16:27:08 +00:00
Jack Jansen d9bb1a0b01 Getting rid of macfs. 2003-02-21 23:18:48 +00:00
Jack Jansen 8cb1ff5e8b Get rid of macfs. 2003-02-21 23:14:30 +00:00
Jack Jansen 9f59d528c5 Enable argv emulation if required.
Fixed a bug for applets with their own plist files.
2003-02-18 23:30:27 +00:00
Jack Jansen a03adde31b Added an argv_emulation option (command line option: --argv or -a) which
creates the sys.argv emulation wrapper for droplets. Also updates
the plist, if needed, and the includedModules (but this last is untested).
2003-02-18 23:29:46 +00:00
Jack Jansen b135548d0d Argvemulator still used the old Alias API. Fixed. 2003-02-18 23:28:05 +00:00
Jack Jansen d6a3f93070 Use "$@" to pass arguments to Python in stead of "${1}". This passes all
arguments, and also does the right thing for the no argument case.
2003-02-18 11:24:31 +00:00
Jack Jansen 946c19445c When installing resource files whose name ends in .rsrc use the
"copy anything to a data fork based resource file" trick of macresource.
Fixes #688007.
2003-02-17 16:47:12 +00:00
Jack Jansen a460f446e9 - Added support for zip archives
- Better messages in case of a crash of the install-test script
2003-02-17 12:21:05 +00:00
Jack Jansen a2125fe523 Better error messages and warnings. 2003-02-16 23:03:04 +00:00
Jack Jansen 0dacac48b9 Factored out classes for handling source and binary distributions. Source
now means "distutils-based source", binary "bdist format archive". Also
fixed various lurking bugs.
2003-02-14 14:11:59 +00:00
Jack Jansen e71b9f830b - Use distutils to find site-python (suggested by Thomas Heller, thanks!)
- Fixed a bug for packages without MD5 checksum.
2003-02-12 16:37:00 +00:00
Just van Rossum c96d6ce3c2 Thank you sir, can I have another. 2003-02-12 16:19:39 +00:00
Jack Jansen f59c6fa125 When in MacPython-OSX use bundlebuilder to create .app bundles. 2003-02-12 15:37:26 +00:00
Jack Jansen 53b341ff67 - Better way to find site-packages
- Catch stderr as well as stdout
- Fixed a bug with non-installable packages
- Parse .pth files after installing, so you don't have to restart Python (or
  the IDE) after installing.
2003-02-12 15:36:25 +00:00
Jack Jansen e7b33db22d Changed database format to make fields adhere to PEP 241 where
applicable, and use a similar naming scheme for other fields. This
has drastically changed the structure, as the PEP241 names aren't
identifiers.
2003-02-11 22:40:59 +00:00