PyICQt 0.8.1

5 views
Skip to first unread message

r000n

unread,
Dec 13, 2008, 7:40:45 AM12/13/08
to py-transports
Hi!
New version of PyICQt released. Added since 0.8:
* secure (md5) authentification
* utf-8 in messages
* delivery reports
* x-status

Download: http://pyicqt.googlecode.com/files/pyicqt-0.8.1.tar.gz

Wiki page for users: http://code.google.com/p/pyicqt/wiki/UserStartPage
Wiki page for admins: http://code.google.com/p/pyicqt/wiki/AdminStartPage

Thanks to all who helped prepare this release

Anton Ageev

unread,
Dec 13, 2008, 2:30:41 PM12/13/08
to py-tra...@googlegroups.com
On Sat, Dec 13, 2008 at 15:40, r000n <r000...@gmail.com> wrote:
> Hi!
> New version of PyICQt released. Added since 0.8:
> * secure (md5) authentification
> * utf-8 in messages
> * delivery reports
> * x-status

I got broken encoding in vCards.

http://code.google.com/p/pyicqt/issues/detail?id=145

--
WBR, Anton

crosser

unread,
Dec 23, 2008, 9:36:07 AM12/23/08
to py-transports
On Dec 13, 3:40 pm, r000n <r000ns...@gmail.com> wrote:
> Hi!
> New version of PyICQt released. Added since 0.8:
>   * secure (md5) authentification
>   * utf-8 in messages

this is probably "not a bug" but...

I switched from 0.8b to 0.8.1-git as of yesterday. I got Cyrillic
encoding problems go away with a couple of my correspondents (one
running native ICQ, one (pathalogical case?) with pidgin). But the
problems that I always had with licq uses became worse. Mind you, most
my correspondents have "windows-1251" set as default encoding, for
compatibility with older clients. I have it too, in the pyicq config,
as "<encoding>windows-1251</encoding>". I did not change this when I
upgraded, I just added "<detectunicode/>". Now, the situation:

Before upgrade (0.8b):
- online communication works fine, transmission is in windows-1251.
- when I get offline message (sent from licq correspondent when I was
offline), the message is unrecognisable ascii characters (no bytes
with high order bit set).

After upgrade (0.8.1-git):
- when online, licq peers need to manually configure "utf-8" as both
sedning and receiving encoding, otherwise I or they cannot read the
text. They complain because this is a special case for them
(windows-1251 setting works for them with all other clients).
- when they send me a message when I am offline, and they have "utf-8"
configured for me, I get an unreadable test, that I need to pass to
"iconv -t utf16" to get readable utf-8 text. Note that this is *NOT*
"iconv -f utf16", but "iconv -t utf-16", so we have a case of
"reverse" encoding, apparently.

Not sure if this can or needs to be fixed, but I thought I'd report it
anyway.

Thanks,

Eugene

Anton Ageev

unread,
Dec 25, 2008, 3:15:11 AM12/25/08
to py-tra...@googlegroups.com
> After upgrade (0.8.1-git):

> - when they send me a message when I am offline, and they have "utf-8"
> configured for me, I get an unreadable test, that I need to pass to
> "iconv -t utf16" to get readable utf-8 text. Note that this is *NOT*
> "iconv -f utf16", but "iconv -t utf-16", so we have a case of
> "reverse" encoding, apparently.

I have troubles with offline messages encoding too.

--
WBR, Anton

r000n

unread,
Dec 25, 2008, 5:14:14 AM12/25/08
to py-transports
With which clients?

Anton Ageev

unread,
Dec 25, 2008, 8:29:43 AM12/25/08
to py-tra...@googlegroups.com
On Thu, Dec 25, 2008 at 13:14, r000n <r000...@gmail.com> wrote:
> With which clients?

&RQ and Miranda 0.5 Unicode.

--
WBR, Anton

daemon.pnz

unread,
Dec 27, 2008, 3:34:53 AM12/27/08
to py-transports
On Dec 25, 1:14 pm, r000n <r000ns...@gmail.com> wrote:
> With which clients?

Jimm (clients for mobile phone)

r000n

unread,
Dec 27, 2008, 8:33:52 AM12/27/08
to py-transports
You tried latest pre-release version (http://py-
transports.googlegroups.com/web/pyicqt-0.8.1-git.tar.gz)?
Problems on sending from transport to client or reverse?

Anton Ageev

unread,
Dec 28, 2008, 3:48:15 AM12/28/08
to py-tra...@googlegroups.com

I'm on pyicqt-0.8.1-git.tar.gz. Problem is on sending from client to
transport but only for offline messages.

--
WBR, Anton

r000n

unread,
Dec 28, 2008, 5:26:09 AM12/28/08
to py-transports


On Dec 28, 11:48 am, "Anton Ageev" <ant...@gmail.com> wrote:
> I'm on pyicqt-0.8.1-git.tar.gz. Problem is on sending from client to
> transport but only for offline messages.
Option for unicode detection enabled? (<detectunicode>1</
detectunicode> in config)

Anton Ageev

unread,
Dec 28, 2008, 8:08:04 AM12/28/08
to py-tra...@googlegroups.com
On Sun, Dec 28, 2008 at 13:26, r000n <r000...@gmail.com> wrote:
> Option for unicode detection enabled? (<detectunicode>1</
> detectunicode> in config)

Yes, detectunicode is 1 in config.xml. Broken offline messages look
like the following:
[quote]
[15:59:29] летающий_блюдец/icq: 퇰
[15:59:45] летающий_блюдец/icq: Обычно в рамках фокус-группы стараются
рассматривать не более 10 ?основных вопросов
[15:59:45] летающий_блюдец/icq: 퓮㌠ⴠ⃯⃫⃨㿬
[15:59:45] летающий_блюдец/icq: Бинауральные ритмы — артефакт работы
головного мозга, воображаемые звуки, которые мозг воспринимает
(«слышит»), хотя реальные звуки отсутствуют.
[15:59:45] летающий_блюдец/icq: ⃲
[15:59:45] летающий_блюдец/icq: ⃭
[/quote]

Some messages are ok, but another is broken.
If you can not see unicode symbols, screenshot is here:
http://img166.imageshack.us/img166/3477/1111yt4.png

--
WBR, Anton

r000n

unread,
Dec 29, 2008, 5:35:44 AM12/29/08
to py-transports


On Dec 28, 4:08 pm, "Anton Ageev" <ant...@gmail.com> wrote:
> On Sun, Dec 28, 2008 at 13:26, r000n <r000ns...@gmail.com> wrote:
> > Option for unicode detection enabled? (<detectunicode>1</
> > detectunicode> in config)
>
> Yes, detectunicode is 1 in config.xml.

Hi.
I'm converted these unreadable messages and compared with normal from
your quote.
Per message detection works very well, for all messages from list no
false detection.
After sending QIP -> transport all messages recognized correctly.
It's if option enabled.
If it's disabled a see exact picture as you provided - first message
is garbage, second - proper cyrillic etc.
And I'm understand what confusion in config file here. PyICQt uses XML
for storing of parameters and commented parameter (with <!-- -->)
will ignored!.
Probably you just copied config_example.xml. detect_unicode in it
commented - was disabled by default.
Instead of
<!-- <detectunicode>0</detectunicode> -->
necessary write
<detectunicode>1</detectunicode>
I should uncomment it in config_example because integer value already
can be used :)
Sorry for mistake, Anton. Tarball reauploaded

Anton Ageev

unread,
Dec 29, 2008, 12:42:19 PM12/29/08
to py-tra...@googlegroups.com
On Mon, Dec 29, 2008 at 13:35, r000n <r000...@gmail.com> wrote:
> Probably you just copied config_example.xml. detect_unicode in it
> commented - was disabled by default.
> Instead of
> <!-- <detectunicode>0</detectunicode> -->
> necessary write
> <detectunicode>1</detectunicode>
> I should uncomment it in config_example because integer value already
> can be used :)
> Sorry for mistake, Anton. Tarball reauploaded

