Store error as string in account instead of just a boolean (in_error)

darcs-hash:20071204171250-86b55-759d1ea8fe52fb896fa59cddd915a872ef601f7d.gz
This commit is contained in:
David Rousselie
2007-12-04 18:12:50 +01:00
parent 8aa2ede6ae
commit 1c5d2d073b
10 changed files with 119 additions and 23 deletions

View File

@@ -0,0 +1,14 @@
-- Exported definition from 2007-12-04T17:57:39
-- Class jcl.model.account.Account
-- Database: sqlite
CREATE TABLE account (
id INTEGER PRIMARY KEY,
name TEXT,
jid TEXT,
status TEXT,
error TEXT,
enabled TINYINT,
lastlogin TIMESTAMP,
user_id INT CONSTRAINT user_id_exists REFERENCES user(id) ,
child_name VARCHAR(255)
)

View File

@@ -0,0 +1,9 @@
-- Exported definition from 2007-12-04T17:57:39
-- Class jmc.model.account.IMAPAccount
-- Database: sqlite
CREATE TABLE imap_account (
id INTEGER PRIMARY KEY,
mailbox TEXT,
delimiter TEXT,
child_name VARCHAR(255)
)

View File

@@ -0,0 +1,10 @@
-- Exported definition from 2007-12-04T17:57:39
-- Class jcl.model.account.LegacyJID
-- Database: sqlite
CREATE TABLE legacy_j_id (
id INTEGER PRIMARY KEY,
legacy_address TEXT,
jid TEXT,
account_id INT CONSTRAINT account_id_exists REFERENCES account(id) ,
child_name VARCHAR(255)
)

View File

@@ -0,0 +1,18 @@
-- Exported definition from 2007-12-04T17:57:39
-- Class jmc.model.account.MailAccount
-- Database: sqlite
CREATE TABLE mail_account (
id INTEGER PRIMARY KEY,
login TEXT,
password TEXT,
host TEXT,
port INT,
_ssl TINYINT,
_interval INT,
store_password TINYINT,
live_email_only TINYINT,
lastcheck INT,
waiting_password_reply TINYINT,
first_check TINYINT,
child_name VARCHAR(255)
)

View File

@@ -0,0 +1,9 @@
-- Exported definition from 2007-12-04T17:57:39
-- Class jmc.model.account.POP3Account
-- Database: sqlite
CREATE TABLE po_p3_account (
id INTEGER PRIMARY KEY,
nb_mail INT,
lastmail INT,
child_name VARCHAR(255)
)

View File

@@ -0,0 +1,13 @@
-- Exported definition from 2007-12-04T17:57:39
-- Class jcl.model.account.PresenceAccount
-- Database: sqlite
CREATE TABLE presence_account (
id INTEGER PRIMARY KEY,
chat_action INT,
online_action INT,
away_action INT,
xa_action INT,
dnd_action INT,
offline_action INT,
child_name VARCHAR(255)
)

View File

@@ -0,0 +1,16 @@
-- Exported definition from 2007-12-04T17:57:39
-- Class jmc.model.account.SMTPAccount
-- Database: sqlite
CREATE TABLE smtp_account (
id INTEGER PRIMARY KEY,
login TEXT,
password TEXT,
host TEXT,
port INT,
tls TINYINT,
store_password TINYINT,
waiting_password_reply TINYINT,
default_from TEXT,
default_account TINYINT,
child_name VARCHAR(255)
)

View File

@@ -0,0 +1,9 @@
-- Exported definition from 2007-12-04T17:57:39
-- Class jcl.model.account.User
-- Database: sqlite
CREATE TABLE user (
id INTEGER PRIMARY KEY,
jid TEXT,
has_received_motd TINYINT,
child_name VARCHAR(255)
)

View File

@@ -183,7 +183,7 @@ class MailFeeder(Feeder):
_account.mark_all_as_read() _account.mark_all_as_read()
_account.disconnect() _account.disconnect()
_account.first_check = False _account.first_check = False
_account.in_error = False _account.error = None
return True return True
except Exception, e: except Exception, e:
if _account.connected: if _account.connected:
@@ -253,7 +253,7 @@ class MailFeeder(Feeder):
raise Exception("Unkown action: " + str(action) \ raise Exception("Unkown action: " + str(action) \
+ "\nPlease reconfigure account.") + "\nPlease reconfigure account.")
_account.disconnect() _account.disconnect()
_account.in_error = False _account.error = None
self.__logger.debug("\nCHECK_MAIL ends " + _account.jid) self.__logger.debug("\nCHECK_MAIL ends " + _account.jid)
except Exception, e: except Exception, e:
if _account.connected: if _account.connected:

