Many thanks Chris, this was exactly the info I needed. Script completed! Rob
> On 20 Dec 2015, at 19:02, Chris Daley <chebiza...@gmail.com> wrote: > > Hi Rob, > > To try and answer your questions: > > 1. Print should send it's data to Dia's stdout, so if you start Dia from the > command line, you should see the output from your script there. > 2. Afaik there isn't any way to get Dia to reload the scripts as they are > loaded at start up. > > Some tips on debugging Python in regards to Dia and in general that I have > learned over the years: > The easiest way in the long run is to look at using unittest and mock object > to set up some unit tests - you don't have to go the full TDD route, but take > it from me, a few well designed tests now will save a lot of pain later. By > using unittest and mock objects, you can control how your code interacts with > Dia in a deterministic fashion and not have to mess around with manually > testing each possible case. > > With mock object, you can mock all or just part of an existing Python object. > This blog explains Mock object in detail. To really speed things up, I > created a Mock Dia python class which lets you write and test your code > without having to start Dia at all. You can find it here if it's something > you think might help: https://github.com/chebizarro/dia-test. With unittest > and the mock Dia object you should be able to design and code *most* of your > project without leaving your preferred IDE. One caveat is that the Dia Mock > object is not complete, as I only implemented the functionality that I needed > for my project, which seems like it had fairly similar requirements to your > own. You can find that project here if you think it might be useful - > https://github.com/chebizarro/postdia. > > In terms of debugging, I personally can't recommend pudb enough, it's an > interactive command line debugger which you can use with unittest to zero in > on what part of the code is causing the problem. That way you don't need to > pollute your code with print statements and you can examine the internal > state of your objects much more thoroughly. > > I hope that helps and good luck! > Cheers > Chris D > > > 2015-12-20 2:33 GMT-08:00 Rob Wortham <r.h.wort...@gmail.com>: >> I am trying to use Python scripting in Dia to export a hierarchical diagram >> in a specific format. I'm new to Python. I see that codegen.py is almost >> what I need, so I plan to take that as a starting point. Because I'm new to >> Python I'll need to iterate and learn to get this coded. >> >> Just a couple of hopefully straightforward questions ... >> >> 1. Where does print send its data (for debugging)? It does not seem to send >> it to the Dia Python console. Where is stdout? >> 2. How can I get Dia to reload the script as I edit it. At the moment >> changes only seem to take effect if Dia is stopped and restarted. >> >> Rob >> >> -- >> Rob Wortham >> PhD Student, Department of Computer Science >> E: r.h.wort...@bath.ac.uk >> W: www.robwortham.com T:@RobWortham >> >> _______________________________________________ >> dia-list mailing list >> dia-list@gnome.org >> https://mail.gnome.org/mailman/listinfo/dia-list >> FAQ at http://live.gnome.org/Dia/Faq >> Main page at http://live.gnome.org/Dia > > > > -- > Chris Daley > Pacific Northwest > > e: chebiza...@gmail.com > m: +1601 980 1249 > s: chebizarro > tw: chebizarro > tz: PDT > > _______________________________________________ > dia-list mailing list > dia-list@gnome.org > https://mail.gnome.org/mailman/listinfo/dia-list > FAQ at http://live.gnome.org/Dia/Faq > Main page at http://live.gnome.org/Dia >
_______________________________________________ dia-list mailing list dia-list@gnome.org https://mail.gnome.org/mailman/listinfo/dia-list FAQ at http://live.gnome.org/Dia/Faq Main page at http://live.gnome.org/Dia