better error checking

This commit is contained in:
Christophe Benz 2010-11-20 18:19:06 +01:00 committed by Romain Bignon
commit 4fbdc9fddc
3 changed files with 13 additions and 4 deletions

View file

@ -18,7 +18,7 @@
from __future__ import with_statement from __future__ import with_statement
from weboob.capabilities.messages import ICapMessagesPost from weboob.capabilities.messages import CantSendMessage, ICapMessagesPost
from weboob.tools.backend import BaseBackend from weboob.tools.backend import BaseBackend
from weboob.tools.value import ValuesDict, Value from weboob.tools.value import ValuesDict, Value
@ -45,4 +45,6 @@ class SfrBackend(BaseBackend, ICapMessagesPost):
# ICapMessagesPost methods # ICapMessagesPost methods
def post_message(self, message): def post_message(self, message):
if not message.content.strip():
raise CantSendMessage(u'Message content is empty.')
self.browser.post_message(message) self.browser.post_message(message)

View file

@ -21,7 +21,6 @@ import urllib
from .pages.compose import ClosePage, ComposePage, ConfirmPage, SentPage from .pages.compose import ClosePage, ComposePage, ConfirmPage, SentPage
from .pages.login import LoginPage from .pages.login import LoginPage
from weboob.capabilities.messages import CantSendMessage
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
@ -57,5 +56,4 @@ class SfrBrowser(BaseBrowser):
self.page.post_message(message) self.page.post_message(message)
if self.is_on_page(ConfirmPage): if self.is_on_page(ConfirmPage):
self.page.confirm() self.page.confirm()
if self.is_on_page(ClosePage): assert self.is_on_page(ClosePage) or self.is_on_page(SentPage)
raise CantSendMessage('Invalid receiver.')

View file

@ -16,6 +16,9 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
import re
from weboob.capabilities.messages import CantSendMessage
from weboob.tools.browser import BasePage from weboob.tools.browser import BasePage
@ -27,7 +30,13 @@ class ClosePage(BasePage):
class ComposePage(BasePage): class ComposePage(BasePage):
phone_regex = re.compile('^(\+33|0033|0)(6|7)(\d{8})$')
def post_message(self, message): def post_message(self, message):
receiver_list = [receiver.strip() for receiver in message.receiver.split(',')]
for receiver in receiver_list:
if self.phone_regex.match(receiver) is None:
raise CantSendMessage(u'Invalid receiver: %s' % receiver)
self.browser.select_form(nr=0) self.browser.select_form(nr=0)
self.browser['msisdns'] = message.receiver self.browser['msisdns'] = message.receiver
self.browser['textMessage'] = message.content self.browser['textMessage'] = message.content