Procházet zdrojové kódy

datetimeex.Period: refactor attrs

Fabian Peter Hammerle před 8 roky
rodič
revize
0d54a7a6cf
1 změnil soubory, kde provedl 11 přidání a 22 odebrání
  1. 11 22
      ioex/datetimeex.py

+ 11 - 22
ioex/datetimeex.py

@@ -106,9 +106,18 @@ class Period(object):
         t=_timestamp_iso_format,
     )
 
+    start = ioex.classex.AttributeDescriptor(
+        '_start',
+        types=(datetime.datetime,),
+        always_accept_none=True,
+    )
+    end = ioex.classex.AttributeDescriptor(
+        '_end',
+        types=(datetime.datetime,),
+        always_accept_none=True,
+    )
+
     def __init__(self, start=None, end=None, isoformat=None):
-        self._start = None
-        self._end = None
         if (start or end) and isoformat:
             raise AttributeError(
                 'when providing isoformat no other'
@@ -120,26 +129,6 @@ class Period(object):
             self.start = start
             self.end = end
 
-    @property
-    def start(self):
-        return self._start
-
-    @start.setter
-    def start(self, start):
-        if not (start is None or type(start) is datetime.datetime):
-            raise TypeError()
-        self._start = start
-
-    @property
-    def end(self):
-        return self._end
-
-    @end.setter
-    def end(self, end):
-        if not (end is None or type(end) is datetime.datetime):
-            raise TypeError()
-        self._end = end
-
     @property
     def isoformat(self):
         if self.start is None or self.end is None: