Use the build system “meson” (close #32)
Replace the build system “setuptools” with “meson”.
This commit is contained in:
parent
ff0eee8380
commit
fac7a85566
37 changed files with 848 additions and 361 deletions
88
mcg/utils.py
88
mcg/utils.py
|
|
@ -1,88 +0,0 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
import hashlib
|
||||
import gettext
|
||||
import os
|
||||
import urllib
|
||||
|
||||
from gi.repository import GdkPixbuf
|
||||
|
||||
|
||||
|
||||
|
||||
class Utils:
|
||||
CSS_SELECTION = 'selection'
|
||||
STOCK_ICON_DEFAULT = 'image-x-generic-symbolic'
|
||||
|
||||
|
||||
def load_pixbuf(data):
|
||||
loader = GdkPixbuf.PixbufLoader()
|
||||
try:
|
||||
loader.write(data)
|
||||
finally:
|
||||
loader.close()
|
||||
return loader.get_pixbuf()
|
||||
|
||||
|
||||
def load_thumbnail(cache, client, album, size):
|
||||
cache_url = cache.create_filename(album)
|
||||
pixbuf = None
|
||||
|
||||
if os.path.isfile(cache_url):
|
||||
pixbuf = GdkPixbuf.Pixbuf.new_from_file(cache_url)
|
||||
else:
|
||||
# Load cover from server
|
||||
albumart = client.get_albumart_now(album.get_id())
|
||||
if albumart:
|
||||
pixbuf = Utils.load_pixbuf(albumart)
|
||||
if pixbuf is not None:
|
||||
pixbuf = pixbuf.scale_simple(size, size, GdkPixbuf.InterpType.HYPER)
|
||||
pixbuf.savev(cache_url, 'jpeg', [], [])
|
||||
return pixbuf
|
||||
|
||||
|
||||
def create_artists_label(album):
|
||||
label = ', '.join(album.get_albumartists())
|
||||
if album.get_artists():
|
||||
label = gettext.gettext("{} feat. {}").format(
|
||||
label,
|
||||
", ".join(album.get_artists())
|
||||
)
|
||||
return label
|
||||
|
||||
|
||||
def create_length_label(album):
|
||||
minutes = album.get_length() // 60
|
||||
seconds = album.get_length() - minutes * 60
|
||||
|
||||
return gettext.gettext("{}:{} minutes").format(minutes, seconds)
|
||||
|
||||
|
||||
def create_track_title(track):
|
||||
title = track.get_title()
|
||||
if track.get_artists():
|
||||
title = gettext.gettext("{} feat. {}").format(
|
||||
title,
|
||||
", ".join(track.get_artists())
|
||||
)
|
||||
return title
|
||||
|
||||
|
||||
def generate_id(values):
|
||||
if type(values) is not list:
|
||||
values = [values]
|
||||
m = hashlib.md5()
|
||||
for value in values:
|
||||
m.update(value.encode('utf-8'))
|
||||
return m.hexdigest()
|
||||
|
||||
|
||||
|
||||
|
||||
class SortOrder:
|
||||
ARTIST = 0
|
||||
TITLE = 1
|
||||
YEAR = 2
|
||||
Loading…
Reference in a new issue