Do not user generator functions for account get*

darcs-hash:20070819134318-86b55-c04fb63b752b76b98bc7990c300a18409f07f6d7.gz
This commit is contained in:
David Rousselie
2007-08-19 15:43:18 +02:00
parent 08cb317257
commit c79b80c22d
8 changed files with 22 additions and 36 deletions

View File

@@ -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()

View File

@@ -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')

View File

@@ -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",

View File

@@ -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

View File

@@ -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

View File

@@ -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"),

View File

@@ -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")

View File

@@ -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))