It's my fault. I used outdated tarball. I cloned git repo and offline
messages are ok now.
Thanks for your work!

--
WBR, Anton

r000n

unread,
Jan 16, 2009, 2:31:05 AM1/16/09
to py-transports


On Dec 13 2008, 3:40 pm, r000n <r000ns...@gmail.com> wrote:
> Hi!
> New version of PyICQt released. Added since 0.8:
>   * secure (md5) authentification
>   * utf-8 in messages
>   * delivery reports
>   * x-status

Changes in 0.8.1.1.
* Fixed vCards displaing
* Better understanding of incoming offline messages
* Possibility detect encoding for nicknames
* Option for setting encoding for outgoing offline messages
* Other small fixes

Option in config:
<detectunicode>x</detectunicode>
Where x is unicode detection level and can be 0/1/2 (disabled /
detection for offline messages / detection for offline messages and
nicknames)

Option in Ad-Hoc:
Settings -> Message settings -> Encoding for outgoing offline messages
Can be local/Unicode/auto (selected in config.xml / Unicode /
autodetect)

Download: http://pyicqt.googlecode.com/files/pyicqt-0.8.1.1.tar.gz

r000n

unread,
Feb 20, 2009, 7:38:21 AM2/20/09
to py-transports
0.8.1.3
New feature: admin can edit Ad-Hoc defaults for users in config.xml
http://pyicqt.googlecode.com/files/pyicqt-0.8.1.3.tar.gz

Renato Botelho

unread,
Mar 2, 2009, 6:51:22 AM3/2/09
to py-tra...@googlegroups.com
On Fri, Feb 20, 2009 at 9:38 AM, r000n <r000...@gmail.com> wrote:
> 0.8.1.3
> New feature: admin can edit Ad-Hoc defaults for users in config.xml
> http://pyicqt.googlecode.com/files/pyicqt-0.8.1.3.tar.gz

After update FreeBSD ports to 0.8.1.3 I recieve an email from a user
reporting following problems:

--------------------------------------------------------
Hi.

After update i cant discovery transport via ejabberd.


#uname -a
FreeBSD skuns 7.1-RELEASE FreeBSD 7.1-RELEASE #0

#pkg_info|grep jabber
ejabberd-1.1.4_2 Free and Open Source distributed fault-tolerant Jabber serv
jabber-pyicq-transport-0.8.1.3,1 Python ICQ-Transport for Jabber


#sockstat|grep 5347
ejabberd python2.5 43897 3 tcp4 127.0.0.1:63875 127.0.0.1:5347
ejabberd beam 7970 22 tcp4 127.0.0.1:5347 *:*
ejabberd beam 7970 25 tcp4 127.0.0.1:5347 127.0.0.1:63875


#/usr/local/etc/rc.d/jabber-pyicq-transport restart
Stopping jabber_pyicq.
Waiting for PIDS: 43897, 43897.
Starting jabber_pyicq.
Adding Ad-Hoc defaults for user: xstatus_receiving_mode with value 0
Adding Ad-Hoc defaults for user: xstatus_sending_mode with value 0
Adding Ad-Hoc defaults for user: xstatus_saving_enabled with value 1
Adding Ad-Hoc defaults for user: xstatus_option_smooth with value 1
Adding Ad-Hoc defaults for user: xstatus_display_icon_as_PEP with value 1
Adding Ad-Hoc defaults for user: xstatus_display_text_as_PEP with value 1
Adding Ad-Hoc defaults for user: xstatus_icon_for_transport with value 0
Adding Ad-Hoc defaults for user: away_messages_receiving with value 1
Adding Ad-Hoc defaults for user: away_messages_sending with value 1
Adding Ad-Hoc defaults for user: clist_show_phantombuddies with value 0
Adding Ad-Hoc defaults for user: clist_deny_all_auth_requests with value 0
Adding Ad-Hoc defaults for user: utf8_messages_sendmode with value 2
Adding Ad-Hoc defaults for user: offline_messages_sendenc with value 2
Adding Ad-Hoc defaults for user: msgconfirm_sendmode with value 2
Adding Ad-Hoc defaults for user: msgconfirm_recvmode with value 1
Adding Ad-Hoc defaults for user: user_mood_receiving with value 1
Adding Ad-Hoc defaults for user: user_activity_receiving with value 1
Adding Ad-Hoc defaults for user: user_mood_receiving with value 1
#

