FAQ

Kevin Walzer a ?crit :
I'm trying to make use of a Python library, aemreceive, that provides a
procedural API. (aemreceive is a library for Python on the Mac that
allows the application to receive and respond to Apple Events.)

My Python apps basically run in a single fooApp class, and everything
runs inside the class. To launch the app (my apps are Tkinter-based), I
use something like this:

if __name__== '__main__':
app = fooApp(None)
app.mainloop()

In keeping with aemreceive's procedural API, I've added a runCommand
function inside the app class to provide some basic functionality in
response to Apple Events it will set some objects/variables, then
display the output in the app. In my code it looks like this:

def runCommand(string):
self.searchterm=string
self.servertree.selection_set('Default')
self.getInfo()

When I test this command, I get an error from Python: "self" is not
defined. Indeed.
I think I understand what is going here. All of the other functions in
the fooApp class take "self" as a parameter, i.e. they are components of
the class.
It actually works the other way round : it's because they are
"components" (we prefer to say "attributes") of the class that they take
the current instance as first param. FWIW, the following syntaxes are
functionnaly equivalent:

obj = MyClass()
obj.some_method()
MyClass.some_method(obj)
# if some_method is not inherited:
MyClass.__dict__['some_method'](obj)


Anyway:
runCommand is not, so therefore "self" is undefined. My
question is, how can I get the values from the class (self.searchterm,
s/class/instance/ here.

et.al) inside the runCommand function?
The usual way - adds the relevant param:

def runCommand(self, string):
self.searchterm=string
self.servertree.selection_set('Default')
self.getInfo()


The problem is that you don't provide much information about how this
function is actually called.

Search Discussions

Discussion Posts

Previous

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 3 of 3 | next ›
Discussion Overview
grouppython-list @
categoriespython
postedJan 11, '10 at 3:54p
activeJan 11, '10 at 5:05p
posts3
users3
websitepython.org

People

Translate

site design / logo © 2022 Grokbase