better error checking
This commit is contained in:
parent
3fc6cfe50e
commit
4fbdc9fddc
3 changed files with 13 additions and 4 deletions
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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.')
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue