[Pythonmac-SIG] AEDesc error: Unsupported Type

Ben Pedersen pedben at gmail.com
Mon Jul 12 21:05:35 CEST 2010


Hello all,
Working with py-appscript to automate testing and I'm getting an error
deep in aemreference/aemcodecs.  Following are the trace and some code
to reproduce.  The error seems to be caused by calling a separate
function in a parent class that returns a reference to an appscript
object -  commenting the last line of setUp and uncommenting the 2
lines above it lead to working code.  That's an acceptable workaround,
but I'm very curious what is causing the issue ... does application
object get cleaned up prematurely?

Traceback (most recent call last):
  File "test_syslog.py", line 78, in <module>
    testClass.testMe()
  File "test_syslog.py", line 74, in testMe
    self.testApp.menu_bars[0].menus["File"].menu_items["Show
Properties"].click()
  File "build/bdist.macosx-10.6-universal/egg/appscript/reference.py",
line 463, in __call__
  File "build/bdist.macosx-10.6-universal/egg/aem/__init__.py", line
192, in event
  File "build/bdist.macosx-10.6-universal/egg/aem/aemsend.py", line
57, in __init__
  File "build/bdist.macosx-10.6-universal/egg/appscript/reference.py",
line 275, in pack
  File "build/bdist.macosx-10.6-universal/egg/aem/aemcodecs.py", line
313, in pack
  File "build/bdist.macosx-10.6-universal/egg/aem/aemreference.py",
line 118, in AEM_packself
  File "build/bdist.macosx-10.6-universal/egg/aem/aemreference.py",
line 177, in _packself
  File "build/bdist.macosx-10.6-universal/egg/aem/aemreference.py",
line 534, in AEM_packself
  File "build/bdist.macosx-10.6-universal/egg/aem/aemreference.py",
line 118, in AEM_packself
  File "build/bdist.macosx-10.6-universal/egg/aem/aemreference.py",
line 177, in _packself
  File "build/bdist.macosx-10.6-universal/egg/aem/aemreference.py",
line 534, in AEM_packself
  File "build/bdist.macosx-10.6-universal/egg/aem/aemreference.py",
line 118, in AEM_packself
  File "build/bdist.macosx-10.6-universal/egg/aem/aemreference.py",
line 177, in _packself
  File "build/bdist.macosx-10.6-universal/egg/aem/aemreference.py",
line 534, in AEM_packself
  File "build/bdist.macosx-10.6-universal/egg/aem/aemreference.py",
line 118, in AEM_packself
  File "build/bdist.macosx-10.6-universal/egg/aem/aemreference.py",
line 176, in _packself
  File "build/bdist.macosx-10.6-universal/egg/aem/aemreference.py",
line 304, in _packkey
  File "build/bdist.macosx-10.6-universal/egg/appscript/reference.py",
line 275, in pack
  File "build/bdist.macosx-10.6-universal/egg/aem/aemcodecs.py", line
325, in pack
  File "build/bdist.macosx-10.6-universal/egg/aem/aemcodecs.py", line
290, in packunknown
TypeError: Can't pack data into an AEDesc (unsupported type):
<__main__.Test instance at 0x1007a5cb0>

import appscript

class SuperTest():
   def getProcessHandle(procName="TextEdit"):
      sysEvents = appscript.app("System Events")
      testApp = sysEvents.application_processes[procName]
      return testApp

class Test(SuperTest):
   def setUp(self):
      application = appscript.app("TextEdit")
      application.activate()
      #sysEvents = appscript.app("System Events")
      #self.testApp = sysEvents.application_processes["TextEdit"]
      self.testApp = self.getProcessHandle()
   def testMe(self):
      self.testApp.menu_bars[0].menus["File"].menu_items["Show
Properties"].click()

testClass = Test()
testClass.setUp()
testClass.testMe()

Thanks,
Ben P


More information about the Pythonmac-SIG mailing list