mirror of
https://github.com/krateng/maloja.git
synced 2025-07-09 03:04:07 -04:00
Added new scrobble generation for testing
This commit is contained in:
parent
504bfb405e
commit
817d98e467
@ -1194,24 +1194,3 @@ def scrobbles_in_range(start,end,reverse=False):
|
|||||||
if stamp < start: continue
|
if stamp < start: continue
|
||||||
if stamp > end: return
|
if stamp > end: return
|
||||||
yield SCROBBLESDICT[stamp]
|
yield SCROBBLESDICT[stamp]
|
||||||
|
|
||||||
|
|
||||||
# for performance testing
|
|
||||||
def generateStuff(num=0,pertrack=0,mult=0):
|
|
||||||
import random
|
|
||||||
for _ in range(num):
|
|
||||||
track = random.choice(TRACKS)
|
|
||||||
t = get_track_dict(track)
|
|
||||||
time = random.randint(STAMPS[0],STAMPS[-1])
|
|
||||||
createScrobble(t["artists"],t["title"],time,volatile=True)
|
|
||||||
|
|
||||||
for track in TRACKS:
|
|
||||||
t = get_track_dict(track)
|
|
||||||
for _ in range(pertrack):
|
|
||||||
time = random.randint(STAMPS[0],STAMPS[-1])
|
|
||||||
createScrobble(t["artists"],t["title"],time,volatile=True)
|
|
||||||
|
|
||||||
for scrobble in SCROBBLES:
|
|
||||||
s = get_scrobble_dict(scrobble)
|
|
||||||
for i in range(mult):
|
|
||||||
createScrobble(s["artists"],s["title"],s["time"] - i*500,volatile=True)
|
|
||||||
|
@ -71,7 +71,6 @@ def direct():
|
|||||||
from .. import server
|
from .. import server
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@mainfunction({"l":"level"},shield=True)
|
@mainfunction({"l":"level"},shield=True)
|
||||||
def main(action,*args,**kwargs):
|
def main(action,*args,**kwargs):
|
||||||
actions = {
|
actions = {
|
||||||
@ -84,7 +83,8 @@ def main(action,*args,**kwargs):
|
|||||||
"import":tasks.loadlastfm,
|
"import":tasks.loadlastfm,
|
||||||
"backup":tasks.backuphere,
|
"backup":tasks.backuphere,
|
||||||
# "update":update,
|
# "update":update,
|
||||||
"fix":tasks.fixdb
|
"fix":tasks.fixdb,
|
||||||
|
"generate":tasks.generate_scrobbles
|
||||||
}
|
}
|
||||||
if action in actions: actions[action](*args,**kwargs)
|
if action in actions: actions[action](*args,**kwargs)
|
||||||
else: print("Valid commands: " + " ".join(a for a in actions))
|
else: print("Valid commands: " + " ".join(a for a in actions))
|
||||||
|
@ -34,3 +34,9 @@ def update():
|
|||||||
def fixdb():
|
def fixdb():
|
||||||
from .fixexisting import fix
|
from .fixexisting import fix
|
||||||
fix()
|
fix()
|
||||||
|
|
||||||
|
def generate_scrobbles():
|
||||||
|
targetfile = data_dir['scrobbles']("randomgenerated.tsv")
|
||||||
|
|
||||||
|
from .generate import generate
|
||||||
|
generate(targetfile)
|
||||||
|
67
maloja/proccontrol/tasks/generate.py
Normal file
67
maloja/proccontrol/tasks/generate.py
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
import random
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
artists = [
|
||||||
|
"Chou Tzuyu","Jennie Kim","Kim Seolhyun","Nancy McDonie","Park Junghwa","Hirai Momo","Rosé Park","Laura Brehm","HyunA",
|
||||||
|
"Jeremy Soule","Jerry Goldsmith","Howard Shore","Tilman Sillescu","James Newton Howard","Bear McCreary","David Newman",
|
||||||
|
"Approaching Nirvana","7 Minutes Dead","Tut Tut Child","Mr FijiWiji","Tut Tut Child"
|
||||||
|
]
|
||||||
|
|
||||||
|
adjectives = [
|
||||||
|
"Black","Pink","Yellow","Scarlet","Purple","Burgundy","Orange","Golden","Green","Vermilion",
|
||||||
|
"Misty","Foggy","Cloudy","Hazy","Cold","Hot","Warm","Dark","Bright",
|
||||||
|
"Long","Short","Last","First","Final","Huge","Tiny","Important"
|
||||||
|
]
|
||||||
|
nouns = [
|
||||||
|
"Ship","Princess","Castle","Monastery","Sword","War","Battle","Temple","Army",
|
||||||
|
"Valley","River","Waterfall","Mountain","Tree","Forest","Sea","Desert","Montains","Clouds","Glacier",
|
||||||
|
"Penguin","Tiger","Phoenix","Qilin","Dragon","Tortoise","Bird","Toucan"
|
||||||
|
]
|
||||||
|
prepositions = ["in","of","over","under","about","across","inside","toward","on","within","with"]
|
||||||
|
verbs = ["Lifting","Stealing","Dancing","Running","Jumping","Singing"]
|
||||||
|
|
||||||
|
patterns = [
|
||||||
|
"{n1} {p1} the {a1} {n2}",
|
||||||
|
"The {a1} {n1}",
|
||||||
|
"{p1} the {a1} {n1}",
|
||||||
|
"{a1} {n1} {p1} the {a2} {n2}",
|
||||||
|
"{v1} the {a1} {n1}",
|
||||||
|
"{v1} {p1} the {a1} {n1}",
|
||||||
|
"{v1} and {v2}",
|
||||||
|
"{a1} {n1} {p1} the {n2} {n3}",
|
||||||
|
"{a1} {n1} and the {n2} {n3}"
|
||||||
|
]
|
||||||
|
|
||||||
|
def generate_track():
|
||||||
|
|
||||||
|
title = random.choice(patterns).format(
|
||||||
|
n1=random.choice(nouns),
|
||||||
|
n2=random.choice(nouns),
|
||||||
|
n3=random.choice(nouns),
|
||||||
|
a1=random.choice(adjectives),
|
||||||
|
a2=random.choice(adjectives),
|
||||||
|
p1=random.choice(prepositions),
|
||||||
|
p2=random.choice(prepositions),
|
||||||
|
v1=random.choice(verbs),
|
||||||
|
v2=random.choice(verbs)
|
||||||
|
)
|
||||||
|
title = "".join([title[0].upper(),title[1:]])
|
||||||
|
trackartists = [random.choice(artists) for _ in range(random.randint(1, 3))]
|
||||||
|
|
||||||
|
return {
|
||||||
|
"artists":trackartists,
|
||||||
|
"title":title
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def generate(targetfile):
|
||||||
|
with open(targetfile,"a") as fd:
|
||||||
|
for _ in range(200):
|
||||||
|
track = generate_track()
|
||||||
|
for _ in range(random.randint(1, 50)):
|
||||||
|
timestamp = random.randint(1, int(datetime.datetime.now().timestamp()))
|
||||||
|
|
||||||
|
entry = "\t".join([str(timestamp),"␟".join(track['artists']),track['title'],"-"])
|
||||||
|
fd.write(entry)
|
||||||
|
fd.write("\n")
|
Loading…
x
Reference in New Issue
Block a user