Are you telling us that this does not work?

mymodule = local_import('mymodule')
my_new_class_instance = mymodule.my_class()

It is veyr odd and I do not think this has anything to do with
local_import. Something else is going on.
Anyway, local_import is deprecated. Try

from mymodule import my_class

this should work now even if mymodule is in applications/yourapp/
modules/

On Jun 28, 8:54 am, Robert Clark <robert.cl...@niftybean.com> wrote:
> I can't seem to get local_import() importing classes from module files
> in the same way 'from X import Y' normally works in Python.  Say I
> have the following in mymodule.py
>
> def my_func(arg1):
>     doSomething(arg1)
>
> class my_class(object):
>     __init__(self):
>         ...etc.
>
> my_class_ref = my_class    # Hack explained below
>
> Importing my_func from a controller is fine:
>
> mymodule = local_import('mymodule')
> mymodule.my_func(some_arg)
>
> But how can I get a reference to my_class for instantiation?  Normal
> python importing would allow me to do this:
>
> from mymodule import my_class
> my_instance = my_class()
>
> Some kind of similar syntax for local_import() would be helpful.  My
> current 'Hack' is to add a variable (see "my_class_ref" above).
> local_import allows those to be referenced from the imported module.
> For example this works:
>
> mymodule = local_import('mymodule')
> my_new_class_instance = mymodule.my_class_ref()
>
> Is there something I'm missing?  Any recommendations appreciated.

Reply via email to