Introspection, importing and Flash

Vsevolod (Simon) Ilyushchenko simonf at cshl.edu
Tue Jun 29 15:33:52 CEST 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