Esempio n. 1
0
    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())
Esempio n. 2
0
    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))