On jabber-pyicq-transport-0.8.1.1,1 Python ICQ-Transport for Jabber
work fine!
--------------------------------------------------------

Do you have any idea what could be happening?
--
Renato Botelho

r000n

unread,
Mar 2, 2009, 9:21:59 AM3/2/09
to py-transports


On Mar 2, 11:51 am, Renato Botelho <rbga...@gmail.com> wrote:
Oh, transport parses config file and shows info messages about local
preferences to stdout.
Necessary send them to log http://groups.google.com/group/py-transports/web/less_noise.diff
Thanks for report!

Renato Botelho

unread,
Mar 2, 2009, 12:00:55 PM3/2/09
to py-tra...@googlegroups.com, al...@ulgsm.ru

OK, but what about the guy say "After update i cant discovery
transport via ejabberd" ?

Do you think this is related with this extra-verbose problem?

Thanks
--
Renato Botelho

Vishal

unread,
Mar 4, 2009, 4:13:27 AM3/4/09
to py-transports
Hi r000n

Got the latest version running on windows environment. transport works
fine but i get the following errors

Unhandled error in Deferred:
Traceback (most recent call last):
File "c:\pyaim-t-0.8a\src\tlib\oscar.py", line 663, in dataReceived
state=func(flap)
File "c:\pyaim-t-0.8a\src\tlib\oscar.py", line 790, in oscar_Data
d.callback(snac)
File "C:\Python25\lib\site-packages\twisted\internet\defer.py", line
242, in c
allback
self._startRunCallbacks(result)
File "C:\Python25\lib\site-packages\twisted\internet\defer.py", line
307, in _
startRunCallbacks
self._runCallbacks()
--- <exception caught here> ---
File "C:\Python25\lib\site-packages\twisted\internet\defer.py", line
323, in _
runCallbacks
self.result = callback(self.result, *args, **kw)
File "c:\pyaim-t-0.8a\src\legacy\icqt.py", line 775, in gotBuddyList
self.requestOffline()
File "c:\pyaim-t-0.8a\src\tlib\oscar.py", line 3315, in
requestOffline
reqdata = '\x08\x00'+struct.pack("<I",int(self.username))+'\x3c
\x00\x02\x00'

exceptions.ValueError: invalid literal for int() with base 10:
'tester2'
Unhandled error in Deferred:
Traceback (most recent call last):
File "c:\pyaim-t-0.8a\src\tlib\oscar.py", line 663, in dataReceived
state=func(flap)
File "c:\pyaim-t-0.8a\src\tlib\oscar.py", line 790, in oscar_Data
d.callback(snac)
File "C:\Python25\lib\site-packages\twisted\internet\defer.py", line
242, in c
allback
self._startRunCallbacks(result)
File "C:\Python25\lib\site-packages\twisted\internet\defer.py", line
307, in _
startRunCallbacks
self._runCallbacks()
--- <exception caught here> ---
File "C:\Python25\lib\site-packages\twisted\internet\defer.py", line
323, in _
runCallbacks
self.result = callback(self.result, *args, **kw)
File "c:\pyaim-t-0.8a\src\legacy\icqt.py", line 775, in gotBuddyList
self.requestOffline()
File "c:\pyaim-t-0.8a\src\tlib\oscar.py", line 3315, in
requestOffline
reqdata = '\x08\x00'+struct.pack("<I",int(self.username))+'\x3c
\x00\x02\x00'

