Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Git Version | Version Git Python or cairo bug?
The latest stable release is the *3.4.0* : How to install it here.
Note: We just switched from BZR to Git on Github! (only to host the code and your future pull requests)
Git Version | Version Git

Subjects Author Language Messages Last message
[Locked] Python or cairo bug?
Page : 1 2
San Polski 20 fabounet [Read]
17 June 2013 à 14:19

San, Thursday 06 June 2013 à 23:20


Subscription date : 06 June 2013
Messages : 12
Short question:

ERROR:dbus.connection:Unable to set arguments (None, 0) according to signature u'si': <type 'exceptions.TypeError'>: Expected a string or unicode object
ERROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 230, in maybe_handle_message
self._handler(*args, **kwargs)
File "./Pidgin", line 291, in on_buddy_typing_stopped
self.icon.SetEmblem(None, CDApplet.EMBLEM_TOP_LEFT) # remove the emblem at the top left position
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in __call__
**keywords)
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 641, in call_blocking
message.append(signature=signature, *args)
TypeError: Expected a string or unicode object
= czw 06 cze 1366x113


Sometimes: ">>> buddy signed on ( 3912 )"

Is it a python or cairo bug?
I'll provide more info if necessairy.

matttbe, Friday 07 June 2013 à 02:01


Subscription date : 24 January 2009
Messages : 12573
Hello and thank you for this bug report.

Which version of the dock are you using? And what's the version of your Pidgin applet (right click on it / pidgin / handbook or edit)?

San, Friday 07 June 2013 à 09:19


Subscription date : 06 June 2013
Messages : 12
Pidgin v1.0.5

cairo-dock --version
3.2.99.alpha2

fabounet, Friday 07 June 2013 à 17:21


Subscription date : 30 November 2007
Messages : 17118
self.icon.SetEmblem(None, CDApplet.EMBLEM_TOP_LEFT)

I don't see how this line could make an error, it's quite trivial

does it happen on other events in Pidgin or just when someone logs in ?
does the applet work correctly except for that ?

San, Friday 07 June 2013 à 18:16


Subscription date : 06 June 2013
Messages : 12
With Pidgin-plugin disabled it seems to work fine.
But i have no icon in cairo now!

I use notification area plugin and there is only bluetooth and network applets.
There is no pidgin, parcellite or sonata icon.

matttbe, Friday 07 June 2013 à 19:56


Subscription date : 24 January 2009
Messages : 12573
fabounet :
self.icon.SetEmblem(None, CDApplet.EMBLEM_TOP_LEFT)

I don't see how this line could make an error, it's quite trivial?
No, there is an error. An empty string should be "" but None is not of type 'str' or 'unicode'

It should be fixed on BZR!

@San: can you edit this file ~/.config/cairo-dock/third-party/Pidgin/Pidgin and replace this line:
self.icon.SetEmblem(NoneCDApplet.EMBLEM_TOP_LEFT)  # remove the emblem at the top left position
by this one
self.icon.SetEmblem(""CDApplet.EMBLEM_TOP_LEFT)  # remove the emblem at the top left position
None => ""
Then can you re-launch this applet and confirm if this bug is fixed?

San, Sunday 09 June 2013 à 11:41


Subscription date : 06 June 2013
Messages : 12
Yup!

It seems to help, but nuw there is another problem:

ERROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 230, in maybe_handle_message
self._handler(*args, **kwargs)
File "./Pidgin", line 259, in on_conversation_updated
self.update_nb_unread_msg()
File "./Pidgin", line 130, in update_nb_unread_msg
n = self.get_nb_unread_msg()
File "./Pidgin", line 115, in get_nb_unread_msg
count = self.purple.PurpleConversationGetData(conv, "unseen-count")
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in __call__
**keywords)
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "PurpleConversationGetData" with signature "is" on interface "im.pidgin.purple.PurpleInterface" doesn't exist


I belive, cairo is not laggy now.

Thanks, anyway!

San, Monday 10 June 2013 à 14:43


Subscription date : 06 June 2013
Messages : 12
I made an update, but before I restarted cairo I suspent pc.
After wake up I got:

ERROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 230, in maybe_handle_message
self._handler(*args, **kwargs)
File "./Pidgin", line 318, in on_signing_on
self.icon.Animate('pulse',60)
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in __call__
**keywords)
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
^CTraceback (most recent call last):
File "/usr/bin/jupiter", line 610, in <module>
main()
File "/usr/bin/jupiter", line 605, in main
gtk.main()
KeyboardInterrupt


...and had to, as You can see, kill cairo.

After restart i get:
Cairo-Dock - Launcher API Daemon is already running (2306)
IndicatorObject class does not have an accessible description.
cairo_dock_set_image_on_icon (/home/san/.config/cairo-dock/third-party/Pidgin/icon)
cairo_dock_set_image_on_icon (/usr/share/cairo-dock/plug-ins/Status-Notifier/icon.png)
gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
on_name_owner_changed: :1.16
cairo_dock_set_image_on_icon (/home/san/.config/cairo-dock/third-party/Pidgin/themes/iBubble/Online.png)
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 604, in msg_reply_handler
reply_handler(*message.get_args_list(**get_args_opts))
File "./Pidgin", line 104, in on_name_owner_changed
self.update_nb_unread_msg()
File "./Pidgin", line 130, in update_nb_unread_msg
n = self.get_nb_unread_msg()
File "./Pidgin", line 115, in get_nb_unread_msg
count = self.purple.PurpleConversationGetData(conv, "unseen-count")
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in __call__
**keywords)
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "PurpleConversationGetData" with signature "is" on interface "im.pidgin.purple.PurpleInterface" doesn't exist


and

