Do not user generator functions for account get*
darcs-hash:20070819134318-86b55-c04fb63b752b76b98bc7990c300a18409f07f6d7.gz
This commit is contained in:
@@ -868,7 +868,7 @@ class AccountManager(object):
|
||||
resource = ""
|
||||
model.db_connect()
|
||||
accounts = account.get_accounts(bare_from_jid, account_class)
|
||||
if accounts:
|
||||
if accounts.count() > 0:
|
||||
for _account in accounts:
|
||||
yield (_account, resource, account_type)
|
||||
model.db_disconnect()
|
||||
|
||||
@@ -6,13 +6,13 @@ import unittest
|
||||
from jcl.jabber.tests import component, feeder, command, message, presence
|
||||
|
||||
def suite():
|
||||
suite = unittest.TestSuite()
|
||||
suite.addTest(component.suite())
|
||||
suite.addTest(feeder.suite())
|
||||
suite.addTest(command.suite())
|
||||
suite.addTest(message.suite())
|
||||
suite.addTest(presence.suite())
|
||||
return suite
|
||||
test_suite = unittest.TestSuite()
|
||||
test_suite.addTest(component.suite())
|
||||
test_suite.addTest(feeder.suite())
|
||||
test_suite.addTest(command.suite())
|
||||
test_suite.addTest(message.suite())
|
||||
test_suite.addTest(presence.suite())
|
||||
return test_suite
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(defaultTest='suite')
|
||||
|
||||
@@ -64,7 +64,6 @@ class JCLCommandManager_TestCase(JCLTestCase):
|
||||
Example2Account, LegacyJID,
|
||||
User])
|
||||
self.config_file = tempfile.mktemp(".conf", "jcltest", "/tmp")
|
||||
print str(self.config_file)
|
||||
self.config = ConfigParser()
|
||||
self.config.read(self.config_file)
|
||||
self.comp = JCLComponent("jcl.test.com",
|
||||
|
||||
@@ -6,7 +6,6 @@ from sqlobject.dbconnection import connectionForURI
|
||||
|
||||
import jcl.model
|
||||
|
||||
db_connected = False
|
||||
db_connection_str = ""
|
||||
|
||||
# create a hub to attach a per thread connection
|
||||
|
||||
@@ -80,9 +80,7 @@ def get_all_users(user_class=User, limit=None, filter=None,
|
||||
model.db_connect()
|
||||
users = user_class.select(clause=filter, limit=limit,
|
||||
distinct=distinct)
|
||||
for user in users:
|
||||
yield user
|
||||
model.db_disconnect()
|
||||
return users
|
||||
|
||||
class Account(InheritableSQLObject):
|
||||
"""Base Account class"""
|
||||
@@ -183,7 +181,6 @@ def get_account(bare_user_jid, name, account_class=Account):
|
||||
return result
|
||||
|
||||
def get_accounts(bare_user_jid, account_class=Account, filter=None):
|
||||
model.db_connect()
|
||||
if filter is not None:
|
||||
filter = AND(AND(Account.q.userID == User.q.id,
|
||||
User.q.jid == unicode(bare_user_jid)),
|
||||
@@ -192,26 +189,18 @@ def get_accounts(bare_user_jid, account_class=Account, filter=None):
|
||||
filter = AND(Account.q.userID == User.q.id,
|
||||
User.q.jid == unicode(bare_user_jid))
|
||||
accounts = account_class.select(filter)
|
||||
if accounts.count() == 0:
|
||||
model.db_disconnect()
|
||||
return
|
||||
for _account in accounts:
|
||||
yield _account
|
||||
model.db_disconnect()
|
||||
return accounts
|
||||
|
||||
def get_all_accounts(account_class=Account, filter=None, limit=None):
|
||||
model.db_connect()
|
||||
accounts = account_class.select(clause=filter, limit=limit)
|
||||
for _account in accounts:
|
||||
yield _account
|
||||
model.db_disconnect()
|
||||
return accounts
|
||||
|
||||
def get_accounts_count(bare_user_jid, account_class=Account):
|
||||
model.db_connect()
|
||||
accounts_count = account_class.select(\
|
||||
AND(Account.q.userID == User.q.id,
|
||||
User.q.jid == unicode(bare_user_jid))).count()
|
||||
model.db_disconnect()
|
||||
return accounts_count
|
||||
|
||||
def get_all_accounts_count(account_class=Account, filter=None):
|
||||
@@ -220,7 +209,6 @@ def get_all_accounts_count(account_class=Account, filter=None):
|
||||
accounts_count = account_class.select().count()
|
||||
else:
|
||||
accounts_count = account_class.select(filter).count()
|
||||
model.db_disconnect()
|
||||
return accounts_count
|
||||
|
||||
class PresenceAccount(Account):
|
||||
@@ -354,9 +342,7 @@ def get_legacy_jids(bare_to_jid):
|
||||
AND(AND(LegacyJID.q.accountID == Account.q.id,
|
||||
Account.q.userID == User.q.id),
|
||||
User.q.jid == bare_to_jid))
|
||||
for legacy_jid in legacy_jids:
|
||||
yield legacy_jid
|
||||
model.db_disconnect()
|
||||
return legacy_jids
|
||||
|
||||
class LegacyJID(InheritableSQLObject):
|
||||
_connection = model.hub
|
||||
|
||||
@@ -273,9 +273,9 @@ class Account_TestCase(InheritableAccount_TestCase):
|
||||
model.db_disconnect()
|
||||
|
||||
class PresenceAccount_TestCase(InheritableAccount_TestCase):
|
||||
def setUp(self):
|
||||
def setUp(self, tables=[]):
|
||||
JCLTestCase.setUp(self, tables=[User, Account, PresenceAccount,
|
||||
PresenceAccountExample])
|
||||
PresenceAccountExample] + tables)
|
||||
model.db_connect()
|
||||
self.account = PresenceAccountExample(\
|
||||
user=User(jid="test1@test.com"),
|
||||
|
||||
@@ -26,12 +26,10 @@ import sys
|
||||
from ConfigParser import ConfigParser
|
||||
from getopt import gnu_getopt
|
||||
|
||||
from sqlobject import *
|
||||
|
||||
from jcl.lang import Lang
|
||||
from jcl.jabber.component import JCLComponent
|
||||
import jcl.model as model
|
||||
from jcl.model.account import Account, PresenceAccount
|
||||
from jcl.model.account import Account, PresenceAccount, User, LegacyJID
|
||||
|
||||
class JCLRunner(object):
|
||||
def __init__(self, component_name, component_version):
|
||||
@@ -42,7 +40,7 @@ class JCLRunner(object):
|
||||
"""
|
||||
self.component_name = component_name
|
||||
self.component_version = component_version
|
||||
self.config_file = "jmc.conf"
|
||||
self.config_file = "jcl.conf"
|
||||
self.server = "localhost"
|
||||
self.port = 5347
|
||||
self.secret = "secret"
|
||||
@@ -179,6 +177,8 @@ class JCLRunner(object):
|
||||
def setup_db(self):
|
||||
Account.createTable(ifNotExists=True)
|
||||
PresenceAccount.createTable(ifNotExists=True)
|
||||
User.createTable(ifNotExists=True)
|
||||
LegacyJID.createTable(ifNotExists=True)
|
||||
|
||||
def setup_pidfile(self):
|
||||
pidfile = open(self.pid_file, "w")
|
||||
|
||||
@@ -31,7 +31,7 @@ import jcl
|
||||
from jcl.runner import JCLRunner
|
||||
|
||||
import jcl.model as model
|
||||
from jcl.model.account import Account, PresenceAccount
|
||||
from jcl.model.account import Account, PresenceAccount, User, LegacyJID
|
||||
|
||||
if sys.platform == "win32":
|
||||
DB_DIR = "/c|/temp/"
|
||||
@@ -48,7 +48,7 @@ class JCLRunner_TestCase(unittest.TestCase):
|
||||
|
||||
def test_configure_default(self):
|
||||
self.runner.configure()
|
||||
self.assertEquals(self.runner.config_file, "jmc.conf")
|
||||
self.assertEquals(self.runner.config_file, "jcl.conf")
|
||||
self.assertEquals(self.runner.server, "localhost")
|
||||
self.assertEquals(self.runner.port, 5347)
|
||||
self.assertEquals(self.runner.secret, "secret")
|
||||
@@ -131,6 +131,8 @@ class JCLRunner_TestCase(unittest.TestCase):
|
||||
# dropTable should succeed because tables should exist
|
||||
Account.dropTable()
|
||||
PresenceAccount.dropTable()
|
||||
User.dropTable()
|
||||
LegacyJID.dropTable()
|
||||
model.db_disconnect()
|
||||
os.unlink(db_path)
|
||||
self.assertFalse(os.access("/tmp/jcl.pid", os.F_OK))
|
||||
|
||||
Reference in New Issue
Block a user