exceptions.ValueError: invalid literal for int() with base 10:
'tester1'

Can you kindly suggest what the error is about and how to resolve
this?

Thanks a lot

Vishal
> Thanks for report!- Hide quoted text -
>
> - Show quoted text -

r000n

unread,
Mar 4, 2009, 8:21:01 AM3/4/09
to py-transports
PyAIMt don't supports offline messages receiving.

Vishal

unread,
Mar 4, 2009, 9:04:34 AM3/4/09
to py-transports
Hi r00n

Thanks for the inputs. Appreciate it. Am using PyICQ latest version. I
just dumped the latest pyicq version in the pyaim folder. Does pyicq
latest version of yours support offline messages?

Couple of more logs are created as follows. Would highly appreciate
your feedback

methodwrapper(*args, **kwargs)
File "C:\Python25\Lib\site-packages\twisted\words\xish\utility.py",
line 26, i
n __call__
self.method(*nargs, **nkwargs)
File "c:\pyaim-t-0.8a\src\iq.py", line 80, in onIq
handler(el)
File "c:\pyaim-t-0.8a\src\services\VCardFactory.py", line 89, in
incomingIq
c.fillvCard(vCard, to).addCallback(self.gotvCardResponse, iq,
filter)
File "c:\pyaim-t-0.8a\src\contact.py", line 234, in fillvCard
return self.contactList.session.legacycon.jabberVCardRequest
(vCard, user)
File "c:\pyaim-t-0.8a\src\legacy\glue.py", line 352, in
jabberVCardRequest
return self.getvCard(vcard, user)
File "c:\pyaim-t-0.8a\src\legacy\glue.py", line 500, in getvCard
self.bos.getMetaInfo(user, self.userinfoID) #.addCallback
(self.gotvCard, use
r, vcard, d)
File "c:\pyaim-t-0.8a\src\tlib\oscar.py", line 3292, in getMetaInfo
reqdata = struct.pack("<I",int(self.username))+'\xd0\x07'+
struct.pack("<H",
id) +'\xb2\x04'+struct.pack("<I",int(user))


state=func(flap)
File "c:\pyaim-t-0.8a\src\tlib\oscar.py", line 790, in oscar_Data
d.callback(snac)
File "C:\Python25\lib\site-packages\twisted\internet\defer.py", line
242, in c
allback
self._startRunCallbacks(result)
File "C:\Python25\lib\site-packages\twisted\internet\defer.py", line
307, in _
startRunCallbacks
self._runCallbacks()
--- <exception caught here> ---
File "C:\Python25\lib\site-packages\twisted\internet\defer.py", line
323, in _
runCallbacks
self.result = callback(self.result, *args, **kw)
File "c:\pyaim-t-0.8a\src\legacy\icqt.py", line 775, in gotBuddyList
self.requestOffline()
File "c:\pyaim-t-0.8a\src\tlib\oscar.py", line 3315, in
requestOffline
reqdata = '\x08\x00'+struct.pack("<I",int(self.username))+'\x3c
\x00\x02\x00'