ERROR:dbus.connection:Exception in handler for D-Bus signal:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 230, in maybe_handle_message
self._handler(*args, **kwargs)
File "./Pidgin", line 259, in on_conversation_updated
self.update_nb_unread_msg()
File "./Pidgin", line 130, in update_nb_unread_msg
n = self.get_nb_unread_msg()
File "./Pidgin", line 115, in get_nb_unread_msg
count = self.purple.PurpleConversationGetData(conv, "unseen-count")
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in __call__
**keywords)
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "PurpleConversationGetData" with signature "is" on interface "im.pidgin.purple.PurpleInterface" doesn't exist


I am trying to read those errors to figure out what the problem is, but i do not feel lucky.
I changed pidgin's icon to blue buble, as I prefer original pidgin icon than green duck

Regards!

edit.
aw, some of this errors might be corresponding to thunar total-lag after suspending.

fabounet, Monday 10 June 2013 à 17:08


Subscription date : 30 November 2007
Messages : 17118
Method "PurpleConversationGetData" with signature "is" on interface "im.pidgin.purple.PurpleInterface" doesn't exist

seems like the Pidgin API has changed

matttbe, Monday 10 June 2013 à 17:48


Subscription date : 24 January 2009
Messages : 12573
Yes as we can see there: https://developer.pidgin.im/ticket/13542
It seems this method is no longer available. Should we add a 'try/catch'?

San, Monday 10 June 2013 à 21:15


Subscription date : 06 June 2013
Messages : 12
Can I help?

matttbe, Tuesday 11 June 2013 à 00:57


Subscription date : 24 January 2009
Messages : 12573
If you are able to code in Python, yes
PurpleConversationGetData method is no longer available. A counter should replaced this method.

If not, you can apply this patch to disable 'unseen' message feature if PurpleConversationGetData is not available:
=== modified file 'Pidgin/Pidgin'
--- Pidgin/Pidgin    2013-06-07 17:54:09 +0000
+++ Pidgin/Pidgin    2013-06-10 22:53:12 +0000
@@ -119,+119,12 @@
         
convs self.purple.PurpleGetConversations()  # PurpleGetIms, PurpleGetChats
         
for conv in convs:
             if 
conv != exception:
-                
count self.purple.PurpleConversationGetData(conv"unseen-count")
-                if 
count and count 0:
-                    
+= count
+                try:
+                    
count self.purple.PurpleConversationGetData(conv"unseen-count")
+                    if 
count and count 0:
+                        
+= count
+                except:
+                    
pass
         
return n
     
     def set_nb_unread_msg
(self,n):



=> Edit this file: ~/.config/cairo-dock/third-party/Pidgin/Pidgin and replace these lines:
                count self.purple.PurpleConversationGetData(conv"unseen-count")
                if 
count and count 0:
                    
+= count
by
                try:
                    
count self.purple.PurpleConversationGetData(conv"unseen-count")
                    if 
count and count 0:
                        
+= count
                except
:
                    
pass
(indentations with tabulations are important!)

San, Tuesday 11 June 2013 à 01:41


Subscription date : 06 June 2013
Messages : 12
Nope, only languages I know (a bit) is C++ and PHP.
Python? Maybe some day...

It seems to work fine now, thanks. I'll test it for lags problem.

BTW Pidgin. When I close Pidgin's buddylist I can not take it back by Pidgin's applet.
Can You fix it?

Best Regards!

matttbe, Tuesday 11 June 2013 à 02:11


Subscription date : 24 January 2009
Messages : 12573
BTW Pidgin. When I close Pidgin's buddylist I can not take it back by Pidgin's applet.
Which messages do you have in your terminal when closing and re-opening Pidgin?

San, Tuesday 11 June 2013 à 08:46


Subscription date : 06 June 2013
Messages : 12
No messages.
Only when I close conversations and hit Pidgins applet it tries to reopen application but it is already opened, so it reopens buddylist.

fabounet, Tuesday 11 June 2013 à 17:45


Subscription date : 30 November 2007
Messages : 17118
Should we add a 'try/catch'?

at the minimum, but we need to update to the new API, otherwise the message count will never be correct

Edit: am I dreaming or is there no replacement for this function ?

San, Tuesday 11 June 2013 à 18:52


Subscription date : 06 June 2013
Messages : 12
https://developer.pidgin.im/wiki/DbusHowto#Listeningtosignals maybe?

matttbe, Tuesday 11 June 2013 à 19:10


Subscription date : 24 January 2009
Messages : 12573
Edit: am I dreaming or is there no replacement for this function ?
No... And a patch has been proposed 7 months ago: https://developer.pidgin.im/ticket/13542#comment:11

San, Tuesday 11 June 2013 à 20:15


Subscription date : 06 June 2013
Messages : 12
But patch is for Pidgin...

matttbe, Wednesday 12 June 2013 à 01:31


Subscription date : 24 January 2009
Messages : 12573
Yes... The problem here is that Pidgin devs have removed a method... and nothing to replace it... Not so great.

Git Version | Version Git

Subjects Author Language Messages Last message
[Locked] Python or cairo bug?
Page : 1 2
San Polski 20 fabounet [Read]
17 June 2013 à 14:19


Glx-Dock / Cairo-Dock List of forums Git Version | Version Git Python or cairo bug? Top

Online users :

Powered by ElementSpeak © 2007 Adrien Pilleboue, 2009-2013 Matthieu Baerts.
Dock based on CSS Dock Menu (Ndesign) with jQuery. Icons by zgegball
Cairo-Dock is a free software under GNU-GPL3 licence. First stable version created by Fabounet.
Many thanks to TuxFamily for the web Hosting and Mav for the domain name.