def testAddVideoInfoForVideoIndex_new_info_dic_file(self): playListName = 'test_download_vid_info_dic' downloadDir = AUDIO_DIR_TEST + DIR_SEP + playListName if not os.path.exists(downloadDir): os.mkdir(downloadDir) # deleting video info dic file files = glob.glob(downloadDir + DIR_SEP + '*') for f in files: os.remove(f) dvi = DownloadVideoInfoDic(downloadDir, playListName) additionTimeStr = datetime.now().strftime( DATE_TIME_FORMAT_VIDEO_INFO_FILE) videoIndex = dvi.getNextVideoIndex() dvi.addVideoInfoForVideoIndex( videoIndex, 'title 1', 'https://youtube.com/watch?v=9iPvLx7gotk', 'title 1.mp4') videoIndex += 1 dvi.addVideoInfoForVideoIndex( videoIndex, 'title 2', 'https://youtube.com/watch?v=9iPvL8880999', 'title 2.mp4') self.assertEqual('https://youtube.com/watch?v=9iPvLx7gotk', dvi.getVideoUrlForVideoTitle('title 1')) self.assertEqual('https://youtube.com/watch?v=9iPvLx7gotk', dvi.getVideoUrlForVideoIndex(1)) self.assertEqual('https://youtube.com/watch?v=9iPvL8880999', dvi.getVideoUrlForVideoTitle('title 2')) self.assertEqual('https://youtube.com/watch?v=9iPvL8880999', dvi.getVideoUrlForVideoIndex(2)) self.assertEqual(additionTimeStr, dvi.getVideoDownloadTimeForVideoTitle('title 1')) self.assertEqual(additionTimeStr, dvi.getVideoDownloadTimeForVideoTitle('title 2')) self.assertEqual('title 1', dvi.getVideoTitleForVideoIndex(1)) self.assertEqual('title 1.mp4', dvi.getVideoFileNameForVideoIndex(1)) self.assertEqual('title 1.mp4', dvi.getVideoFileNameForVideoTitle('title 1')) self.assertEqual('title 2.mp4', dvi.getVideoFileNameForVideoIndex(2)) self.assertEqual('title 2.mp4', dvi.getVideoFileNameForVideoTitle('title 2')) self.assertIsNone( dvi.getExtractStartEndSecondsListsForVideoIndex(videoIndex=1)) self.assertIsNone( dvi.getSuppressStartEndSecondsListsForVideoIndex(videoIndex=1)) self.assertIsNone( dvi.getExtractStartEndSecondsListsForVideoIndex(videoIndex=2)) self.assertIsNone( dvi.getSuppressStartEndSecondsListsForVideoIndex(videoIndex=2)) self.assertEqual(3, dvi.getNextVideoIndex())
def testAddVideoInfoForVideoIndex_existing_info_dic_file(self): playListName = 'test_download_vid_info_dic' downloadDir = AUDIO_DIR_TEST + DIR_SEP + playListName if not os.path.exists(downloadDir): os.mkdir(downloadDir) # deleting video info dic file files = glob.glob(downloadDir + DIR_SEP + '*') for f in files: os.remove(f) # creating new video info dic file and saving it dvi = DownloadVideoInfoDic(downloadDir, playListName) additionTimeStr = datetime.now().strftime( DATE_TIME_FORMAT_VIDEO_INFO_FILE) dvi.addVideoInfoForVideoIndex( 1, 'title 1', 'https://youtube.com/watch?v=9iPvLx7gotk', 'title 1.mp4') dvi.addVideoInfoForVideoIndex( 2, 'title 2', 'https://youtube.com/watch?v=9iPvL8880999', 'title 2.mp4') self.assertEqual('https://youtube.com/watch?v=9iPvLx7gotk', dvi.getVideoUrlForVideoTitle('title 1')) self.assertEqual('https://youtube.com/watch?v=9iPvL8880999', dvi.getVideoUrlForVideoTitle('title 2')) self.assertEqual(additionTimeStr, dvi.getVideoDownloadTimeForVideoTitle('title 1')) self.assertEqual(additionTimeStr, dvi.getVideoDownloadTimeForVideoTitle('title 2')) self.assertEqual('title 1', dvi.getVideoTitleForVideoIndex(1)) self.assertEqual('title 1.mp4', dvi.getVideoFileNameForVideoIndex(1)) self.assertEqual('title 2.mp4', dvi.getVideoFileNameForVideoIndex(2)) dvi.saveDic() # creating new video info dic, reloading newly created video info dic file reloadedDvi = DownloadVideoInfoDic(downloadDir, playListName) time.sleep(1) newAdditionTimeStr = datetime.now().strftime( DATE_TIME_FORMAT_VIDEO_INFO_FILE) # adding supplementary video info entry reloadedDvi.addVideoInfoForVideoIndex( 3, 'title 3', 'https://youtube.com/watch?v=9iPvL1111', 'title 3.mp4') self.assertEqual('https://youtube.com/watch?v=9iPvLx7gotk', reloadedDvi.getVideoUrlForVideoTitle('title 1')) self.assertEqual('https://youtube.com/watch?v=9iPvL8880999', reloadedDvi.getVideoUrlForVideoTitle('title 2')) self.assertEqual('https://youtube.com/watch?v=9iPvL1111', reloadedDvi.getVideoUrlForVideoTitle('title 3')) self.assertEqual( additionTimeStr, reloadedDvi.getVideoDownloadTimeForVideoTitle('title 1')) self.assertEqual( additionTimeStr, reloadedDvi.getVideoDownloadTimeForVideoTitle('title 2')) self.assertEqual( newAdditionTimeStr, reloadedDvi.getVideoDownloadTimeForVideoTitle('title 3')) self.assertEqual('title 3', reloadedDvi.getVideoTitleForVideoIndex(3)) self.assertEqual('title 3.mp4', reloadedDvi.getVideoFileNameForVideoIndex(3)) reloadedDvi.saveDic() # creating new extended video info dic, reloading newly created video info dic file newReloadedDvi = DownloadVideoInfoDic(downloadDir, playListName) self.assertEqual('https://youtube.com/watch?v=9iPvLx7gotk', newReloadedDvi.getVideoUrlForVideoTitle('title 1')) self.assertEqual('https://youtube.com/watch?v=9iPvL8880999', newReloadedDvi.getVideoUrlForVideoTitle('title 2')) self.assertEqual('https://youtube.com/watch?v=9iPvL1111', newReloadedDvi.getVideoUrlForVideoTitle('title 3')) self.assertEqual( additionTimeStr, newReloadedDvi.getVideoDownloadTimeForVideoTitle('title 1')) self.assertEqual( additionTimeStr, newReloadedDvi.getVideoDownloadTimeForVideoTitle('title 2')) self.assertEqual( newAdditionTimeStr, newReloadedDvi.getVideoDownloadTimeForVideoTitle('title 3')) self.assertEqual('title 3', newReloadedDvi.getVideoTitleForVideoIndex(3)) self.assertEqual('title 3.mp4', reloadedDvi.getVideoFileNameForVideoIndex(3)) self.assertIsNone( newReloadedDvi.getExtractStartEndSecondsListsForVideoIndex( videoIndex=1)) self.assertIsNone( newReloadedDvi.getSuppressStartEndSecondsListsForVideoIndex( videoIndex=1)) self.assertIsNone( newReloadedDvi.getExtractStartEndSecondsListsForVideoIndex( videoIndex=2)) self.assertIsNone( newReloadedDvi.getSuppressStartEndSecondsListsForVideoIndex( videoIndex=2)) self.assertIsNone( newReloadedDvi.getExtractStartEndSecondsListsForVideoIndex( videoIndex=3)) self.assertIsNone( newReloadedDvi.getSuppressStartEndSecondsListsForVideoIndex( videoIndex=3))