~wgrant/papyon/master

« back to all changes in this revision

Viewing changes to pymsn/service/Spaces/spaces.py

  • Committer: Ali Sabil
  • Date: 2007-08-26 14:39:42 UTC
  • Revision ID: git-v1:7544026d99efb467c57a427cbc10b30201b9b011
- Merged jprieur's branch

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- coding: utf-8 -*-
 
2
#
 
3
# Copyright (C) 2007 Johann Prieur <johann.prieur@gmail.com>
 
4
#
 
5
# This program is free software; you can redistribute it and/or modify
 
6
# it under the terms of the GNU General Public License as published by
 
7
# the Free Software Foundation; either version 2 of the License, or
 
8
# (at your option) any later version.
 
9
#
 
10
# This program is distributed in the hope that it will be useful,
 
11
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
# GNU General Public License for more details.
 
14
#
 
15
# You should have received a copy of the GNU General Public License
 
16
# along with this program; if not, write to the Free Software
 
17
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
18
#
 
19
 
 
20
import contactcardservice
 
21
import scenario
 
22
 
 
23
from pymsn.service.SOAPUtils import *
 
24
 
 
25
import pymsn.util.ElementTree as ElementTree
 
26
import pymsn.util.StringIO as StringIO
 
27
import gobject
 
28
 
 
29
import logging
 
30
 
 
31
__all__ = ['Spaces']
 
32
 
 
33
class Spaces(gobject.GObject):
 
34
 
 
35
    __gsignals__ = {
 
36
            "contact-card-retreived" : (gobject.SIGNAL_RUN_FIRST,
 
37
                                      gobject.TYPE_NONE,
 
38
                                      (object, object))
 
39
            }
 
40
 
 
41
    __gproperties__ = {}
 
42
    def __init__(self, sso, proxies=None):
 
43
        gobject.GObject.__init__(self)
 
44
 
 
45
        self._ccard = contactcardservice.ContactCardService(sso, proxies)
 
46
 
 
47
    # Public API
 
48
    def get_contact_card(self, contact):
 
49
        ccs = scenario.GetContactCardScenario(self._ccard,
 
50
                                              contact,
 
51
                                              (self.__get_contact_card_cb, contact),
 
52
                                              (self.__get_contact_card_errback,))
 
53
        ccs()
 
54
 
 
55
    def __get_contact_card_cb(self, ccard, contact):
 
56
        print "Contact card retreived : \n%s\n"  % str(ccard)
 
57
        self.emit('contact-card-retreived', contact, ccard)
 
58
 
 
59
    def __get_contact_card_errback(self, error_code, *args):
 
60
        print "The fetching of the contact card returned an error (%s)" % error_code