Hello, As my first Mac OS X project I am trying to build a sample plugin with py2app. I am following this tutorial:
http://eaganj.free.fr/weblog/?post/2009/07/14/Demystifying-Mail.app-Plugins-on-Leopard I do not know what am I doing wrong, but I cannot seem to be able to create my plugin in the first place. python setup.py py2app -A works, but creating a standalong plugin fails. Do you know what is wrong? First I tried with py2app 0.4.3, but now I use svn trunk. python setup.py py2app output: running py2app *** using recipe: virtualenv *** *** filtering dependencies *** 369 total 366 filtered 0 orphaned 3 remaining *** create binaries *** *** byte compile python files *** skipping byte-compilation of /Users/ata/Projects/MailArchiveButton/MyPlugin.py to MyPlugin.pyc byte-compiling /Users/ata/Scrap/py2app/py2app/bootstrap/boot_plugin.py to boot_plugin.pyc byte-compiling /Users/ata/Scrap/py2app/py2app/bootstrap/disable_linecache.py to disable_linecache.pyc *** creating plugin bundle: MyPlugin *** copying MyPlugin.py -> /Users/ata/Projects/MailArchiveButton/dist/MyPlugin.mailbundle/Contents/Resources creating /Users/ata/Projects/MailArchiveButton/dist/MyPlugin.mailbundle/Contents/Resources/lib creating /Users/ata/Projects/MailArchiveButton/dist/MyPlugin.mailbundle/Contents/Resources/lib/python2.6 copying build/bdist.macosx-10.6-universal/python2.6-semi_standalone/app/site-packages.zip -> /Users/ata/Projects/MailArchiveButton/dist/MyPlugin.mailbundle/Contents/Resources/lib/python2.6 creating /Users/ata/Projects/MailArchiveButton/dist/MyPlugin.mailbundle/Contents/Resources/lib/python2.6/lib-dynload creating /Users/ata/Projects/MailArchiveButton/dist/MyPlugin.mailbundle/Contents/Frameworks Traceback (most recent call last): File "/Users/ata/Scrap/py2app/py2app/build_app.py", line 589, in _run self.run_normal() File "/Users/ata/Scrap/py2app/py2app/build_app.py", line 660, in run_normal self.create_binaries(py_files, pkgdirs, extensions, loader_files) File "/Users/ata/Scrap/py2app/py2app/build_app.py", line 777, in create_binaries platfiles = mm.run() File "build/bdist.macosx-10.6-universal/egg/macholib/MachOStandalone.py", line 101, in run for fn in platfiles: File "build/bdist.macosx-10.6-universal/egg/macholib/util.py", line 227, in iter_platform_files if is_platform_file(fn): File "build/bdist.macosx-10.6-universal/egg/macholib/util.py", line 206, in is_platform_file header = mach_o.fat_header.from_fileobj(fileobj, _endian_='>') File "build/bdist.macosx-10.6-universal/egg/macholib/ptypes.py", line 44, in from_fileobj return cls.from_str(f.read(cls._size_), **kw) File "build/bdist.macosx-10.6-universal/egg/macholib/ptypes.py", line 48, in from_str return cls.from_tuple(struct.unpack(endian + cls._format_, s), **kw) error: unpack requires a string argument of length 8 > /Users/ata/Projects/MailArchiveButton/build/bdist.macosx-10.6-universal/egg/macholib/ptypes.py(48)from_str() (Pdb) ^D setup.py: from distutils.core import setup import py2app plist = dict( NSPrincipalClass='MyPlugin', CFBundleVersion='1', SupportedPluginCompatibilityUUIDs=[ '225E0A48-2CDB-44A6-8D99-A9BB8AF6BA04', 'B3F3FC72-315D-4323-BE85-7AB76090224D', '2610F061-32C6-4C6B-B90A-7A3102F9B9C8', '99BB3782-6C16-4C6F-B910-25ED1C1CB38B', '2F0CF6F9-35BA-4812-9CB2-155C0FDB9B0F', '0CB5F2A0-A173-4809-86E3-9317261F1745' ] ) setup( plugin = ['MyPlugin.py'], options=dict(py2app=dict(extension='.mailbundle', plist=plist)) ) myplugin.py: from AppKit import * from Foundation import * import objc MVMailBundle = objc.lookUpClass('MVMailBundle') class MyPlugin(MVMailBundle): @classmethod def initialize (cls): cls.registerBundle() NSLog("MyPlugin registered with Mail") initialize = classmethod(initialize) -- Attila
_______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig