def test_date_difference(): from lib.utils import Utils date1 = '2020-01-31' date2 = '2020-01-01' assert Utils.date_difference(date1, date2) == 30 # bad dates bad_dates = [ '2020-02-00', '2020-02-30', '2021-02-29', '02-01-2021', '2021-13-11' ] for bad_date in bad_dates: with pytest.raises(ValueError) as err: Utils.date_difference(bad_date, bad_date)
def map_slides_to_videos(self, videos_metadata, slides_metadata): mapping = dict() # slides upload threshold... expect slides be uploaded within N days of video upload. threshold_duration = self.conf.get('slides_upload_window') for video_item in videos_metadata: video_upload_date = str.split(video_item['startTime'], ' ')[0] for slide_item in slides_metadata: slide_upload_date = slide_item['fileDate'] diff_days = Utils.date_difference(slide_upload_date, video_upload_date) if 0 <= diff_days <= threshold_duration: mapping[video_item['ttid']] = slide_item['filePath'] return mapping