libpurple/plugins/dbus-buddyicons-example.py

Sat, 27 Aug 2016 18:16:01 -0500

author
Mike Ruprecht <cmaiku@gmail.com>
date
Sat, 27 Aug 2016 18:16:01 -0500
changeset 37959
e76677ed819c
parent 33932
c49bfe98716d
child 37983
7d134a4a87b2
permissions
-rw-r--r--

connection: Add purple_connection_take_error()

This patch adds a purple_connection_take_error() function, which
is functionally equivalent to purple_connection_g_error(), except
that it takes ownership of the passed GError.

This is useful to simplify error handling so that the GError doesn't
have to be freed, or, in the future potentially copied, if it's no
longer needed where it's generated. It can also allow for GErrors
being generated without storing them in a variable. This would be
reasonably common if/when all PurpleConnection errors are passed
in via GError.

13557
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1 #!/usr/bin/env python
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
2 #
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
3 # Print the aliases of buddies who have a buddy-icon set.
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
4 #
16205
397be242f4a4 Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
5 # Purple is the legal property of its developers, whose names are too numerous
13557
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
6 # to list here. Please refer to the COPYRIGHT file distributed with this
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
7 # source distribution.
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
8 #
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
9 # This program is free software; you can redistribute it and/or modify
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
10 # it under the terms of the GNU General Public License as published by
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
11 # the Free Software Foundation; either version 2 of the License, or
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
12 # (at your option) any later version.
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
13 #
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
14 # This program is distributed in the hope that it will be useful,
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
17 # GNU General Public License for more details.
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
18 #
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
19 # You should have received a copy of the GNU General Public License
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
20 # along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16205
diff changeset
21 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
13557
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
22 #
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
23
33932
c49bfe98716d Fix build and other scripts on Python3.
Ashish Gupta <ashmew2@gmail.com>
parents: 19859
diff changeset
24 from __future__ import print_function
13557
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
25 import dbus
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
26
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
27 bus = dbus.SessionBus()
16205
397be242f4a4 Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
28 obj = bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject")
397be242f4a4 Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
29 purple = dbus.Interface(obj, "im.pidgin.purple.PurpleInterface")
13557
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
30
16205
397be242f4a4 Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
31 node = purple.PurpleBlistGetRoot()
13557
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
32 while node != 0:
16205
397be242f4a4 Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
33 if purple.PurpleBlistNodeIsBuddy(node):
397be242f4a4 Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
34 icon = purple.PurpleBuddyGetIcon(node)
13557
d68e9d0cc1b1 [gaim-migrate @ 15934]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
35 if icon != 0:
33932
c49bfe98716d Fix build and other scripts on Python3.
Ashish Gupta <ashmew2@gmail.com>
parents: 19859
diff changeset
36 print(purple.PurpleBuddyGetAlias(node))
16205
397be242f4a4 Trac Ticket #149 from JensenDied
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
37 node = purple.PurpleBlistNodeNext(node, 0)

mercurial