From 92d6bc68756314b46e71b2d8633d6cf1d22b8b26 Mon Sep 17 00:00:00 2001
From: Anton Ryzhov <anton@ryzhov.me>
Date: Wed, 23 Oct 2013 13:33:52 +0400
Subject: Check delay field existence Import missing class

---
 sleekxmpp/plugins/xep_0091/stanza.py | 5 +++--
 sleekxmpp/plugins/xep_0203/stanza.py | 6 ++++--
 2 files changed, 7 insertions(+), 4 deletions(-)

(limited to 'sleekxmpp/plugins')

diff --git a/sleekxmpp/plugins/xep_0091/stanza.py b/sleekxmpp/plugins/xep_0091/stanza.py
index 0b70ff63..17e55764 100644
--- a/sleekxmpp/plugins/xep_0091/stanza.py
+++ b/sleekxmpp/plugins/xep_0091/stanza.py
@@ -21,14 +21,15 @@ class LegacyDelay(ElementBase):
     interfaces = set(('from', 'stamp', 'text'))
 
     def get_from(self):
-        return JID(self._get_attr('from'))
+        from_ = self._get_attr('from')
+        return JID(from_) if from_ else None
 
     def set_from(self, value):
         self._set_attr('from', str(value))
 
     def get_stamp(self):
         timestamp = self._get_attr('stamp')
-        return xep_0082.parse('%sZ' % timestamp)
+        return xep_0082.parse('%sZ' % timestamp) if timestamp else None
 
     def set_stamp(self, value):
         if isinstance(value, dt.datetime):
diff --git a/sleekxmpp/plugins/xep_0203/stanza.py b/sleekxmpp/plugins/xep_0203/stanza.py
index 9a11cae9..e147e975 100644
--- a/sleekxmpp/plugins/xep_0203/stanza.py
+++ b/sleekxmpp/plugins/xep_0203/stanza.py
@@ -8,6 +8,7 @@
 
 import datetime as dt
 
+from sleekxmpp.jid import JID
 from sleekxmpp.xmlstream import ElementBase
 from sleekxmpp.plugins import xep_0082
 
@@ -20,14 +21,15 @@ class Delay(ElementBase):
     interfaces = set(('from', 'stamp', 'text'))
 
     def get_from(self):
-        return JID(self._get_attr('from'))
+        from_ = self._get_attr('from')
+        return JID(from_) if from_ else None
 
     def set_from(self, value):
         self._set_attr('from', str(value))
 
     def get_stamp(self):
         timestamp = self._get_attr('stamp')
-        return xep_0082.parse(timestamp)
+        return xep_0082.parse(timestamp) if timestamp else None
 
     def set_stamp(self, value):
         if isinstance(value, dt.datetime):
-- 
cgit v1.2.3