mirror of
https://github.com/krateng/maloja.git
synced 2025-06-12 05:12:06 +03:00
Now using universal uri-key-to-internal-key method for direct database calls as well
This commit is contained in:
parent
6452b49512
commit
d3e46ac50b
2
.gitignore
vendored
2
.gitignore
vendored
@ -2,3 +2,5 @@ __pycache__
|
|||||||
*.sh
|
*.sh
|
||||||
apikey
|
apikey
|
||||||
*.txt
|
*.txt
|
||||||
|
nohup.out
|
||||||
|
screenshot*.png
|
||||||
|
65
database.py
65
database.py
@ -10,6 +10,7 @@ from malojatime import *
|
|||||||
import sys
|
import sys
|
||||||
import unicodedata
|
import unicodedata
|
||||||
import json
|
import json
|
||||||
|
from htmlgenerators import KeySplit
|
||||||
|
|
||||||
dbserver = Bottle()
|
dbserver = Bottle()
|
||||||
|
|
||||||
@ -168,11 +169,8 @@ def test_server():
|
|||||||
@dbserver.route("/scrobbles")
|
@dbserver.route("/scrobbles")
|
||||||
def get_scrobbles_external():
|
def get_scrobbles_external():
|
||||||
keys = FormsDict.decode(request.query)
|
keys = FormsDict.decode(request.query)
|
||||||
ckeys = {}
|
k_filter, k_time, _, k_amount = KeySplit(keys)
|
||||||
ckeys["artists"], ckeys["title"] = keys.getall("artist"), keys.get("title")
|
ckeys = {**k_filter, **k_time, **k_amount}
|
||||||
ckeys["since"], ckeys["to"], ckeys["within"] = keys.get("since"), keys.get("to"), keys.get("in")
|
|
||||||
ckeys["associated"] = (keys.get("associated")!=None)
|
|
||||||
ckeys["max_"] = keys.get("max")
|
|
||||||
|
|
||||||
result = get_scrobbles(**ckeys)
|
result = get_scrobbles(**ckeys)
|
||||||
return {"list":result}
|
return {"list":result}
|
||||||
@ -201,10 +199,8 @@ def get_scrobbles(**keys):
|
|||||||
@dbserver.route("/numscrobbles")
|
@dbserver.route("/numscrobbles")
|
||||||
def get_scrobbles_num_external():
|
def get_scrobbles_num_external():
|
||||||
keys = FormsDict.decode(request.query)
|
keys = FormsDict.decode(request.query)
|
||||||
ckeys = {}
|
k_filter, k_time, _, k_amount = KeySplit(keys)
|
||||||
ckeys["artists"], ckeys["title"] = keys.getall("artist"), keys.get("title")
|
ckeys = {**k_filter, **k_time, **k_amount}
|
||||||
ckeys["since"], ckeys["to"], ckeys["within"] = keys.get("since"), keys.get("to"), keys.get("in")
|
|
||||||
ckeys["associated"] = (keys.get("associated")!=None)
|
|
||||||
|
|
||||||
result = get_scrobbles_num(**ckeys)
|
result = get_scrobbles_num(**ckeys)
|
||||||
return {"amount":result}
|
return {"amount":result}
|
||||||
@ -268,8 +264,8 @@ def get_scrobbles_num(**keys):
|
|||||||
@dbserver.route("/tracks")
|
@dbserver.route("/tracks")
|
||||||
def get_tracks_external():
|
def get_tracks_external():
|
||||||
keys = FormsDict.decode(request.query)
|
keys = FormsDict.decode(request.query)
|
||||||
ckeys = {}
|
k_filter, _, _, _ = KeySplit(keys,forceArtist=True)
|
||||||
ckeys["artist"] = keys.get("artist")
|
ckeys = {**k_filter}
|
||||||
|
|
||||||
result = get_tracks(**ckeys)
|
result = get_tracks(**ckeys)
|
||||||
return {"list":result}
|
return {"list":result}
|
||||||
@ -306,8 +302,8 @@ def get_artists():
|
|||||||
@dbserver.route("/charts/artists")
|
@dbserver.route("/charts/artists")
|
||||||
def get_charts_artists_external():
|
def get_charts_artists_external():
|
||||||
keys = FormsDict.decode(request.query)
|
keys = FormsDict.decode(request.query)
|
||||||
ckeys = {}
|
_, k_time, _, _ = KeySplit(keys)
|
||||||
ckeys["since"], ckeys["to"], ckeys["within"] = keys.get("since"), keys.get("to"), keys.get("in")
|
ckeys = {**k_time}
|
||||||
|
|
||||||
result = get_charts_artists(**ckeys)
|
result = get_charts_artists(**ckeys)
|
||||||
return {"list":result}
|
return {"list":result}
|
||||||
@ -323,9 +319,8 @@ def get_charts_artists(**keys):
|
|||||||
@dbserver.route("/charts/tracks")
|
@dbserver.route("/charts/tracks")
|
||||||
def get_charts_tracks_external():
|
def get_charts_tracks_external():
|
||||||
keys = FormsDict.decode(request.query)
|
keys = FormsDict.decode(request.query)
|
||||||
ckeys = {}
|
k_filter, k_time, _, _ = KeySplit(keys,forceArtist=True)
|
||||||
ckeys["since"], ckeys["to"], ckeys["within"] = keys.get("since"), keys.get("to"), keys.get("in")
|
ckeys = {**k_filter, **k_time}
|
||||||
ckeys["artist"] = keys.get("artist")
|
|
||||||
|
|
||||||
result = get_charts_tracks(**ckeys)
|
result = get_charts_tracks(**ckeys)
|
||||||
return {"list":result}
|
return {"list":result}
|
||||||
@ -344,15 +339,9 @@ def get_charts_tracks(**keys):
|
|||||||
@dbserver.route("/pulse")
|
@dbserver.route("/pulse")
|
||||||
def get_pulse_external():
|
def get_pulse_external():
|
||||||
keys = FormsDict.decode(request.query)
|
keys = FormsDict.decode(request.query)
|
||||||
ckeys = {}
|
k_filter, k_time, k_internal, k_amount = KeySplit(keys)
|
||||||
ckeys["since"], ckeys["to"], ckeys["within"] = keys.get("since"), keys.get("to"), keys.get("in")
|
ckeys = {**k_filter, **k_time, **k_internal, **k_amount}
|
||||||
ckeys["step"], ckeys["trail"] = keys.get("step"), int_or_none(keys.get("trail"))
|
|
||||||
ckeys["artists"], ckeys["title"] = keys.getall("artist"), keys.get("title")
|
|
||||||
ckeys["associated"] = (keys.get("associated")!=None)
|
|
||||||
if ckeys["step"] is not None: [ckeys["step"],ckeys["stepn"]] = (ckeys["step"].split("-") + [1])[:2] # makes the multiplier 1 if not assigned
|
|
||||||
if "stepn" in ckeys: ckeys["stepn"] = int(ckeys["stepn"])
|
|
||||||
|
|
||||||
cleandict(ckeys)
|
|
||||||
results = get_pulse(**ckeys)
|
results = get_pulse(**ckeys)
|
||||||
return {"list":results}
|
return {"list":results}
|
||||||
|
|
||||||
@ -378,13 +367,9 @@ def get_pulse(**keys):
|
|||||||
def get_top_artists_external():
|
def get_top_artists_external():
|
||||||
|
|
||||||
keys = FormsDict.decode(request.query)
|
keys = FormsDict.decode(request.query)
|
||||||
ckeys = {}
|
_, k_time, k_internal, _ = KeySplit(keys)
|
||||||
ckeys["since"], ckeys["to"], ckeys["within"] = keys.get("since"), keys.get("to"), keys.get("in")
|
ckeys = {**k_time, **k_internal}
|
||||||
ckeys["step"], ckeys["trail"] = keys.get("step"), int_or_none(keys.get("trail"))
|
|
||||||
if ckeys["step"] is not None: [ckeys["step"],ckeys["stepn"]] = (ckeys["step"].split("-") + [1])[:2] # makes the multiplier 1 if not assigned
|
|
||||||
if "stepn" in ckeys: ckeys["stepn"] = int(ckeys["stepn"])
|
|
||||||
|
|
||||||
cleandict(ckeys)
|
|
||||||
results = get_top_artists(**ckeys)
|
results = get_top_artists(**ckeys)
|
||||||
return {"list":results}
|
return {"list":results}
|
||||||
|
|
||||||
@ -414,13 +399,11 @@ def get_top_artists(**keys):
|
|||||||
@dbserver.route("/top/tracks")
|
@dbserver.route("/top/tracks")
|
||||||
def get_top_tracks_external():
|
def get_top_tracks_external():
|
||||||
keys = FormsDict.decode(request.query)
|
keys = FormsDict.decode(request.query)
|
||||||
ckeys = {}
|
_, k_time, k_internal, _ = KeySplit(keys)
|
||||||
ckeys["since"], ckeys["to"], ckeys["within"] = keys.get("since"), keys.get("to"), keys.get("in")
|
ckeys = {**k_time, **k_internal}
|
||||||
ckeys["step"], ckeys["trail"] = keys.get("step"), int_or_none(keys.get("trail"))
|
|
||||||
if ckeys["step"] is not None: [ckeys["step"],ckeys["stepn"]] = (ckeys["step"].split("-") + [1])[:2] # makes the multiplier 1 if not assigned
|
# IMPLEMENT THIS FOR TOP TRACKS OF ARTIST AS WELL?
|
||||||
if "stepn" in ckeys: ckeys["stepn"] = int(ckeys["stepn"])
|
|
||||||
|
|
||||||
cleandict(ckeys)
|
|
||||||
results = get_top_tracks(**ckeys)
|
results = get_top_tracks(**ckeys)
|
||||||
return {"list":results}
|
return {"list":results}
|
||||||
|
|
||||||
@ -451,8 +434,8 @@ def get_top_tracks(**keys):
|
|||||||
@dbserver.route("/artistinfo")
|
@dbserver.route("/artistinfo")
|
||||||
def artistInfo_external():
|
def artistInfo_external():
|
||||||
keys = FormsDict.decode(request.query)
|
keys = FormsDict.decode(request.query)
|
||||||
ckeys = {}
|
k_filter, _, _, _ = KeySplit(keys,forceArtist=True)
|
||||||
ckeys["artist"] = keys.get("artist")
|
ckeys = {**k_filter}
|
||||||
|
|
||||||
results = artistInfo(**ckeys)
|
results = artistInfo(**ckeys)
|
||||||
return results
|
return results
|
||||||
@ -482,8 +465,8 @@ def artistInfo(artist):
|
|||||||
@dbserver.route("/trackinfo")
|
@dbserver.route("/trackinfo")
|
||||||
def trackInfo_external():
|
def trackInfo_external():
|
||||||
keys = FormsDict.decode(request.query)
|
keys = FormsDict.decode(request.query)
|
||||||
ckeys = {}
|
k_filter, _, _, _ = KeySplit(keys,forceTrack=True)
|
||||||
ckeys["artists"],ckeys["title"] = keys.getall("artist"), keys.get("title")
|
ckeys = {**k_filter}
|
||||||
|
|
||||||
results = trackInfo(**ckeys)
|
results = trackInfo(**ckeys)
|
||||||
return results
|
return results
|
||||||
@ -546,7 +529,7 @@ def post_scrobble():
|
|||||||
(artists,title) = cla.fullclean(artists,title)
|
(artists,title) = cla.fullclean(artists,title)
|
||||||
|
|
||||||
## this is necessary for localhost testing
|
## this is necessary for localhost testing
|
||||||
response.set_header("Access-Control-Allow-Origin","*")
|
#response.set_header("Access-Control-Allow-Origin","*")
|
||||||
|
|
||||||
createScrobble(artists,title,time)
|
createScrobble(artists,title,time)
|
||||||
|
|
||||||
|
@ -87,3 +87,24 @@ replaceartist MAMAMOO Mamamoo
|
|||||||
|
|
||||||
# Hello Venus
|
# Hello Venus
|
||||||
replaceartist Hello/Venus Hello Venus
|
replaceartist Hello/Venus Hello Venus
|
||||||
|
|
||||||
|
# BESTie
|
||||||
|
replaceartist BESTie(베스티) BESTie
|
||||||
|
replaceartist BESTie(베스티 (BESTie)) BESTie
|
||||||
|
|
||||||
|
# LABOUM
|
||||||
|
replacetitle PYONG PYONG (Shooting Love) PYONG PYONG
|
||||||
|
replacetitle PYONG PYONG (Shooting Love) (inst) PYONG PYONG (instrumental)
|
||||||
|
|
||||||
|
# Bambino
|
||||||
|
replaceartist 밤비노 (Bambino) Bambino
|
||||||
|
|
||||||
|
# Laysha
|
||||||
|
replaceartist LAYSHA Laysha
|
||||||
|
replacetitle chocolate cream Chocolate Cream
|
||||||
|
|
||||||
|
# GFriend
|
||||||
|
replaceartist 여자친구 GFriend GFriend
|
||||||
|
|
||||||
|
# Girl's Generation
|
||||||
|
replaceartist 소녀시대 Girls' Generation
|
||||||
|
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