File "C:\Python25\Lib\site-packages\twisted\words\xish\domish.py",
line 780, i
n _onEndElement
self.ElementEvent(self.currElem)
File "C:\Python25\Lib\site-packages\twisted\words\xish
\xmlstream.py", line 106
, in onElement
self.dispatch(element)
File "C:\Python25\Lib\site-packages\twisted\words\xish\utility.py",
line 302,
in dispatch
callbacklist.callback(obj)
--- <exception caught here> ---
File "C:\Python25\Lib\site-packages\twisted\words\xish\utility.py",
line 101,
in callback
methodwrapper(*args, **kwargs)
File "C:\Python25\Lib\site-packages\twisted\words\xish\utility.py",
line 26, i
n __call__
self.method(*nargs, **nkwargs)
File "c:\pyaim-t-0.8a\src\iq.py", line 80, in onIq
handler(el)
File "c:\pyaim-t-0.8a\src\services\VCardFactory.py", line 89, in
incomingIq
c.fillvCard(vCard, to).addCallback(self.gotvCardResponse, iq,
filter)
File "c:\pyaim-t-0.8a\src\contact.py", line 234, in fillvCard
return self.contactList.session.legacycon.jabberVCardRequest
(vCard, user)
File "c:\pyaim-t-0.8a\src\legacy\glue.py", line 352, in
jabberVCardRequest
return self.getvCard(vcard, user)
File "c:\pyaim-t-0.8a\src\legacy\glue.py", line 500, in getvCard
self.bos.getMetaInfo(user, self.userinfoID) #.addCallback
(self.gotvCard, use
r, vcard, d)
File "c:\pyaim-t-0.8a\src\tlib\oscar.py", line 3292, in getMetaInfo
reqdata = struct.pack("<I",int(self.username))+'\xd0\x07'+
struct.pack("<H",
id) +'\xb2\x04'+struct.pack("<I",int(user))



File "C:\Python25\Lib\site-packages\twisted\words\xish\domish.py",
line 780, i
n _onEndElement
self.ElementEvent(self.currElem)
File "C:\Python25\Lib\site-packages\twisted\words\xish
\xmlstream.py", line 106
, in onElement
self.dispatch(element)
File "C:\Python25\Lib\site-packages\twisted\words\xish\utility.py",
line 302,
in dispatch
callbacklist.callback(obj)
--- <exception caught here> ---
File "C:\Python25\Lib\site-packages\twisted\words\xish\utility.py",
line 101,
in callback
methodwrapper(*args, **kwargs)
File "C:\Python25\Lib\site-packages\twisted\words\xish\utility.py",
line 26, i
n __call__
self.method(*nargs, **nkwargs)
File "c:\pyaim-t-0.8a\src\iq.py", line 80, in onIq
handler(el)
File "c:\pyaim-t-0.8a\src\services\VCardFactory.py", line 89, in
incomingIq
c.fillvCard(vCard, to).addCallback(self.gotvCardResponse, iq,
filter)
File "c:\pyaim-t-0.8a\src\contact.py", line 234, in fillvCard
return self.contactList.session.legacycon.jabberVCardRequest
(vCard, user)
File "c:\pyaim-t-0.8a\src\legacy\glue.py", line 352, in
jabberVCardRequest
return self.getvCard(vcard, user)
File "c:\pyaim-t-0.8a\src\legacy\glue.py", line 500, in getvCard
self.bos.getMetaInfo(user, self.userinfoID) #.addCallback
(self.gotvCard, use
r, vcard, d)
File "c:\pyaim-t-0.8a\src\tlib\oscar.py", line 3292, in getMetaInfo
reqdata = struct.pack("<I",int(self.username))+'\xd0\x07'+
struct.pack("<H",
id) +'\xb2\x04'+struct.pack("<I",int(user))
Thanks
Vishal
> PyAIMt don't supports offline messages receiving.- Hide quoted text -

r000n

unread,
Mar 8, 2009, 2:45:29 PM3/8/09
to py-transports


On Mar 4, 5:04 pm, Vishal <sms...@gmail.com> wrote:
>Does pyicq latest version of yours support offline messages?
Yes, but only for ICQ numbers. Problem not in PyAIMt/PyICQt difference
here - both use almost identical modifications of the OSCAR library.
This library was written more than 3 years ago, support for offline
messages emerges in AIM later.
And even for ICQ this way for offline messages receiving works not
very well (therefore we have problems with encoding)
With AIM screenname and Py-transports you can't use offline messages
Reply all
Reply to author
Forward
0 new messages