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 python user.py
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.
-- DaveA -- http://mail.python.org/mailman/listinfo/python-list