Hello ! > How far into Python are you? Somewhere in the middle ;-) > It should be pretty easy to write an interpreter for a very simple language > like your last suggestion. You would need to decide how you wanted it to work > (how will you refer to the objects?). Also, you would need to decide how > fancy the environment should be. Yes, that's something to think about. I thought of something like IPython. There is on one hand classical python and it's enriched by magic functions.
An other example for something like a shell is the interface of bacula. It doesn't include a complex language but short commands, a bit too short for my taste. > For instance you could model what you want on IDLE, so there's a prompt, and > various commands defined under it. I think IDLE is written using tkinter. I > don't know what the best way to do GUI's in Python is; there's a Gtk+ > interface that's essentially the same as the c/c++ interface > (http://www.pygtk.org/) (and Glade is supposed to work either with c or with > python). The object/method syntax is fine (a) if you know it, and (b) you > code ways to make Gnucash objects into Python objects I don't yet really understand that. I had a look at IDLE. It has a GUI but it's not ipython. I don't care so much for a GUI, my approach is to have a good console access. But I didn't really get your point yet. > (object.prettyPrint() just calls the prettyPrint method on the value of > object, so you need to define that kind of object with its methods, and set > its data fields to be a Gnucash object). I thought a bit about about the displaying problem. It seems to me that displaying is a task which could go into a seperate module. This module could provide a function for example "display(object)". It would also add a function object.display() to every object it knows. For example a transaction. display(transaction) would then call transaction.display(). I would want to have some preferences which parts of the transaction are printed, maybe a short and a long form. So i would need a way to modify the behaviour of object.display(). I will do some sketches at bugzilla, so maybe it would be easier to understand. It's a basic question. Maybe it's better to ask that in a python mailing-list. Does someone know a better fitting one ? regars, Christoph Holtermann _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel