mirror of
https://github.com/krateng/maloja.git
synced 2025-07-09 03:04:07 -04:00
Enabled custom sorting of metadata providers, GH-23
This commit is contained in:
parent
1eae55e3bb
commit
dd3c83920b
@ -5,7 +5,7 @@ author = {
|
|||||||
"email":"maloja@krateng.dev",
|
"email":"maloja@krateng.dev",
|
||||||
"github": "krateng"
|
"github": "krateng"
|
||||||
}
|
}
|
||||||
version = 2,6,1
|
version = 2,6,2
|
||||||
versionstr = ".".join(str(n) for n in version)
|
versionstr = ".".join(str(n) for n in version)
|
||||||
links = {
|
links = {
|
||||||
"pypi":"malojaserver",
|
"pypi":"malojaserver",
|
||||||
@ -30,9 +30,7 @@ resources = [
|
|||||||
"static/*/*",
|
"static/*/*",
|
||||||
"data_files/*/*",
|
"data_files/*/*",
|
||||||
"data_files/*/*/*",
|
"data_files/*/*/*",
|
||||||
"proccontrol/*",
|
"**/*.py"
|
||||||
"proccontrol/*/*",
|
|
||||||
"thirdparty/*"
|
|
||||||
]
|
]
|
||||||
|
|
||||||
commands = {
|
commands = {
|
||||||
|
@ -9,10 +9,9 @@ HOST = "::" # You most likely want either :: for IPv6 or 0.0.0.0 for IPv4 here
|
|||||||
|
|
||||||
[Third Party Services]
|
[Third Party Services]
|
||||||
|
|
||||||
# whether to use metadata providers
|
# order in which to use the metadata providers
|
||||||
METADATA_LASTFM = true
|
# keep in mind that musicbrainz is rate-limited and should probably not be used first
|
||||||
METADATA_SPOTIFY = true
|
METADATA_PROVIDERS = [lastfm,spotify,musicbrainz]
|
||||||
METADATA_MUSICBRAINZ = true
|
|
||||||
# whether to proxy scrobble to other services
|
# whether to proxy scrobble to other services
|
||||||
SCROBBLE_LASTFM = false
|
SCROBBLE_LASTFM = false
|
||||||
|
|
||||||
|
12
maloja/thirdparty/__init__.py
vendored
12
maloja/thirdparty/__init__.py
vendored
@ -22,6 +22,8 @@ services = {
|
|||||||
"metadata":[]
|
"metadata":[]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
metadata_service_ids = {}
|
||||||
|
|
||||||
|
|
||||||
def proxy_scrobble_all(artists,title,timestamp):
|
def proxy_scrobble_all(artists,title,timestamp):
|
||||||
for service in services["proxyscrobble"]:
|
for service in services["proxyscrobble"]:
|
||||||
@ -77,7 +79,7 @@ class GenericInterface:
|
|||||||
services["import"].append(s)
|
services["import"].append(s)
|
||||||
log(cls.name + " registered as scrobble import source")
|
log(cls.name + " registered as scrobble import source")
|
||||||
if s.active_metadata():
|
if s.active_metadata():
|
||||||
services["metadata"].append(s)
|
metadata_service_ids[s.identifier] = s
|
||||||
log(cls.name + " registered as metadata provider")
|
log(cls.name + " registered as metadata provider")
|
||||||
|
|
||||||
def authorize(self):
|
def authorize(self):
|
||||||
@ -201,3 +203,11 @@ __all__ = [
|
|||||||
"musicbrainz"
|
"musicbrainz"
|
||||||
]
|
]
|
||||||
from . import *
|
from . import *
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
services["metadata"] = [
|
||||||
|
metadata_service_ids[pr]
|
||||||
|
for pr in get_settings("METADATA_PROVIDERS")
|
||||||
|
if metadata_service_ids[pr].active_metadata()
|
||||||
|
]
|
||||||
|
1
maloja/thirdparty/lastfm.py
vendored
1
maloja/thirdparty/lastfm.py
vendored
@ -4,6 +4,7 @@ import urllib.parse, urllib.request
|
|||||||
|
|
||||||
class LastFM(MetadataInterface, ProxyScrobbleInterface):
|
class LastFM(MetadataInterface, ProxyScrobbleInterface):
|
||||||
name = "LastFM"
|
name = "LastFM"
|
||||||
|
identifier = "lastfm"
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
"apikey":"LASTFM_API_KEY",
|
"apikey":"LASTFM_API_KEY",
|
||||||
|
1
maloja/thirdparty/musicbrainz.py
vendored
1
maloja/thirdparty/musicbrainz.py
vendored
@ -8,6 +8,7 @@ from ..__pkginfo__ import versionstr, author, links
|
|||||||
|
|
||||||
class MusicBrainz(MetadataInterface):
|
class MusicBrainz(MetadataInterface):
|
||||||
name = "MusicBrainz"
|
name = "MusicBrainz"
|
||||||
|
identifier = "musicbrainz"
|
||||||
|
|
||||||
# musicbrainz is rate-limited
|
# musicbrainz is rate-limited
|
||||||
lock = threading.Lock()
|
lock = threading.Lock()
|
||||||
|
1
maloja/thirdparty/spotify.py
vendored
1
maloja/thirdparty/spotify.py
vendored
@ -5,6 +5,7 @@ import json
|
|||||||
|
|
||||||
class Spotify(MetadataInterface):
|
class Spotify(MetadataInterface):
|
||||||
name = "Spotify"
|
name = "Spotify"
|
||||||
|
identifier = "spotify"
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
"apiid":"SPOTIFY_API_ID",
|
"apiid":"SPOTIFY_API_ID",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user