CatQuest, it should now be Thursday in your time zone, so let me be one of the first to wish you a Happy Birthday!
gcrkrause has quit
gcrkrause joined the channel
MRiddickW has quit
MRiddickW joined the channel
kinduff6 joined the channel
kinduff has quit
kinduff6 is now known as kinduff
MrClon has quit
CatQuest
rdswift: thanks!
:D
MRiddickW has quit
reosarevok
🍰!
I assume you already got the MB cakes, but still :D
goldenshimmer, mayhem: of course, if we *do know* the format, we could still add it :)
(assuming that's what this was about)
mayhem
moooin!
Arsen has quit
Arsen joined the channel
BrainzGit
[listenbrainz-server] 14amCap1712 opened pull request #1776 (03master…validate-listen-): LB-1035: 500 error when sending an array to /1/submit-listens https://github.com/metabrainz/listenbrainz-serv...
mayhem
monkey: I dont remember what you and i were looking at yesterday, but the release_mbid in playlists is actually not trivial. a few hours of work, but not trivial. which means I can't really dig until the playlists are done.
lucifer
morning
lol this non-dict breaks the code to jsonify the exception too `TypeError: cannot convert dictionary update sequence element #0 to a sequence`
nbin
lucifer: those listens are still hanging around, so my account must be the edgiest of edge cases
lucifer
nbin: not an edge case but i had discovered another bug in listen counts yesterday evening :(. we are going to rework listen counts so that these bugs go away, listen counts are flaky till then.
nbin
no worries. if i add listens in the meantime i assume the count will eventually reflect properly?
lucifer
yes, when the counts are recalculated the correct one will be reflected.
nbin
that's all that really matters then. just figured since i was "starting fresh" that i should probably try to start from 0
maybe i'll use the "-1 when deleting an invalid listen" bug to get there :P
CatQuest has quit
CatQuest joined the channel
monkey
mayhem: Understood. So not a "one line change" then :p
mayhem
more like a weekend project.
well not quite.
monkey
So about a week?
mayhem
lol
I just need to make a new labs api endpoint for this.
monkey
Joyeux anniversaire CatQuest !
mayhem
and in the process I also figured out how to make canonical recordings, which is something that MB and BBC has desired over the years.
effectively, if you roll in with a recording_mbid, it will look up the canonical one and return it and the associated metadata.
akshaaatt monkey alastairp lucifer tandy1000 reosarevok : if I have made you a playlist (via troi-bot) in the past couple of weeks and you want to save your list, clone it soon. I'm going to nuke all generated playlists soon.
!m monkey
BrainzBot
You're doing good work, monkey!
monkey
Thanks for the heads up
Definitely want to save one of those playlists
akshaaatt
Already done ruaok 👌
mayhem
yeah, I'm saving my missed tracks one.
akshaaatt
mayhem!
mayhem
:D
lucifer
mayhem: 👍
alastairp
python logging is so confusing
mayhem
alastairp: agreed. one of my least favorite parts of python
alastairp
and it's so opaque in so many places, you have no idea _what_ is doing the logging
I think I've finally got the double-logging stuff fixed in both dev and prod
unfortunately, I now think my recommendation from earlier in the year to use `current_app.logger` everywhere was a stupid move and doesn't make sense, so got to put that on the future todo list again
MrClon has quit
mayhem
why so?
MrClon joined the channel
alastairp
flask has a single logger, named the thing that you pass in to the `Flask()` constructor. in our case this is `listenbrainz.webserver`. We print the name of the logger in log messages:
reosarevok: CB managed to find itself on the backburner again :( Maybe lucifer and I can do a hack week after YIM is finished or early in the new year to finish up all of the PRs (and the new LB mini review functionality!)
atj
no plugins installed except for a custom one I wrote to define some script functions for my folder name conventions
what's the plan? troi dumps a csv, we import the csv in LB with a script?
mayhem
I dislike the repeatability of this plan, so I am going to add a troi element that will query LB directly to fetch a list of users who do not have YIM playlists for a given troi patch. and the end of the pipeline will be a submitter element which executes an UPDATE statement on LB to insert the JSPF except into the DB. should the process get interrupted, I just start it over again.
alastairp
monkey: ` "test:ci": "JEST_JUNIT_OUTPUT_DIR=/tmp TZ='Europe/London' jest --ci --reporters=default --reporters=jest-junit",`
mayhem
that begs the question -- in which order do we process these things?
if I do an UPDATE, then I am assuming that most of the data already exists and that I just need to add one key value pair.
lucifer
order of processing as in order of other YIM stats and playlists?
mayhem
yes
lucifer
to confirm, troi will create a playlist for the user and then add a link of it to YIM table with a specifc key?
mayhem
I expect that generating playlists might take as long as a day.
lucifer: yes, to be specfic, monkey requested that I upload a 5 track JSPF except file to LB.
excerpt
lucifer
i see. i would say we execute both together, and let INSERT ON CONFLICT DO UPDATE do its job. all the stats jobs are written that way.