Introspection, importing and Flash
Vsevolod (Simon) Ilyushchenko
simonf at cshl.edu
Tue Jun 29 09:33:52 EDT 2004
Hi,
Last year I have written a Perl module to serve as a backend to
Macromedia Flash applications: http://www.simonf.com/amfperl
I have just rewritten it in Python, which I have not used before. Thus,
a couple of questions which I was not able to solve with online research:
1. To send an arbitrary object to Flash, I would like to use
introspection to find out the values of all its instance variables. How
can I get their names? I've read about __dict__, __slots__, and
__getattr__, but I am not sure what would be the most universal way to
get all the instance variable names from both old-style and new-style
objects. I would need something like __listattr__, which does not exist.
2. Python class importing works in a rather confusing way. In Perl, I
have a top-level class AMF::Perl, which I "import" once and then create
its instance like this: "new AMF::Perl". The file Perl.pm lives in the
AMF directory.
In Python, the most concise way I found was to have AMFPython.py in the
AMF directory, place __init__.py with "import AMFPython" in the AMF
directory, then say in my top-level script
import AMF
instance = AMF.AMFPython.AMFPython()
Which is rather redundant. I'd like to do something not more complicated
than:
import AMF.AMFPython as AMF
instance = AMF()
but I don't know if it's possible.
Thanks,
Simon
--
Simon (Vsevolod ILyushchenko) simonf at cshl.edu
http://www.simonf.com
Terrorism is a tactic and so to declare war on terrorism
is equivalent to Roosevelt's declaring war on blitzkrieg.
Zbigniew Brzezinski, U.S. national security advisor, 1977-81
More information about the Python-list
mailing list