home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 February / maximum-cd-2011-02.iso / DiscContents / digsby_setup85.exe / lib / tests / mock / mockbuddy.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-11-24  |  4.6 KB  |  136 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.6)
  3.  
  4. __metaclass__ = type
  5. from util.observe import Observable
  6. from util import Storage
  7. S = Storage
  8. from path import path
  9. import random
  10. from gui import skin
  11. from tests.mock.mockprofiles import MockProfiles
  12. protos = [
  13.     'yahoo',
  14.     'aim',
  15.     'msn',
  16.     'jabber']
  17. status_messages = '\nworking on Digsby\nout for lunch\nhomework\n'.strip().split('\n')
  18. from common import caps
  19. statuses = 'away available idle'.split()
  20.  
  21. class MockProtocol(object):
  22.     
  23.     def __init__(self, protocol):
  24.         self.name = protocol
  25.         self.self_buddy = S(name = 'digsby01')
  26.         self.buddies = {
  27.             'digsby01': self.self_buddy }
  28.  
  29.     
  30.     def get_buddy(self, name):
  31.         return MockBuddy(name)
  32.  
  33.     
  34.     def group_for(self, s):
  35.         return 'group'
  36.  
  37.  
  38.  
  39. class MockBuddy(Observable):
  40.     _renderer = 'Contact'
  41.     icon_path = path('file:///C:/windows/Blue Lace 16.bmp')
  42.     
  43.     def __init__(self, name, status = None, protocol = 'aim', capabilities = None):
  44.         Observable.__init__(self)
  45.         self.remote_alias = self.name = name
  46.         self.mockprofile = getattr(MockProfiles, name, '')
  47.         self.buddy = Storage()
  48.         self.buddy.name = name
  49.         self.buddy.nice_name = name
  50.         self.buddy.profile = self.mockprofile
  51.         self.icon = skin.get('BuddiesPanel.BuddyIcons.NoIcon')
  52.         self.icon_path = self.icon.path
  53.         self.icon = self.icon.PIL
  54.         self.id = 5
  55.         self.status_message = random.choice(status_messages)
  56.         self.sightly_status = self.status_orb = self.status = None if status else random.choice(statuses)
  57.         self.buddy.away = self.status == 'away'
  58.         self.protocol = MockProtocol(protocol)
  59.         self.protocol.icq = random.choice([
  60.             True,
  61.             False])
  62.         self.protocol.username = self.protocol.name
  63.         self.mockcaps = None if capabilities else [
  64.             caps.BLOCKABLE,
  65.             caps.EMAIL,
  66.             caps.FILES,
  67.             caps.IM,
  68.             caps.PICTURES,
  69.             caps.SMS]
  70.         self.online_time = None
  71.         self.buddy.protocol = self.protocol
  72.         self.caps = self.mockcaps
  73.  
  74.     
  75.     def service(self):
  76.         return self.protocol.name
  77.  
  78.     service = property(service)
  79.     
  80.     def serviceicon(self):
  81.         skin = skin
  82.         import gui
  83.         return skin.get('serviceicons.%s' % self.service)
  84.  
  85.     serviceicon = property(serviceicon)
  86.     
  87.     def alias(self):
  88.         return self.name
  89.  
  90.     alias = property(alias)
  91.     
  92.     def idle(self):
  93.         return self.status == 'idle'
  94.  
  95.     idle = property(idle)
  96.     
  97.     def info_key(self):
  98.         return self.service + '_' + self.name
  99.  
  100.     info_key = property(info_key)
  101.     
  102.     def stripped_msg(self):
  103.         strip_html2 = strip_html2
  104.         import util
  105.         return strip_html2(self.status_message)
  106.  
  107.     stripped_msg = property(stripped_msg)
  108.     
  109.     def GetMockProfile(self):
  110.         return self.htmlprofile
  111.  
  112.     
  113.     def idstr(self):
  114.         return u'/'.join([
  115.             self.protocol.name,
  116.             self.protocol.username,
  117.             self.name])
  118.  
  119.     
  120.     def online(self):
  121.         return True
  122.  
  123.     online = property(online)
  124.     
  125.     def num_online(self):
  126.         return int(self.online)
  127.  
  128.     num_online = property(num_online)
  129.     
  130.     def chat(self):
  131.         print 'wut?'
  132.  
  133.  
  134. from contacts.Contact import Contact
  135. MockBuddy.__bases__ += (Contact,)
  136.