소스 검색

Add defaults for all dates

theenglishway (time) 6 년 전
부모
커밋
04d2b518d6
4개의 변경된 파일18개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 0
      planner/models/items.py
  2. 2 0
      planner/models/milestones.py
  3. 6 0
      planner/models/sprints.py
  4. 8 2
      planner/validator.py

+ 2 - 0
planner/models/items.py

@@ -86,8 +86,10 @@ class Item(TemplateMixin, SchemaMixin, DbMixin):
             default_setter: utcnow
         date_expected:
             type: date
+            default_setter: eons_future
         date_started:
             type: date
+            default_setter: eons_ago
     """
     def __post_init__(self):
         self.milestone = Milestone.fetch(self.milestone_id) if self.milestone_id else None

+ 2 - 0
planner/models/milestones.py

@@ -41,8 +41,10 @@ class Milestone(TemplateMixin, SchemaMixin, DbMixin):
             default_setter: utcnow
         date_expected: 
             type: date
+            default_setter: eons_future
         date_started:
             type: date
+            default_setter: eons_ago
     """
 
     def load_reverse(self):

+ 6 - 0
planner/models/sprints.py

@@ -45,6 +45,12 @@ class Sprint(TemplateMixin, SchemaMixin, DbMixin):
         date_added:
             type: datetime
             default_setter: utcnow
+        date_expected:
+            type: date
+            default_setter: eons_future
+        date_started:
+            type: date
+            default_setter: eons_ago
     """
 
     def __post_init__(self):

+ 8 - 2
planner/validator.py

@@ -1,6 +1,6 @@
 from tinydb import Query
 from cerberus import Validator
-from datetime import datetime
+from datetime import datetime, date
 
 
 class DbValidator(Validator):
@@ -45,4 +45,10 @@ class DbValidator(Validator):
             )
 
     def _normalize_default_setter_utcnow(self, document):
-        return datetime.utcnow()
+        return datetime.utcnow()
+
+    def _normalize_default_setter_eons_ago(self, document):
+        return date(year=1, month=1, day=1)
+
+    def _normalize_default_setter_eons_future(self, document):
+        return date(year=9999, month=12, day=31)