From f6e9fc30d43ea43cd845e16675e22e03a47acfc9 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Wed, 8 Dec 2010 12:10:54 +0100 Subject: [PATCH] a message requires to have a Thread --- weboob/backends/bouygues/pages/compose.py | 9 ++++----- weboob/backends/sfr/pages/compose.py | 9 ++++----- weboob/capabilities/messages.py | 5 +++-- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/weboob/backends/bouygues/pages/compose.py b/weboob/backends/bouygues/pages/compose.py index fef65ba3..f685e48c 100644 --- a/weboob/backends/bouygues/pages/compose.py +++ b/weboob/backends/bouygues/pages/compose.py @@ -29,12 +29,11 @@ class ComposeFrame(BasePage): phone_regex = re.compile('^(\+33|0033|0)(6|7)(\d{8})$') def post_message(self, message): - receiver_list = [re.sub(' +', '', receiver) for receiver in message.receivers] - for receiver in receiver_list: - if self.phone_regex.match(receiver) is None: - raise CantSendMessage(u'Invalid receiver: %s' % receiver) + receiver = message.thread.id + if self.phone_regex.match(receiver) is None: + raise CantSendMessage(u'Invalid receiver: %s' % receiver) self.browser.select_form(nr=0) - self.browser['fieldMsisdn'] = ','.join(receiver_list) + self.browser['fieldMsisdn'] = receiver self.browser['fieldMessage'] = message.content self.browser.submit() diff --git a/weboob/backends/sfr/pages/compose.py b/weboob/backends/sfr/pages/compose.py index edfed3d2..7c3a1d4a 100644 --- a/weboob/backends/sfr/pages/compose.py +++ b/weboob/backends/sfr/pages/compose.py @@ -39,12 +39,11 @@ class ComposePage(BasePage): return remaining_regex.match(text).groupdict().get('nb') def post_message(self, message): - receiver_list = [re.sub(' +', '', receiver) for receiver in message.receivers] - for receiver in receiver_list: - if self.phone_regex.match(receiver) is None: - raise CantSendMessage(u'Invalid receiver: %s' % receiver) + receiver = message.thread.id + if self.phone_regex.match(receiver) is None: + raise CantSendMessage(u'Invalid receiver: %s' % receiver) self.browser.select_form(nr=0) - self.browser['msisdns'] = ','.join(receiver_list) + self.browser['msisdns'] = receiver self.browser['textMessage'] = message.content self.browser.submit() diff --git a/weboob/capabilities/messages.py b/weboob/capabilities/messages.py index 616a2c44..13a99cf1 100644 --- a/weboob/capabilities/messages.py +++ b/weboob/capabilities/messages.py @@ -42,6 +42,7 @@ class Message(CapBaseObject): children=NotLoaded, flags=0): CapBaseObject.__init__(self, id) + assert thread is not None self.add_field('thread', Thread, thread) self.add_field('title', basestring, title) self.add_field('sender', basestring, sender) @@ -69,7 +70,7 @@ class Message(CapBaseObject): @property def full_id(self): - return '%s.%s' % (self.thread.id, self.id) if self.thread else self.id + return '%s.%s' % (self.thread.id, self.id) @property def full_parent_id(self): @@ -80,7 +81,7 @@ class Message(CapBaseObject): elif self._parent_id is NotLoaded: return NotLoaded else: - return '%s.%s' % (self.thread.id, self._parent_id) if self.thread else self._parent_id + return '%s.%s' % (self.thread.id, self._parent_id) def __eq__(self, msg): if self.thread: