diff options
author | Pieter Goetschalckx | 2016-06-11 21:53:07 +0200 |
---|---|---|
committer | Pieter Goetschalckx | 2016-06-11 21:53:07 +0200 |
commit | 7a8aff407adb46dc4ecb3b0abaab3c808031badc (patch) | |
tree | 17a0ce7a453cbabfebd21d35bb8f4373357c8298 | |
download | aur-7a8aff407adb46dc4ecb3b0abaab3c808031badc.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 15 | ||||
-rw-r--r-- | PKGBUILD | 27 | ||||
-rwxr-xr-x | audiotag-thumbnailer | 74 | ||||
-rw-r--r-- | audiotag-thumbnailer.install | 19 | ||||
-rw-r--r-- | audiotag-thumbnailer.schemas | 136 |
5 files changed, 271 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..904f830f1c83 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,15 @@ +pkgbase = audiotag-thumbnailer + pkgdesc = A nautilus thumbnailer for MP3 and OGG files + pkgver = 0.1 + pkgrel = 1 + install = audiotag-thumbnailer.install + arch = any + license = custom:WTFPL + depends = mutagen + source = audiotag-thumbnailer + source = audiotag-thumbnailer.schemas + sha256sums = f58b15d8702b1fc0a91fe8e4949df7d23f85290b41c0004c490102b3593e339e + sha256sums = 978074b71b4a2ea9ad17890b23ef27733e2567414d6e87defdd562c1a36affbc + +pkgname = audiotag-thumbnailer + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..ba45d269f433 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: Pieter Goetschalckx <3.14.e.ter <at> gmail <dot> com> +# Contributor: solsTiCe d'Hiver <solstice.dhiver@gmail.com> + +pkgname=audiotag-thumbnailer +pkgver=0.1 +pkgrel=1 +pkgdesc="A nautilus thumbnailer for MP3 and OGG files" +arch=('any') +url="" +license=("custom:WTFPL") +depends=('mutagen') +install=$pkgname.install +source=("$pkgname" "$pkgname.schemas") +sha256sums=('f58b15d8702b1fc0a91fe8e4949df7d23f85290b41c0004c490102b3593e339e' + '978074b71b4a2ea9ad17890b23ef27733e2567414d6e87defdd562c1a36affbc') + +build() { + cd $srcdir + mkdir -p $pkgdir/usr/{share/gconf/schemas,bin} + install -m644 audiotag-thumbnailer.schemas $pkgdir/usr/share/gconf/schemas + install -m755 audiotag-thumbnailer $pkgdir/usr/bin +} + +package () { + install -Dm644 "$pkgname.schemas" "$pkgdir/usr/share/gconf/schemas/$pkgname.schemas" + install -m755 "$pkgname" "$pkgdir/usr/bin/$pkgname" +} diff --git a/audiotag-thumbnailer b/audiotag-thumbnailer new file mode 100755 index 000000000000..5e0245a9e2ed --- /dev/null +++ b/audiotag-thumbnailer @@ -0,0 +1,74 @@ +#!/usr/bin/python + +# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE +# Version 2, December 2004 +# +# Copyright (C) 2011 solsTiCe d'Hiver <solstice.dhiver@gmail.com> +# Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> +# +# Everyone is permitted to copy and distribute verbatim or modified +# copies of this license document, and changing it is allowed as long +# as the name is changed. +# +# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE +# TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +# +# 0. You just DO WHAT THE FUCK YOU WANT TO. + +import os +import sys +from PIL import Image +from StringIO import StringIO +import urllib +import base64 + +DEFAULT_SIZE = 192 + +def get_img_ogg(filename, size=(DEFAULT_SIZE, DEFAULT_SIZE)): + from mutagen.oggvorbis import OggVorbis + ov = OggVorbis(filename) + pic = base64.b64decode(ov['coverart'][0]) + #mimetype = ov['coverartmime'] + + img = Image.open(StringIO(pic)) + img = img.resize(size, Image.ANTIALIAS) + return img + +def get_img_mp3(filename, size=(DEFAULT_SIZE, DEFAULT_SIZE)): + from mutagen.mp3 import MP3 + mp3 = MP3(filename) + if mp3.has_key('APIC'): + apic = mp3.get('APIC') + else: + keys = mp3.keys() + found = False + for k in keys: + if k.startswith('APIC:'): + mykey = k + found = True + break + if found: + apic = mp3.get(mykey) + else: + sys.exit(1) + + mimetype = apic.mime + img = Image.open(StringIO(apic.data)) + img = img.resize(size, Image.ANTIALIAS) + return img + +IMG_EXTRACTOR_FUNC = {'.mp3':get_img_mp3, '.ogg':get_img_ogg} + +def get_img(filename, size=(DEFAULT_SIZE, DEFAULT_SIZE)): + path, ext = os.path.splitext(filename) + return IMG_EXTRACTOR_FUNC[ext.lower()](filename, size) + +if __name__ == '__main__': + # If we have 2 args + if len(sys.argv) == 3: + INPUT_FILE = urllib.url2pathname(sys.argv[1]).replace('file://', '') + OUTPUT_FILE = urllib.url2pathname(sys.argv[2]).replace('file://', '') + get_img(INPUT_FILE).save(OUTPUT_FILE, 'png') + else: + # usage + sys.exit(1) diff --git a/audiotag-thumbnailer.install b/audiotag-thumbnailer.install new file mode 100644 index 000000000000..5bcc7a6c8110 --- /dev/null +++ b/audiotag-thumbnailer.install @@ -0,0 +1,19 @@ +pkgname=audiotag-thumbnailer + +post_install() { + usr/sbin/gconfpkg --install ${pkgname} +} + +pre_upgrade() { + pre_remove $1 +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + usr/sbin/gconfpkg --uninstall ${pkgname} +} + +# vim:set ts=2 sw=2 et: diff --git a/audiotag-thumbnailer.schemas b/audiotag-thumbnailer.schemas new file mode 100644 index 000000000000..44b567f4d525 --- /dev/null +++ b/audiotag-thumbnailer.schemas @@ -0,0 +1,136 @@ +<gconfschemafile> + <schemalist> + <schema> + <key>/schemas/desktop/gnome/thumbnailers/audio@x-mp3/enable</key> + <applyto>/desktop/gnome/thumbnailers/audio@x-mp3/enable</applyto> + <owner>audiotag-thumbnailer</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short></short> + <long></long> + </locale> + </schema> + <schema> + <key>/schemas/desktop/gnome/thumbnailers/audio@x-mp3/command</key> + <applyto>/desktop/gnome/thumbnailers/audio@x-mp3/command</applyto> + <owner>audiotag-thumbnailer</owner> + <type>string</type> + <default>/usr/bin/audiotag-thumbnailer %u %o</default> + <locale name="C"> + <short></short> + <long></long> + </locale> + </schema> + <schema> + <key>/schemas/desktop/gnome/thumbnailers/audio@mpeg/enable</key> + <applyto>/desktop/gnome/thumbnailers/audio@mpeg/enable</applyto> + <owner>audiotag-thumbnailer</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short></short> + <long></long> + </locale> + </schema> + <schema> + <key>/schemas/desktop/gnome/thumbnailers/audio@mpeg/command</key> + <applyto>/desktop/gnome/thumbnailers/audio@mpeg/command</applyto> + <owner>audiotag-thumbnailer</owner> + <type>string</type> + <default>/usr/bin/audiotag-thumbnailer %u %o</default> + <locale name="C"> + <short></short> + <long></long> + </locale> + </schema> + <schema> + <key>/schemas/desktop/gnome/thumbnailers/audio@x-vorbis@ogg/enable</key> + <applyto>/desktop/gnome/thumbnailers/audio@x-vorbis@ogg/enable</applyto> + <owner>audiotag-thumbnailer</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short></short> + <long></long> + </locale> + </schema> + <schema> + <key>/schemas/desktop/gnome/thumbnailers/audio@x-vorbis@ogg/command</key> + <applyto>/desktop/gnome/thumbnailers/audio@x-vorbis@ogg/command</applyto> + <owner>audiotag-thumbnailer</owner> + <type>string</type> + <default>/usr/bin/audiotag-thumbnailer %u %o</default> + <locale name="C"> + <short></short> + <long></long> + </locale> + </schema> + <schema> + <key>/schemas/desktop/gnome/thumbnailers/audio@ogg/enable</key> + <applyto>/desktop/gnome/thumbnailers/audio@ogg/enable</applyto> + <owner>audiotag-thumbnailer</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short></short> + <long></long> + </locale> + </schema> + <schema> + <key>/schemas/desktop/gnome/thumbnailers/audio@ogg/command</key> + <applyto>/desktop/gnome/thumbnailers/audio@ogg/command</applyto> + <owner>audiotag-thumbnailer</owner> + <type>string</type> + <default>/usr/bin/audiotag-thumbnailer %u %o</default> + <locale name="C"> + <short></short> + <long></long> + </locale> + </schema> + <schema> + <key>/schemas/desktop/gnome/thumbnailers/application@ogg/enable</key> + <applyto>/desktop/gnome/thumbnailers/application@ogg/enable</applyto> + <owner>audiotag-thumbnailer</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short></short> + <long></long> + </locale> + </schema> + <schema> + <key>/schemas/desktop/gnome/thumbnailers/application@ogg/command</key> + <applyto>/desktop/gnome/thumbnailers/application@ogg/command</applyto> + <owner>audiotag-thumbnailer</owner> + <type>string</type> + <default>/usr/bin/audiotag-thumbnailer %u %o</default> + <locale name="C"> + <short></short> + <long></long> + </locale> + </schema> + <schema> + <key>/schemas/desktop/gnome/thumbnailers/application@x-ogg/enable</key> + <applyto>/desktop/gnome/thumbnailers/application@x-ogg/enable</applyto> + <owner>audiotag-thumbnailer</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short></short> + <long></long> + </locale> + </schema> + <schema> + <key>/schemas/desktop/gnome/thumbnailers/application@x-ogg/command</key> + <applyto>/desktop/gnome/thumbnailers/application@x-ogg/command</applyto> + <owner>audiotag-thumbnailer</owner> + <type>string</type> + <default>/usr/bin/audiotag-thumbnailer %u %o</default> + <locale name="C"> + <short></short> + <long></long> + </locale> + </schema> + </schemalist> +</gconfschemafile> |