@@ -90,10 +90,20 @@ def next_expiration_on(self):
9090 """date to expire at based on previous expiration and constant (nb days)"""
9191 return datetime .datetime .now () + datetime .timedelta (days = self .extend_for_days )
9292
93- def extend_if_expiring_soon (self ):
93+ @property
94+ def expire_on (self ) -> datetime .datetime :
95+ if not hasattr (self , "_expire_on" ):
96+ self ._expire_on = self .get_expiry ()
97+ return self ._expire_on
98+
99+ @expire_on .setter
100+ def expire_on (self , on : datetime .datetime ):
101+ self ._expire_on = on
102+
103+ def extend_if_expiring_soon (self ) -> bool :
94104 """extend expiration date if it's close to expiration"""
95105 try :
96- self .expire_on = self . get_expiry ()
106+ self .expire_on
97107 except (MarkerNotFound , InvalidExpirationDate ):
98108 # set in past so considered expired
99109 self .expire_on = datetime .datetime .now () - datetime .timedelta (
@@ -104,13 +114,13 @@ def extend_if_expiring_soon(self):
104114 logger .error (
105115 f"Failed to check { self .file ['_id' ]} ,{ self .file ['download_url' ]} : { exc !s} "
106116 )
107- return
117+ return False
108118
109119 if self .expire_on <= self .max_renewal_date :
110120 return self .update_marker_with (days_from_now = self .extend_for_days )
111121 return False
112122
113- def update_marker_with (self , days_from_now : int ):
123+ def update_marker_with (self , days_from_now : int ) -> bool :
114124 """Upload a marker with the new datetime."""
115125 upload_url = (
116126 get_credentials_s3_url (self .file ["upload_url" ])
@@ -127,12 +137,12 @@ def update_marker_with(self, days_from_now: int):
127137 == 0
128138 )
129139
130- def remove_if_expired (self ):
140+ def remove_if_expired (self ) -> bool :
131141 """remove file both from storage and DB is it expired"""
132142 try :
133- self .expire_on = self . get_expiry ()
143+ self .expire_on
134144 except (MarkerNotFound , InvalidExpirationDate ):
135- self .remove_file_and_entry ()
145+ return self .remove_file_and_entry ()
136146 except Exception as exc :
137147 # network error? log
138148 logger .error (
0 commit comments