Esempio n. 1
0
 def test_it_should_tell_the_truth_about_MP4_files(self):
     test_file = File('/path/to/file.MP4')
     self.assertFalse(test_file.is_image())
     self.assertTrue(test_file.is_video())
     self.assertEqual(test_file.filename(), '/path/to/file.MP4')
     self.assertEqual(test_file.ext(), '.mp4')
     self.assertEqual(test_file.media_type(), 'MP4')
     self.assertEqual(test_file.date_taken_tag(), 'QuickTime:CreateDate')
     self.assertEqual(test_file.rotation_tag(), 'Composite:Rotation')
Esempio n. 2
0
 def test_it_should_tell_the_truth_about_MTS_files(self):
     test_file = File('/path/to/file.MTS')
     self.assertFalse(test_file.is_image())
     self.assertTrue(test_file.is_video())
     self.assertEqual(test_file.filename(), '/path/to/file.MTS')
     self.assertEqual(test_file.ext(), '.mts')
     self.assertEqual(test_file.media_type(), 'MTS')
     self.assertEqual(test_file.date_taken_tag(), 'H264:DateTimeOriginal')
     self.assertEqual(test_file.rotation_tag(), 'Composite:Rotation')
Esempio n. 3
0
 def test_it_should_tell_the_truth_about_JPEG_files(self):
     test_file = File('/path/to/file.JPEG')
     self.assertTrue(test_file.is_image())
     self.assertFalse(test_file.is_video())
     self.assertEqual(test_file.filename(), '/path/to/file.JPEG')
     self.assertEqual(test_file.ext(), '.jpeg')
     self.assertEqual(test_file.media_type(), 'JPEG')
     self.assertEqual(test_file.date_taken_tag(), 'EXIF:DateTimeOriginal')
     self.assertEqual(test_file.rotation_tag(), 'EXIF:Orientation')
Esempio n. 4
0
    def generate_thumbnail(self, path_to_file, path_to_thumbnail):
        thumbnail_dir = os.path.dirname(path_to_thumbnail)
        if not os.path.isdir(thumbnail_dir):
            self.util.mkdirp(thumbnail_dir)

        thumbnail_size = self.config.thumbnail_size()
        f = File(path_to_file)

        if f.is_image():
            original_image = Image.open(path_to_file)
            original_image.thumbnail((thumbnail_size, thumbnail_size), Image.ANTIALIAS)
            original_image.save(path_to_thumbnail)
        elif f.is_video():
            ffmpeg_cmd = ['ffmpeg', '-y', '-i', path_to_file, '-vframes', '1', '-ss', '0', '-vf',
                          'scale=\'if(gte(iw,ih),' + str(thumbnail_size) + ',-1)\':\'if(gte(iw,ih),-1,' +
                          str(thumbnail_size) + ')\'', path_to_thumbnail]
            self.executor.execute(ffmpeg_cmd)
        else:
            raise RuntimeError('Unrecognized file extension!')