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.
2021-12-09 34300, 2021
lucifer
morning
2021-12-09 34306, 2021
lucifer
lol this non-dict breaks the code to jsonify the exception too `TypeError: cannot convert dictionary update sequence element #0 to a sequence`
2021-12-09 34346, 2021
nbin
lucifer: those listens are still hanging around, so my account must be the edgiest of edge cases
2021-12-09 34308, 2021
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.
2021-12-09 34331, 2021
nbin
no worries. if i add listens in the meantime i assume the count will eventually reflect properly?
2021-12-09 34352, 2021
lucifer
yes, when the counts are recalculated the correct one will be reflected.
2021-12-09 34307, 2021
nbin
that's all that really matters then. just figured since i was "starting fresh" that i should probably try to start from 0
2021-12-09 34325, 2021
nbin
maybe i'll use the "-1 when deleting an invalid listen" bug to get there :P
2021-12-09 34345, 2021
CatQuest has quit
2021-12-09 34314, 2021
CatQuest joined the channel
2021-12-09 34322, 2021
monkey
mayhem: Understood. So not a "one line change" then :p
2021-12-09 34343, 2021
mayhem
more like a weekend project.
2021-12-09 34345, 2021
mayhem
well not quite.
2021-12-09 34350, 2021
monkey
So about a week?
2021-12-09 34356, 2021
mayhem
lol
2021-12-09 34310, 2021
mayhem
I just need to make a new labs api endpoint for this.
2021-12-09 34316, 2021
monkey
Joyeux anniversaire CatQuest !
2021-12-09 34349, 2021
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.
2021-12-09 34320, 2021
mayhem
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.
2021-12-09 34345, 2021
mayhem
!m monkey
2021-12-09 34345, 2021
BrainzBot
You're doing good work, monkey!
2021-12-09 34348, 2021
monkey
Thanks for the heads up
2021-12-09 34307, 2021
monkey
Definitely want to save one of those playlists
2021-12-09 34329, 2021
akshaaatt
Already done ruaok 👌
2021-12-09 34333, 2021
mayhem
yeah, I'm saving my missed tracks one.
2021-12-09 34338, 2021
akshaaatt
mayhem!
2021-12-09 34352, 2021
mayhem
:D
2021-12-09 34354, 2021
lucifer
mayhem: 👍
2021-12-09 34339, 2021
alastairp
python logging is so confusing
2021-12-09 34331, 2021
mayhem
alastairp: agreed. one of my least favorite parts of python
2021-12-09 34332, 2021
alastairp
and it's so opaque in so many places, you have no idea _what_ is doing the logging
2021-12-09 34353, 2021
alastairp
I think I've finally got the double-logging stuff fixed in both dev and prod
2021-12-09 34338, 2021
alastairp
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
2021-12-09 34338, 2021
MrClon has quit
2021-12-09 34359, 2021
mayhem
why so?
2021-12-09 34308, 2021
MrClon joined the channel
2021-12-09 34330, 2021
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!)
2021-12-09 34356, 2021
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?
2021-12-09 34312, 2021
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.
2021-12-09 34350, 2021
alastairp
monkey: ` "test:ci": "JEST_JUNIT_OUTPUT_DIR=/tmp TZ='Europe/London' jest --ci --reporters=default --reporters=jest-junit",`
2021-12-09 34355, 2021
mayhem
that begs the question -- in which order do we process these things?
2021-12-09 34329, 2021
mayhem
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.
2021-12-09 34357, 2021
lucifer
order of processing as in order of other YIM stats and playlists?
2021-12-09 34308, 2021
mayhem
yes
2021-12-09 34311, 2021
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?
2021-12-09 34311, 2021
mayhem
I expect that generating playlists might take as long as a day.
2021-12-09 34339, 2021
mayhem
lucifer: yes, to be specfic, monkey requested that I upload a 5 track JSPF except file to LB.
2021-12-09 34349, 2021
mayhem
excerpt
2021-12-09 34338, 2021
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.