1+ from datetime import datetime , time
12from typing import Optional , Iterator
23
34from pymongo import MongoClient , ASCENDING
67from ted_sws .core .model .supra_notice import DailySupraNotice
78from ted_sws .data_manager .adapters .repository_abc import DailySupraNoticeRepositoryABC
89
9- DAILY_SUPRA_NOTICE_ID = "notice_publication_day "
10+ DAILY_SUPRA_NOTICE_ID = "notice_publication_date "
1011
1112
1213class DailySupraNoticeRepository (DailySupraNoticeRepositoryABC ):
@@ -26,6 +27,8 @@ def __init__(self, mongodb_client: MongoClient, database_name: str = _database_n
2627
2728 def _update_daily_supra_notice (self , daily_supra_notice : DailySupraNotice , upsert : bool = False ):
2829 daily_supra_notice_dict = daily_supra_notice .dict ()
30+ daily_supra_notice_dict [DAILY_SUPRA_NOTICE_ID ] = datetime .combine (
31+ daily_supra_notice_dict [DAILY_SUPRA_NOTICE_ID ], time ())
2932 self .collection .update_one ({DAILY_SUPRA_NOTICE_ID : daily_supra_notice_dict [DAILY_SUPRA_NOTICE_ID ]},
3033 {"$set" : daily_supra_notice_dict }, upsert = upsert )
3134
@@ -43,19 +46,18 @@ def update(self, daily_supra_notice: DailySupraNotice):
4346 :param daily_supra_notice:
4447 :return:
4548 """
46- daily_supra_notice_exist = self .collection .find_one (
47- {DAILY_SUPRA_NOTICE_ID : daily_supra_notice .notice_publication_day })
48- if daily_supra_notice_exist is not None :
49- self ._update_daily_supra_notice (daily_supra_notice = daily_supra_notice )
49+ self ._update_daily_supra_notice (daily_supra_notice = daily_supra_notice )
5050
5151 def get (self , reference ) -> Optional [DailySupraNotice ]:
5252 """
5353 This method allows a daily_supra_notice to be obtained based on an identification reference.
5454 :param reference:
5555 :return: DailySupraNotice
5656 """
57+ reference = datetime .combine (reference , time ())
5758 result_dict = self .collection .find_one ({DAILY_SUPRA_NOTICE_ID : reference })
5859 if result_dict is not None :
60+ result_dict [DAILY_SUPRA_NOTICE_ID ] = result_dict [DAILY_SUPRA_NOTICE_ID ].date ()
5961 daily_supra_notice = DailySupraNotice .parse_obj (result_dict )
6062 return daily_supra_notice
6163 return None
0 commit comments