Fixed Account protocol parameter typo.
[python-purple] / buddy.pyx
1 #
2 #  Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia
3 #
4 #  This file is part of python-purple.
5 #
6 #  python-purple is free software: you can redistribute it and/or modify
7 #  it under the terms of the GNU General Public License as published by
8 #  the Free Software Foundation, either version 3 of the License, or
9 #  (at your option) any later version.
10 #
11 #  python-purple is distributed in the hope that it will be useful,
12 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 #  GNU General Public License for more details.
15 #
16 #  You should have received a copy of the GNU General Public License
17 #  along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 #
19
20 cimport purple
21
22 cdef class Buddy:
23     """ Buddy class """
24     cdef blist.PurpleBuddy *c_buddy
25     cdef Account __acc
26
27     def __init__(self):
28         self.c_buddy = NULL
29
30     def __get_account(self):
31         return self.__acc
32     def __set_account(self, acc):
33         self.__acc = acc
34     account = property(__get_account, __set_account)
35
36     def __get_alias(self):
37         if self.c_buddy:
38             return <char *>blist.purple_buddy_get_alias_only(self.c_buddy)
39         else:
40             return None
41     alias = property(__get_alias)
42
43     def __get_name(self):
44         if self.c_buddy:
45             return <char *>blist.purple_buddy_get_name(self.c_buddy)
46         else:
47             return None
48     name = property(__get_name)
49
50     """
51     def __get_online(self): # FIXME
52         name = self.name
53         self.c_buddy = blist.purple_find_buddy(self.__acc.c_account, name)
54         return status.purple_presence_is_online(blist.purple_buddy_get_presence(self.c_buddy))
55     online = property(__get_online)
56     """
57
58     def new_buddy(self, acc, name, alias):
59         self.__acc = acc
60         cdef char *c_name = NULL
61         cdef char *c_alias = NULL
62
63         if name is not None:
64             c_name = name
65
66         if alias is not None:
67             c_alias = alias
68
69         self.c_buddy = blist.purple_buddy_new(<account.PurpleAccount *>\
70                 self.__acc.c_account, c_name, c_alias)