Running external module and accessing the created objects
davea at davea.name
Sat Mar 9 17:12:56 CET 2013
On 03/09/2013 10:34 AM, Kene Meniru wrote:
> OK. Sorry to have caused all the confusion. Let me try this again.
Thank you very much. This is much clearer, though it's not all here.
> To use my program the user needs a script file I will call user.py.
> Functions from my program must be imported into this file with
> something like "from myapp import *".
And does the user run this script by doing
> myapp.py is a module in my program that has all the functions that the
> user needs to describe building components. There is also a main
> controller object that is imported into myapp.py module called app.
> When python parses user.py module,
You presumably mean, "When Python runs the script user.py"
> the functions the user has provided
> creates building components which are then saved in a dictionary
> located in an object called doc that is part of my program.
What program is that? Looks to me like you're writing a series of
modules, a framework perhaps, that is invoked by the user script.
> The user is free to use the functions in myapp.py to describe building
> components. When this process is complete or when the user wants to
> view their work-in-progress, they have to place a function called
> view() on the last line in user.py.
Don't you mean the code in user.py has to *call* the function app.view()
when they're all done with defining the components? That has nothing to
do with being the last line.
> This function currently exports
You mean writes files into the file system?
> the components into POV-Ray or OpenSCAD format. These are CAD programs
> that read script files to render or create images of the described
> artifacts. So this means that to view their work the user needs to run
> python on user.py to export the building and then run POV-Ray or
> OpenSCAD on the exported file to see the building.
At that point, the user.py script has completed, and Python is done, right?
> I want to make it possible for the user to preview the building
> components without having to use the external rendering programs. I
> can currently have the app object provide this preview but it means
> that the user will have to process user.py with python then exit the
> graphic window each time they need to see changes.
What changes are those? You can't change a script while it's executing.
Could you clarify this so I can rethink the following paragraph?
> So the solution I am looking for is to have a graphic window open that
> watches user.py for changes. If there is a change the graphic window
> updates the rendition of the created components without further
> intervention by the user. However this means that the graphic must
> somehow run python to parse user.py and then be able to access the
> objects stored in doc so that the coordinates can be used to update
> the view. This is where I am having difficulty.
> I hope this is clearer.
More information about the Python-list