예제 #1
0
    def delete(self, video_ids):
        """
        This method deletes a video from the video collection.

        :param list(ints) video_ids: The video IDs.
        :raises: CommandLineRouteHandlerError
        :rtype: None
        """

        video_model = VideoModel()

        for video_id in video_ids:
            result = video_model.select(video_id)
            if result is None:
                raise CommandLineRouteHandlerError(
                    f'Video with ID {video_id:08d} not found')

        for video_id in video_ids:
            result = video_model.select(video_id)

            path = VideoFile.path(result[2])

            video_model.delete(video_id)

            os.remove(path)

            debug(f'Video {video_id} was successfully deleted', 3)
예제 #2
0
 def test_delete(self):
     with deepstar_path():
         video_model = VideoModel()
         video_model.insert('test1', 'test2')
         result = video_model.select(1)
         self.assertEqual(result, (1, 'test1', 'test2', None))
         result = video_model.delete(1)
         self.assertTrue(result)
         result = video_model.select(1)
         self.assertIsNone(result)