88from ted_sws .data_manager .adapters import inject_date_string_fields , remove_date_string_fields
99from ted_sws .data_manager .adapters .repository_abc import DailySupraNoticeRepositoryABC
1010
11- DAILY_SUPRA_NOTICE_ID = "notice_fetched_date"
11+ DAILY_SUPRA_NOTICE_FETCHED_DATE = "notice_fetched_date"
1212DAILY_SUPRA_NOTICE_CREATED_AT = "created_at"
13+ DAILY_SUPRA_NOTICE_ID = "_id"
1314
1415
1516class DailySupraNoticeRepository (DailySupraNoticeRepositoryABC ):
@@ -25,7 +26,7 @@ def __init__(self, mongodb_client: MongoClient, database_name: str = None):
2526 daily_supra_notice_db = mongodb_client [self ._database_name ]
2627 self .collection = daily_supra_notice_db [self ._collection_name ]
2728 self .collection .create_index (
28- [(DAILY_SUPRA_NOTICE_ID , ASCENDING )]) # TODO: index creation may bring race condition error.
29+ [(DAILY_SUPRA_NOTICE_FETCHED_DATE , ASCENDING )]) # TODO: index creation may bring race condition error.
2930
3031 def _create_dict_from_daily_supra_notice (self , daily_supra_notice : DailySupraNotice ) -> dict :
3132 """
@@ -34,9 +35,10 @@ def _create_dict_from_daily_supra_notice(self, daily_supra_notice: DailySupraNot
3435 :return:
3536 """
3637 daily_supra_notice_dict = daily_supra_notice .dict ()
37- daily_supra_notice_dict [DAILY_SUPRA_NOTICE_ID ] = datetime .combine (
38- daily_supra_notice_dict [DAILY_SUPRA_NOTICE_ID ], time ())
39- inject_date_string_fields (data = daily_supra_notice_dict , date_field_name = DAILY_SUPRA_NOTICE_ID )
38+ daily_supra_notice_dict [DAILY_SUPRA_NOTICE_FETCHED_DATE ] = datetime .combine (
39+ daily_supra_notice_dict [DAILY_SUPRA_NOTICE_FETCHED_DATE ], time ())
40+ daily_supra_notice_dict [DAILY_SUPRA_NOTICE_ID ] = daily_supra_notice_dict [DAILY_SUPRA_NOTICE_FETCHED_DATE ]
41+ inject_date_string_fields (data = daily_supra_notice_dict , date_field_name = DAILY_SUPRA_NOTICE_FETCHED_DATE )
4042 inject_date_string_fields (data = daily_supra_notice_dict , date_field_name = DAILY_SUPRA_NOTICE_CREATED_AT )
4143 return daily_supra_notice_dict
4244
@@ -47,8 +49,10 @@ def _create_daily_supra_notice_from_dict(self, daily_supra_notice_dict: dict) ->
4749 :return:
4850 """
4951 if daily_supra_notice_dict is not None :
50- daily_supra_notice_dict [DAILY_SUPRA_NOTICE_ID ] = daily_supra_notice_dict [DAILY_SUPRA_NOTICE_ID ].date ()
51- remove_date_string_fields (data = daily_supra_notice_dict , date_field_name = DAILY_SUPRA_NOTICE_ID )
52+ daily_supra_notice_dict .pop (DAILY_SUPRA_NOTICE_ID , None )
53+ daily_supra_notice_dict [DAILY_SUPRA_NOTICE_FETCHED_DATE ] = daily_supra_notice_dict [
54+ DAILY_SUPRA_NOTICE_FETCHED_DATE ].date ()
55+ remove_date_string_fields (data = daily_supra_notice_dict , date_field_name = DAILY_SUPRA_NOTICE_FETCHED_DATE )
5256 remove_date_string_fields (data = daily_supra_notice_dict , date_field_name = DAILY_SUPRA_NOTICE_CREATED_AT )
5357 daily_supra_notice = DailySupraNotice .parse_obj (daily_supra_notice_dict )
5458 return daily_supra_notice
0 commit comments