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 handler_group in handlers:
|
||||||
for i in xrange(len(handler_group)):
|
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
|
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
|
import logging
|
||||||
|
|
||||||
from jcl.jabber import Handler
|
from jcl.jabber import Handler
|
||||||
from jcl.jabber.component import JCLComponent
|
from jcl.jabber.component import JCLComponent, AccountManager
|
||||||
from jcl.lang import Lang
|
from jcl.lang import Lang
|
||||||
import jcl.model as model
|
import jcl.model as model
|
||||||
from jcl.model import account
|
from jcl.model import account
|
||||||
@@ -51,7 +51,8 @@ class FeederComponent(JCLComponent):
|
|||||||
port,
|
port,
|
||||||
config,
|
config,
|
||||||
config_file,
|
config_file,
|
||||||
lang = Lang()):
|
lang=Lang(),
|
||||||
|
account_manager_class=AccountManager):
|
||||||
JCLComponent.__init__(self,
|
JCLComponent.__init__(self,
|
||||||
jid,
|
jid,
|
||||||
secret,
|
secret,
|
||||||
@@ -59,7 +60,8 @@ class FeederComponent(JCLComponent):
|
|||||||
port,
|
port,
|
||||||
config,
|
config,
|
||||||
config_file,
|
config_file,
|
||||||
lang=lang)
|
lang=lang,
|
||||||
|
account_manager_class=account_manager_class)
|
||||||
# Define default feeder and sender, can be override
|
# Define default feeder and sender, can be override
|
||||||
self.handler = FeederHandler(Feeder(self), Sender(self))
|
self.handler = FeederHandler(Feeder(self), Sender(self))
|
||||||
self.check_interval = 1
|
self.check_interval = 1
|
||||||
|
|||||||
@@ -204,18 +204,21 @@ class Account(InheritableSQLObject):
|
|||||||
"""Return localized message body for existing account"""
|
"""Return localized message body for existing account"""
|
||||||
return lang_class.update_account_message_body
|
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
|
result = None
|
||||||
model.db_connect()
|
model.db_connect()
|
||||||
accounts = account_class.select(\
|
accounts = account_class.select(filter)
|
||||||
AND(AND(Account.q.name == name,
|
|
||||||
Account.q.userID == User.q.id),
|
|
||||||
User.q.jid == unicode(bare_user_jid)))
|
|
||||||
if accounts.count() > 0:
|
if accounts.count() > 0:
|
||||||
result = accounts[0]
|
result = accounts[0]
|
||||||
model.db_disconnect()
|
model.db_disconnect()
|
||||||
return result
|
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):
|
def get_accounts(bare_user_jid, account_class=Account, filter=None):
|
||||||
if filter is not None:
|
if filter is not None:
|
||||||
filter = AND(AND(Account.q.userID == User.q.id,
|
filter = AND(AND(Account.q.userID == User.q.id,
|
||||||
|
|||||||
Reference in New Issue
Block a user