Issue 151: pyicq-t-0.8.1 fails with legacyjit xdb driver
Status:  Fixed
Owner: ----
Closed:  Feb 2009
Reported by hoffi...@gmail.com, Jan 4, 2009
What steps will reproduce the problem?
- Try to use pyicq-t-0.8.1 with the legacyjit xdb driver backend

pyicq-t will silently fail to show up as online for any registrated client
and is as such unusuable.
A traceback gets lost somewhere in the dark, it does not end up in the log
and is not shown via Jabber either. strace reveals it:

[...]
exceptions.AttributeError: XDB instance has no attribute 'getCSettingList'
(full traceback is in attached file)

So the reason for it seems to be that some new code uses the functions
getCSettingList, getCSetting and setCSetting, which have been implemented
for at least mysql und xml backends, but not for legacyjit.
I've added dummy implementations (same as for the other *Setting functions
as well) and it works now. This only fixes legacyjit, other backends
probably fail the same way.
See attached patch.

pyicqt-0.8.1-legacyjit-traceback.log
1.9 KB   View   Download
pyicqt-0.8.1-legacyjit-compat.patch
1006 bytes   View   Download
Jan 5, 2009
Project Member #1 r000ns...@gmail.com
Hi!
legacyJIT stores data in same format as JIT. It necessary only for migration. It not
supports all xmlfiles's features. Don't use it always when it's possible.
It's no kind of bug. This driver non-native for PyICQt and we don't should break
internal structure of JIT's spool
Status: WontFix
Jan 11, 2009
#2 hoffi...@gmail.com
I don't quite understand your decision here. What I do understand is that the legacy
JIT format cannot support all new features, and I'm not demanding that either. I just
wished that I could keep using the legacy jit format and that it does not break my
whole setup in a minor version update, that's why I came up with the patch.

Also, a similar case (getSetting, setSetting, setSettingList) is not supported by the
format either, but there are dummy functions in place as well to avoid breakage, so I
don't understand why you refuse to add these dummies for getCSetting* functions.

That's why I'd kindly ask you to rethink your decision.
Jan 12, 2009
Project Member #3 r000ns...@gmail.com
Ok. I will add dummy functions to legacyjit backend and to other too
Status: Accepted
Jan 20, 2009
#4 hoffi...@gmail.com
This has been fixed in 0.8.1.1, right? At least the code looks like it and it started
working for me again without patching around. :)

So thanks for fixing that. ;)
Feb 12, 2009
Project Member #5 r000ns...@gmail.com
(No comment was entered for this change.)
Status: Fixed