View File

@@ -22,7 +22,6 @@
## ##
import unittest import unittest
import os
import sys import sys
import time import time
@@ -44,8 +43,7 @@ from jcl.jabber.tests.feeder import FeederMock, SenderMock
from jmc.model.account import MailAccount, IMAPAccount, POP3Account, \ from jmc.model.account import MailAccount, IMAPAccount, POP3Account, \
SMTPAccount, NoAccountError SMTPAccount, NoAccountError
from jmc.jabber import MailHandler from jmc.jabber import MailHandler
from jmc.jabber.message import SendMailMessageHandler, \ from jmc.jabber.message import SendMailMessageHandler
RootSendMailMessageHandler
from jmc.jabber.presence import MailSubscribeHandler, \ from jmc.jabber.presence import MailSubscribeHandler, \
MailUnsubscribeHandler, MailPresenceHandler MailUnsubscribeHandler, MailPresenceHandler
from jmc.jabber.component import MailComponent, MailFeederHandler, \ from jmc.jabber.component import MailComponent, MailFeederHandler, \
@@ -187,7 +185,7 @@ class MailComponent_TestCase(JCLTestCase):
jid="account11@jmc.test.com") jid="account11@jmc.test.com")
account11.status = account.ONLINE account11.status = account.ONLINE
self.assertTrue(account11.first_check) self.assertTrue(account11.first_check)
self.assertFalse(account11.in_error) self.assertEquals(account11.error, None)
self.assertFalse(account11.waiting_password_reply) self.assertFalse(account11.waiting_password_reply)
account11.live_email_only = True account11.live_email_only = True
account11.password = None account11.password = None
@@ -199,7 +197,7 @@ class MailComponent_TestCase(JCLTestCase):
self.assertEquals(sent[0].get_from(), "account11@jmc.test.com") self.assertEquals(sent[0].get_from(), "account11@jmc.test.com")
self.assertTrue(account11.first_check) self.assertTrue(account11.first_check)
self.assertTrue(account11.waiting_password_reply) self.assertTrue(account11.waiting_password_reply)
self.assertFalse(account11.in_error) self.assertEquals(account11.error, None)
self.assertFalse(account11.connected) self.assertFalse(account11.connected)
self.assertFalse(account11.has_connected) self.assertFalse(account11.has_connected)
self.assertFalse(account11.marked_all_as_read) self.assertFalse(account11.marked_all_as_read)
@@ -212,7 +210,7 @@ class MailComponent_TestCase(JCLTestCase):
jid="account11@jmc.test.com") jid="account11@jmc.test.com")
account11.status = account.ONLINE account11.status = account.ONLINE
self.assertTrue(account11.first_check) self.assertTrue(account11.first_check)
self.assertFalse(account11.in_error) self.assertEquals(account11.error, None)
account11.waiting_password_reply = True account11.waiting_password_reply = True
account11.live_email_only = True account11.live_email_only = True
account11.password = None account11.password = None
@@ -220,7 +218,7 @@ class MailComponent_TestCase(JCLTestCase):
self.assertEquals(result, []) self.assertEquals(result, [])
self.assertTrue(account11.first_check) self.assertTrue(account11.first_check)
self.assertTrue(account11.waiting_password_reply) self.assertTrue(account11.waiting_password_reply)
self.assertFalse(account11.in_error) self.assertEquals(account11.error, None)
self.assertFalse(account11.connected) self.assertFalse(account11.connected)
self.assertFalse(account11.has_connected) self.assertFalse(account11.has_connected)
self.assertFalse(account11.marked_all_as_read) self.assertFalse(account11.marked_all_as_read)
@@ -268,7 +266,7 @@ class MailComponent_TestCase(JCLTestCase):
account11.password = None account11.password = None
self.assertFalse(account11.waiting_password_reply) self.assertFalse(account11.waiting_password_reply)
result = self.comp.handler.feeder.feed(account11) result = self.comp.handler.feeder.feed(account11)
self.assertFalse(account11.in_error) self.assertEquals(account11.error, None)
self.assertEquals(len(result), 0) self.assertEquals(len(result), 0)
sent = self.comp.stream.sent sent = self.comp.stream.sent
self.assertEquals(len(sent), 1) self.assertEquals(len(sent), 1)
@@ -292,7 +290,7 @@ class MailComponent_TestCase(JCLTestCase):
account11.password = "password" account11.password = "password"
account11.get_mail_list = lambda: [] account11.get_mail_list = lambda: []
result = self.comp.handler.feeder.feed(account11) result = self.comp.handler.feeder.feed(account11)
self.assertTrue(account11.in_error) self.assertNotEquals(account11.error, None)
self.assertEquals(len(result), 0) self.assertEquals(len(result), 0)
sent = self.comp.stream.sent sent = self.comp.stream.sent
self.assertEquals(len(sent), 1) self.assertEquals(len(sent), 1)
@@ -316,7 +314,7 @@ class MailComponent_TestCase(JCLTestCase):
account11.password = "password" account11.password = "password"
account11.get_mail_list = lambda: [] account11.get_mail_list = lambda: []
result = self.comp.handler.feeder.feed(account11) result = self.comp.handler.feeder.feed(account11)
self.assertFalse(account11.in_error) self.assertEquals(account11.error, None)
self.assertEquals(result, []) self.assertEquals(result, [])
self.assertEquals(account11.lastcheck, 0) self.assertEquals(account11.lastcheck, 0)
self.assertFalse(account11.connected) self.assertFalse(account11.connected)
@@ -341,7 +339,7 @@ class MailComponent_TestCase(JCLTestCase):
account11.get_mail_list = lambda: [0, 1] account11.get_mail_list = lambda: [0, 1]
account11.get_mail = mock_get_mail account11.get_mail = mock_get_mail
result = self.comp.handler.feeder.feed(account11) result = self.comp.handler.feeder.feed(account11)
self.assertFalse(account11.in_error) self.assertEquals(account11.error, None)
self.assertEquals(account11.lastcheck, 0) self.assertEquals(account11.lastcheck, 0)
self.assertFalse(account11.connected) self.assertFalse(account11.connected)
self.assertTrue(account11.has_connected) self.assertTrue(account11.has_connected)
@@ -374,7 +372,7 @@ class MailComponent_TestCase(JCLTestCase):
account11.password = "password" account11.password = "password"
account11.get_mail_list = lambda: [] account11.get_mail_list = lambda: []
result = self.comp.handler.feeder.feed(account11) result = self.comp.handler.feeder.feed(account11)
self.assertFalse(account11.in_error) self.assertEquals(account11.error, None)
self.assertEquals(result, []) self.assertEquals(result, [])
self.assertEquals(account11.lastcheck, 0) self.assertEquals(account11.lastcheck, 0)
self.assertFalse(account11.connected) self.assertFalse(account11.connected)
@@ -399,7 +397,7 @@ class MailComponent_TestCase(JCLTestCase):
account11.get_mail_list = lambda: [0, 1] account11.get_mail_list = lambda: [0, 1]
account11.get_mail_summary = mock_get_mail_summary account11.get_mail_summary = mock_get_mail_summary
result = self.comp.handler.feeder.feed(account11) result = self.comp.handler.feeder.feed(account11)
self.assertFalse(account11.in_error) self.assertEquals(account11.error, None)
self.assertEquals(account11.lastcheck, 0) self.assertEquals(account11.lastcheck, 0)
self.assertFalse(account11.connected) self.assertFalse(account11.connected)
self.assertTrue(account11.has_connected) self.assertTrue(account11.has_connected)
@@ -422,14 +420,14 @@ class MailComponent_TestCase(JCLTestCase):
jid="account11@jmc.test.com") jid="account11@jmc.test.com")
account11.status = account.ONLINE account11.status = account.ONLINE
self.assertTrue(account11.first_check) self.assertTrue(account11.first_check)
self.assertFalse(account11.in_error) self.assertEquals(account11.error, None)
account11.live_email_only = True account11.live_email_only = True
account11.password = "password" account11.password = "password"
continue_checking = self.comp.handler.feeder.initialize_live_email(account11) continue_checking = self.comp.handler.feeder.initialize_live_email(account11)
self.assertEquals(continue_checking, True) self.assertEquals(continue_checking, True)
self.assertFalse(account11.first_check) self.assertFalse(account11.first_check)
self.assertFalse(account11.waiting_password_reply) self.assertFalse(account11.waiting_password_reply)
self.assertFalse(account11.in_error) self.assertEquals(account11.error, None)
self.assertFalse(account11.connected) self.assertFalse(account11.connected)
self.assertTrue(account11.has_connected) self.assertTrue(account11.has_connected)
self.assertTrue(account11.marked_all_as_read) self.assertTrue(account11.marked_all_as_read)
@@ -445,7 +443,7 @@ class MailComponent_TestCase(JCLTestCase):
account11.connect = raiser account11.connect = raiser
account11.status = account.ONLINE account11.status = account.ONLINE
self.assertTrue(account11.first_check) self.assertTrue(account11.first_check)
self.assertFalse(account11.in_error) self.assertEquals(account11.error, None)
account11.live_email_only = True account11.live_email_only = True
account11.password = "password" account11.password = "password"
continue_checking = self.comp.handler.feeder.initialize_live_email(account11) continue_checking = self.comp.handler.feeder.initialize_live_email(account11)
@@ -456,7 +454,7 @@ class MailComponent_TestCase(JCLTestCase):
self.assertEquals(sent[0].get_from(), "account11@jmc.test.com") self.assertEquals(sent[0].get_from(), "account11@jmc.test.com")
self.assertTrue(account11.first_check) self.assertTrue(account11.first_check)
self.assertFalse(account11.waiting_password_reply) self.assertFalse(account11.waiting_password_reply)
self.assertTrue(account11.in_error) self.assertEquals(account11.error, "")
self.assertFalse(account11.connected) self.assertFalse(account11.connected)
self.assertFalse(account11.has_connected) self.assertFalse(account11.has_connected)
self.assertFalse(account11.marked_all_as_read) self.assertFalse(account11.marked_all_as_read)
@@ -472,7 +470,7 @@ class MailComponent_TestCase(JCLTestCase):
account11.mark_all_as_read = raiser account11.mark_all_as_read = raiser
account11.status = account.ONLINE account11.status = account.ONLINE
self.assertTrue(account11.first_check) self.assertTrue(account11.first_check)
self.assertFalse(account11.in_error) self.assertEquals(account11.error, None)
account11.live_email_only = True account11.live_email_only = True
account11.password = "password" account11.password = "password"
continue_checking = self.comp.handler.feeder.initialize_live_email(account11) continue_checking = self.comp.handler.feeder.initialize_live_email(account11)
@@ -483,7 +481,7 @@ class MailComponent_TestCase(JCLTestCase):
self.assertEquals(sent[0].get_from(), "account11@jmc.test.com") self.assertEquals(sent[0].get_from(), "account11@jmc.test.com")
self.assertTrue(account11.first_check) self.assertTrue(account11.first_check)
self.assertFalse(account11.waiting_password_reply) self.assertFalse(account11.waiting_password_reply)
self.assertTrue(account11.in_error) self.assertEquals(account11.error, "")
self.assertFalse(account11.connected) self.assertFalse(account11.connected)
self.assertTrue(account11.has_connected) self.assertTrue(account11.has_connected)
self.assertFalse(account11.marked_all_as_read) self.assertFalse(account11.marked_all_as_read)
@@ -499,7 +497,7 @@ class MailComponent_TestCase(JCLTestCase):
account11.disconnect = raiser account11.disconnect = raiser
account11.status = account.ONLINE account11.status = account.ONLINE
self.assertTrue(account11.first_check) self.assertTrue(account11.first_check)
self.assertFalse(account11.in_error) self.assertEquals(account11.error, None)
account11.live_email_only = True account11.live_email_only = True
account11.password = "password" account11.password = "password"
continue_checking = self.comp.handler.feeder.initialize_live_email(account11) continue_checking = self.comp.handler.feeder.initialize_live_email(account11)
@@ -511,7 +509,7 @@ class MailComponent_TestCase(JCLTestCase):
self.assertEquals(continue_checking, False) self.assertEquals(continue_checking, False)
self.assertTrue(account11.first_check) self.assertTrue(account11.first_check)
self.assertFalse(account11.waiting_password_reply) self.assertFalse(account11.waiting_password_reply)
self.assertTrue(account11.in_error) self.assertEquals(account11.error, "")
self.assertFalse(account11.connected) self.assertFalse(account11.connected)
self.assertTrue(account11.has_connected) self.assertTrue(account11.has_connected)
self.assertTrue(account11.marked_all_as_read) self.assertTrue(account11.marked_all_as_read)