[PyKDE] KTrader woes?
Jim Bublitz
jbublitz at nwinternet.com
Thu Sep 11 18:53:00 BST 2003
On Thursday September 11 2003 06:54, Sundance wrote:
> > Nah - you got a segfault. Just not a very delicate warning.
> > :)
>
> Yeah. You'd think it would at LEAST have the grace of saying
> something like, "Ooh, something bad happened, sir, I'm gonna
> have to crash, but beforehand I wish to beg you to accept my
> apologies! *blarg*"
>
> This being said -- any remote chance that we could be able to
> install a signal handler, so that we can tell the user,
> "Whoops, something bad happened in method <blah> of class
> <doubleblah>. Did you think of creating a KApplication
> instance before calling this?" or something like that?
Probably not. KDE, as you've found out, only emits SIGSEGV in
this instance, and that doesn't localize the cause. The other
problem stems from the way PyKDE is done - I don't "write"
PyKDE, it writes itself. I'd have to figure out which of 636
classes/9653 methods need this kind of error reporting and how
to create and install the code automatically (otherwise it
becomes a major maintenance nightmare - there's a new KDE about
every 3 months).
Lastly, it's likely to add overhead on *every* call - your
problem was with a static method call for example, not
constructing an object with no KApplication instance running.
> And then there's KApplication itself, where checking that the
> first argument is a non-empty list ought to be relatively
> trivial, no...? Or does the way sip works prevent such checks
> at the Python level?
> Or maybe it's just not worth it at all. I don't know. *g*
At the moment it doesn't appear doable. That could change.
> > Seems pretty difficult - my guess would be the most
> > appropriate route would be a tutorial/better docs/more
> > example programs - that's in the works, but takes a while to
> > accomplish.
> That, and at least a basic knowledge of how to do things, and
> how not to. I suppose the right way to go about this would be
> to define a set of 'typical' apps (I'm thinking, for instance,
> small but potentially useful tools such as a 'universal'
> viewer based on KParts, a RSS newsticker panel applet, maybe a
> Konqueror sidebar plug-in showing info about the selected
> files based on their type, etc) and tutorialize their coding.
What PyKDE has as templates is much lower level than that at the
moment, and probably will remain that way for quite a while. I
do regularly solicit contributions here.
> Does that sound like a good idea? I mean, for the latter two,
> is extending KDE with Python stable enough that it can be done
> at all? I know there were threads this summer about problems
> related to panel applets...
Panel applets are in 3.8rc2, which is on sourceforge now. The
first question on panel applets came up over a year ago, and a
lot of the work on it was done by someone other than me.
At some time in the future, you should be able to write panel
extensions, io slaves, KParts and other similar stuff from PyKDE
as well.
> If at all possible, I think I'll give it a try once I know
> more about PyKDE. It really deserves to be better known!
> > The KDE
> > libs classref docs are pretty good, even if C++ oriented.
> > You find them at http://www.kde.org in the documentation
> > section, along with a lot of tutorial stuff.
> Yeah, I know, I've already started browsing the lot of them.
> Way interesting stuff, and very impressive. KDE is even better
> under the hood than it looks!
I really appreciate the feedback. While at the moment it doesn't
appear there's much that can be done about it realistically,
there are a number of things that got into PyKDE 6 months after
someone brought them up here, just because it became apparent
how to implement the suggestion easily. In fact I'm working on
some stuff related to docs right now that follows from a
discussion here a few weeks ago (and something I've wanted to do
for quite a while before that) - it just became apparent how to
do it easily/automatically within the last week or so.
Jim
More information about the PyQt
mailing list