Changeset 94
- Timestamp:
- 06/18/07 20:46:42 (2 years ago)
- Files:
-
- src/jmc.py (modified) (1 diff)
- src/jmc/jabber/component.py (modified) (5 diffs)
- src/jmc/jabber/tests/component.py (modified) (3 diffs)
- src/jmc/runner.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
src/jmc.py
r74 r94 28 28 import jmc 29 29 from jmc.runner import JMCRunner 30 from jmc.lang import Lang 30 31 31 32 if __name__ == "__main__": 32 runner = JMCRunner("Jabber Mail Component", jmc.version) 33 runner = JMCRunner(Lang().get_default_lang_class().component_name, 34 jmc.version) 33 35 runner.configure() 34 36 runner.run() src/jmc/jabber/component.py
r93 r94 32 32 from jcl.model.account import Account, PresenceAccount, LegacyJID 33 33 from jcl.jabber.component import Handler, DefaultSubscribeHandler, \ 34 DefaultUnsubscribeHandler, DefaultPresenceHandler 34 DefaultUnsubscribeHandler, DefaultPresenceHandler, AccountManager 35 35 from jcl.jabber.feeder import FeederComponent, Feeder, MessageSender, \ 36 36 HeadlineSender, FeederHandler … … 53 53 port, 54 54 db_connection_str, 55 lang =Lang()):55 lang=Lang()): 56 56 """Use FeederComponent behavior and setup feeder and sender 57 57 attributes. … … 65 65 lang=lang) 66 66 self.handler = MailFeederHandler(MailFeeder(self), MailSender(self)) 67 self.account_manager = MailAccountManager(self) 67 68 self.account_manager.account_classes = (IMAPAccount, 68 69 POP3Account, … … 74 75 self.available_handlers += [MailPresenceHandler()] 75 76 self.unavailable_handlers += [MailPresenceHandler()] 77 78 class MailAccountManager(AccountManager): 79 """JMC specific account behavior""" 80 81 def root_disco_get_info(self, name, category, type): 82 """Add jabber:iq:gateway support""" 83 disco_info = AccountManager.root_disco_get_info(self, name, category, type) 84 disco_info.add_feature("jabber:iq:gateway") 85 disco_info.add_identity(name, "headline", "newmail") 86 return disco_info 76 87 77 88 class MailFeeder(Feeder): … … 253 264 class RootSendMailMessageHandler(SendMailMessageHandler): 254 265 """Handle message sent to root JID""" 255 266 256 267 def __init__(self): 257 268 SendMailMessageHandler.__init__(self) src/jmc/jabber/tests/component.py
r93 r94 43 43 RootSendMailMessageHandler, MailHandler, MailSubscribeHandler, \ 44 44 MailUnsubscribeHandler, NoAccountError, MailFeederHandler, \ 45 MailPresenceHandler 45 MailPresenceHandler, MailAccountManager 46 46 from jmc.lang import Lang 47 47 … … 549 549 self.assertEquals(result[0].get_body(), 550 550 Lang.en.send_mail_ok_body % ("user@test.com")) 551 552 class MailAccountManager_TestCase(unittest.TestCase): 553 def test_root_disco_get_info(self): 554 mam = MailAccountManager(None) 555 disco_info = mam.root_disco_get_info("JMC", "gateway", "smtp") 556 self.assertTrue(disco_info.has_feature("jabber:iq:gateway")) 557 self.assertEquals(len(disco_info.get_identities()), 2) 558 self.assertTrue(disco_info.identity_is("gateway", "smtp")) 559 self.assertTrue(disco_info.identity_is("headline", "newmail")) 551 560 552 561 class RootSendMailMessageHandler_TestCase(unittest.TestCase): … … 917 926 suite.addTest(unittest.makeSuite(MailComponent_TestCase, 'test')) 918 927 suite.addTest(unittest.makeSuite(SendMailMessageHandler_TestCase, 'test')) 928 suite.addTest(unittest.makeSuite(MailAccountManager_TestCase, 'test')) 919 929 suite.addTest(unittest.makeSuite(RootSendMailMessageHandler_TestCase, 'test')) 920 930 suite.addTest(unittest.makeSuite(MailHandler_TestCase, 'test')) src/jmc/runner.py
r90 r94 63 63 MailAccount.default_encoding = self.mail_default_encoding 64 64 component.check_interval = self.check_interval 65 component.disco_identity.set_category("gateway") 66 component.disco_identity.set_type("smtp") 65 67 component.run() 66 68 self._run(run_func)
