def test_reuse_thumbnail(self): dest = vignette.get_thumbnail(self.filename, 'large') assert dest st = os.stat(dest) self.assertEqual(dest, vignette.get_thumbnail(self.filename, 'large')) self.assertEqual(st, os.stat(dest)) self.assertEqual(dest, vignette.create_thumbnail(self.filename, 'large')) self.assertNotEqual(st, os.stat(dest))
def test_put_fail(self): vignette.put_fail(self.filename, 'foo') assert vignette.is_thumbnail_failed(self.filename, 'foo') assert not vignette.is_thumbnail_failed(self.filename, 'bar') self.assertIsNone(vignette.get_thumbnail(self.filename, use_fail_appname='foo')) dest = vignette.get_thumbnail(self.filename, use_fail_appname='bar') assert dest self.assertEqual(dest, vignette.get_thumbnail(self.filename, use_fail_appname='foo'))
def test_mtime_validity(self): dest = vignette.get_thumbnail(self.filename, 'large') assert dest os.utime(self.filename, (0, 0)) self.assertIsNone(vignette.try_get_thumbnail(self.filename, 'large')) assert os.path.isfile(dest) self.assertEqual(dest, vignette.get_thumbnail(self.filename, 'large')) self.assertEqual(dest, vignette.try_get_thumbnail(self.filename, 'large'))
def test_fail(self): self.filename = os.path.join(self.dir, 'empty') open(self.filename, 'w').close() self.assertIsNone(vignette.get_thumbnail(self.filename, 'large')) assert not os.path.exists(os.path.join(self.dir, 'thumbnails', 'fail')) assert not vignette.is_thumbnail_failed(self.filename, 'foo') self.assertIsNone(vignette.get_thumbnail(self.filename, 'large', use_fail_appname='foo')) assert os.path.exists(os.path.join(self.dir, 'thumbnails', 'fail', 'foo')) assert vignette.is_thumbnail_failed(self.filename, 'foo') assert not vignette.is_thumbnail_failed(self.filename, 'bar')
def test_multisize(self): dest = vignette.get_thumbnail(self.filename, 'large') assert dest self.assertEqual(dest, vignette.try_get_thumbnail(self.filename, 'large')) self.assertIsNone(vignette.try_get_thumbnail(self.filename, 'normal')) self.assertEqual(dest, vignette.try_get_thumbnail(self.filename)) os.remove(dest) dest = vignette.get_thumbnail(self.filename, 'normal') assert dest self.assertEqual(dest, vignette.try_get_thumbnail(self.filename, 'normal')) self.assertIsNone(vignette.try_get_thumbnail(self.filename, 'large')) self.assertEqual(dest, vignette.try_get_thumbnail(self.filename))
def test_fail_mtime_validity(self): self.filename = os.path.join(self.dir, 'empty') open(self.filename, 'w').close() self.assertIsNone(vignette.get_thumbnail(self.filename, 'large', use_fail_appname='foo')) assert vignette.is_thumbnail_failed(self.filename, 'foo') os.utime(self.filename, (0, 0)) assert not vignette.is_thumbnail_failed(self.filename, 'foo')
def test_basic(self): dest = vignette.build_thumbnail_path(self.filename, 'large') assert dest self.assertIsNone(vignette.try_get_thumbnail(self.filename, 'large')) assert not os.path.exists(dest) self.assertEqual(dest, vignette.get_thumbnail(self.filename, 'large')) assert os.path.isfile(dest) self.assertEqual(dest, vignette.try_get_thumbnail(self.filename, 'large'))
def test_dir_subdir(src_path, dst_path): othumb = vignette.get_thumbnail(str(src_path / '1.png')) check_call([ './mv-with-thumb', str(src_path), str(dst_path), ]) assert not Path(othumb).exists() assert dst_path.joinpath('foo/1.png').exists() assert vignette.try_get_thumbnail(str(dst_path.joinpath('foo/1.png')))
def test_file_file(src_path, dst_path): othumb = vignette.get_thumbnail(str(src_path / '1.png'), 'large') assert Path(othumb).exists() assert src_path.joinpath('1.png').exists() check_call([ './mv-with-thumb', str(src_path / '1.png'), str(dst_path / '2.png'), ]) assert not src_path.joinpath('1.png').exists() assert dst_path.joinpath('2.png').exists() assert not Path(othumb).exists() assert vignette.try_get_thumbnail(str(dst_path / '2.png'))
def test_dir_name(src_path, dst_path): othumb = vignette.get_thumbnail(str(src_path / '1.png')) assert Path(othumb).exists() assert src_path.joinpath('1.png').exists() check_call([ './mv-with-thumb', str(src_path), str(dst_path / 'quack'), ]) assert not src_path.exists() assert dst_path.joinpath('quack').exists() assert dst_path.joinpath('quack/1.png').exists() assert not Path(othumb).exists() assert vignette.try_get_thumbnail(str(dst_path / 'quack/1.png'))
def getThumbPixmap(self): if vignette: thumbpath = vignette.get_thumbnail(str(self.fileName), 'normal') image = QtGui.QImage(thumbpath) if image.isNull(): raise ImageNotFoundError("Cannot load %s." % self.fileName) pixmap = QtGui.QPixmap.fromImage(image) else: image = QtGui.QImage(str(self.fileName)) if image.isNull(): raise ImageNotFoundError("Cannot load %s." % self.fileName) pixmap = QtGui.QPixmap.fromImage(image) pixmap = pixmap.scaled(self.ThumbnailSize, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation) pixmap = pixmap.transformed(self.transform) return pixmap
def test_direct_thumbnail(self): dest = vignette.get_thumbnail(self.filename, 'large') assert dest assert os.path.isfile(dest) self.assertEqual(dest, vignette.try_get_thumbnail(dest, 'large'))