mirror of
https://github.com/krateng/maloja.git
synced 2025-04-16 00:40:32 +03:00
Made DB cache non-persistent for now to avoid long startup times
This commit is contained in:
parent
80d65963e5
commit
54bef3e8c2
12
README.md
12
README.md
@ -2,6 +2,8 @@
|
||||
|
||||
Simple self-hosted music scrobble database to create personal listening statistics. No recommendations, no social network, no nonsense.
|
||||
|
||||
You can check [my own Maloja page](https://maloja.krateng.ch) to see what it looks like.
|
||||
|
||||
## Never Asked Questions
|
||||
|
||||
### Why not Last.fm / Libre.fm / GNU FM?
|
||||
@ -14,19 +16,13 @@ Maloja's database has one big advantage: It supports **multiple artists per trac
|
||||
|
||||
Also neat: You can use your **custom artist or track images**.
|
||||
|
||||
## Current status
|
||||
|
||||
You can check [my own Maloja page](https://maloja.krateng.ch) to see what it currently looks like.
|
||||
|
||||
There are only two scrobblers (YouTube Music and Plex, both for Chromium), but a very simple API to create your own scrobbler.
|
||||
|
||||
## Requirements
|
||||
|
||||
* [python3](https://www.python.org/) - [GitHub](https://github.com/python/cpython)
|
||||
* [bottle.py](https://bottlepy.org/) - [GitHub](https://github.com/bottlepy/bottle)
|
||||
* [waitress](https://docs.pylonsproject.org/projects/waitress/) - [GitHub](https://github.com/Pylons/waitress)
|
||||
* [doreah](https://pypi.org/project/doreah/) - [GitHub](https://github.com/krateng/doreah) (at least Version 0.6.1)
|
||||
* If you'd like to display images, you will need API keys for Last.fm and Fanart.tv. These are free of charge!
|
||||
* If you'd like to display images, you will need API keys for [Last.fm](https://www.last.fm/api/account/create) and [Fanart.tv](https://fanart.tv/get-an-api-key/). These are free of charge!
|
||||
|
||||
## How to install
|
||||
|
||||
@ -55,7 +51,7 @@ There are only two scrobblers (YouTube Music and Plex, both for Chromium), but a
|
||||
|
||||
If you didn't install Maloja from the package (and therefore don't have it in `/opt/maloja`), every command needs to be executed from the Maloja directory and led with `./`. Otherwise, all commands work in any location and without the prefix.
|
||||
|
||||
1) In order to scrobble your music from Plex Web or YouTube Music, install the included Chrome extension. Make sure to enter the random key Maloja generates on first startup in the extension.
|
||||
1) In order to scrobble your music from Plex Web or YouTube Music, install the included Chrome extension. Make sure to enter the random key Maloja generates on first startup in the extension. If you use another music player, Maloja has a very simple API to create your own scrobbler.
|
||||
|
||||
2) If you would like to import all your previous last.fm scrobbles, use [benfoxall's website](https://benjaminbenben.com/lastfm-to-csv/) ([GitHub page](https://github.com/benfoxall/lastfm-to-csv)). Use the command
|
||||
|
||||
|
@ -895,7 +895,7 @@ def sync():
|
||||
import copy
|
||||
|
||||
cache_query = {}
|
||||
cache_query_permanent = Cache(maxmemory=1024*1024*settings.get_settings("DB_CACHE_SIZE"),persistent=True,name="dbcache_query")
|
||||
cache_query_permanent = Cache(maxmemory=1024*1024*settings.get_settings("DB_CACHE_SIZE"))
|
||||
cacheday = (0,0,0)
|
||||
def db_query(**kwargs):
|
||||
check_cache_age()
|
||||
@ -918,7 +918,7 @@ def db_query(**kwargs):
|
||||
return result
|
||||
|
||||
cache_aggregate = {}
|
||||
cache_aggregate_permanent = Cache(maxmemory=1024*1024*settings.get_settings("DB_CACHE_SIZE"),persistent=True,name="dbcache_aggregate")
|
||||
cache_aggregate_permanent = Cache(maxmemory=1024*1024*settings.get_settings("DB_CACHE_SIZE"))
|
||||
def db_aggregate(**kwargs):
|
||||
check_cache_age()
|
||||
global cache_aggregate, cache_aggregate_permanent
|
||||
|
@ -7,7 +7,7 @@ from doreah.logging import log
|
||||
apis_artists = [
|
||||
{
|
||||
"name":"LastFM + Fanart.tv",
|
||||
"check":get_settings("LASTFM_API_KEY") is not None and get_settings("FANARTTV_API_KEY") is not None,
|
||||
"check":get_settings("LASTFM_API_KEY") not in [None,"ASK"] and get_settings("FANARTTV_API_KEY") not in [None,"ASK"],
|
||||
"steps":[
|
||||
("url","http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist={artiststring}&api_key=" + get_settings("LASTFM_API_KEY") + "&format=json"),
|
||||
("parse",["artist","mbid"]),
|
||||
@ -20,7 +20,7 @@ apis_artists = [
|
||||
apis_tracks = [
|
||||
{
|
||||
"name":"LastFM",
|
||||
"check":get_settings("LASTFM_API_KEY") is not None,
|
||||
"check":get_settings("LASTFM_API_KEY") not in [None,"ASK"],
|
||||
"steps":[
|
||||
("url","https://ws.audioscrobbler.com/2.0/?method=track.getinfo&track={titlestring}&artist={artiststring}&api_key=" + get_settings("LASTFM_API_KEY") + "&format=json"),
|
||||
("parse",["track","album","image",3,"#text"])
|
||||
|
@ -135,3 +135,4 @@ replaceartist A pink Apink
|
||||
# IOI
|
||||
replaceartist CHUNG HA Chungha
|
||||
countas Chungha I.O.I
|
||||
replacetitle 벌써 12시 Gotta Go Gotta Go
|
||||
|
Can't render this file because it has a wrong number of fields in line 5.
|
Loading…
x
Reference in New Issue
Block a user