make AccountManager configurable in Component constructor
darcs-hash:20071011203937-86b55-e5a939ee0bfc2d63ee44c9e6793b7fecbb922ee6.gz
This commit is contained in:
@@ -71,5 +71,5 @@ def replace_handlers(handlers, old_handler_type, new_handler):
|
||||
"""
|
||||
for handler_group in handlers:
|
||||
for i in xrange(len(handler_group)):
|
||||
if isinstance(handler_group[i], old_handler_type):
|
||||
if handler_group[i].__class__.__name__ == old_handler_type.__name__:
|
||||
handler_group[i] = new_handler
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -29,7 +29,7 @@ __revision__ = "$Id: feeder.py,v 1.3 2005/09/18 20:24:07 dax Exp $"
|
||||
import logging
|
||||
|
||||
from jcl.jabber import Handler
|
||||
from jcl.jabber.component import JCLComponent
|
||||
from jcl.jabber.component import JCLComponent, AccountManager
|
||||
from jcl.lang import Lang
|
||||
import jcl.model as model
|
||||
from jcl.model import account
|
||||
@@ -51,7 +51,8 @@ class FeederComponent(JCLComponent):
|
||||
port,
|
||||
config,
|
||||
config_file,
|
||||
lang = Lang()):
|
||||
lang=Lang(),
|
||||
account_manager_class=AccountManager):
|
||||
JCLComponent.__init__(self,
|
||||
jid,
|
||||
secret,
|
||||
@@ -59,7 +60,8 @@ class FeederComponent(JCLComponent):
|
||||
port,
|
||||
config,
|
||||
config_file,
|
||||
lang=lang)
|
||||
lang=lang,
|
||||
account_manager_class=account_manager_class)
|
||||
# Define default feeder and sender, can be override
|
||||
self.handler = FeederHandler(Feeder(self), Sender(self))
|
||||
self.check_interval = 1
|
||||
|
||||
@@ -204,18 +204,21 @@ class Account(InheritableSQLObject):
|
||||
"""Return localized message body for existing account"""
|
||||
return lang_class.update_account_message_body
|
||||
|
||||
def get_account(bare_user_jid, name, account_class=Account):
|
||||
def get_account_filter(filter, account_class=Account):
|
||||
result = None
|
||||
model.db_connect()
|
||||
accounts = account_class.select(\
|
||||
AND(AND(Account.q.name == name,
|
||||
Account.q.userID == User.q.id),
|
||||
User.q.jid == unicode(bare_user_jid)))
|
||||
accounts = account_class.select(filter)
|
||||
if accounts.count() > 0:
|
||||
result = accounts[0]
|
||||
model.db_disconnect()
|
||||
return result
|
||||
|
||||
def get_account(bare_user_jid, name, account_class=Account):
|
||||
real_filter = AND(AND(Account.q.name == name,
|
||||
Account.q.userID == User.q.id),
|
||||
User.q.jid == unicode(bare_user_jid))
|
||||
return get_account_filter(real_filter, account_class)
|
||||
|
||||
def get_accounts(bare_user_jid, account_class=Account, filter=None):
|
||||
if filter is not None:
|
||||
filter = AND(AND(Account.q.userID == User.q.id,
|
||||
|
||||
Reference in New Issue
Block a user