Exemple #1
0
	def test_put_thumbnail(self):
		uri = 'http://example.com'
		tmp = vignette.create_temp('large')
		shutil.copyfile(self.filename, tmp)
		vignette.put_thumbnail(uri, 'large', tmp, mtime=42)
		assert vignette.try_get_thumbnail(uri, 'large', mtime=42)
		self.assertIsNone(vignette.try_get_thumbnail(uri, 'large', mtime=1))
Exemple #2
0
	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'))
Exemple #3
0
	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'))
Exemple #4
0
def store_thumbnail(obj):
    if vignette is None:
        return

    url = find_url(obj)
    if not url:
        return

    try:
        ts = mktime(obj.date.timetuple())
    except AttributeError:
        return

    path = vignette.try_get_thumbnail(url, mtime=ts)
    if path:
        # thumbnail already exists
        return

    qimg = load_qimg(obj, 'data')
    if qimg.isNull():
        qimg = load_qimg(obj, 'thumbnail', 'data')
    if qimg.isNull():
        return

    format, size = ideal_thumb_size((qimg.width(), qimg.height()))
    if size:
        qimg = qimg.scaled(QSize(size, size), Qt.KeepAspectRatio, Qt.SmoothTransformation)

    path = vignette.create_temp(format)
    qimg.save(path)
    vignette.put_thumbnail(url, format, path, mtime=ts)
Exemple #5
0
def store_thumbnail(obj):
    if vignette is None:
        return

    url = find_url(obj)
    if not url:
        return

    try:
        ts = mktime(obj.date.timetuple())
    except AttributeError:
        return

    path = vignette.try_get_thumbnail(url, mtime=ts)
    if path:
        # thumbnail already exists
        return

    qimg = load_qimg(obj, 'data')
    if qimg.isNull():
        qimg = load_qimg(obj, 'thumbnail', 'data')
    if qimg.isNull():
        return

    format, size = ideal_thumb_size((qimg.width(), qimg.height()))
    if size:
        qimg = qimg.scaled(QSize(size, size), Qt.KeepAspectRatio, Qt.SmoothTransformation)

    path = vignette.create_temp(format)
    qimg.save(path)
    vignette.put_thumbnail(url, format, path, mtime=ts)
Exemple #6
0
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')))
Exemple #7
0
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'))
Exemple #8
0
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'))
Exemple #9
0
def try_get_thumbnail(obj):
    if vignette is None:
        return

    url = find_url(obj)
    if not url:
        return

    try:
        ts = mktime(obj.date.timetuple())
    except AttributeError:
        return

    path = vignette.try_get_thumbnail(url, mtime=ts)
    if path:
        return QVariant(QIcon(QPixmap(path)))
Exemple #10
0
def try_get_thumbnail(obj):
    if vignette is None:
        return

    url = find_url(obj)
    if not url:
        return

    try:
        ts = mktime(obj.date.timetuple())
    except AttributeError:
        return

    path = vignette.try_get_thumbnail(url, mtime=ts)
    if path:
        return QVariant(QIcon(QPixmap(path)))
Exemple #11
0
	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))
Exemple #12
0
	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'))