sessions / 12b76837a39b634f2314694c9d8552f2c4944c74

/home/powellc/src/code.unbl.ink/secstate/vrobbler

This commit has no recorded session.

diff

ignore whitespace

commit 12b76837a39b634f2314694c9d8552f2c4944c74Author: Colin Powell <colin@unbl.ink>Date:   Mon Jun 15 13:43:58 2026 -0400    [project] Update todosdiff --git a/PROJECT.org b/PROJECT.orgindex 9cb4114..636c411 100644--- a/PROJECT.org+++ b/PROJECT.org@@ -547,6 +547,81 @@ Examples of trends: *** Description As an example https://comicbookroundup.com/comic-books/reviews/humanoids-publishing/the-history-of-science-fiction +** TODO [#C] Make podcast date format configurable in settings :podcasts:configuration:+:PROPERTIES:+:ID:       b01a94f8-328f-41ed-a62e-8b99c755b82d+:END:++*** Description++=PODCAST_DATE_FORMAT= is hardcoded to ="YYYY-MM-DD"=. Should be in Django settings or environment variables for deploy-specific configuration.++File: ~vrobbler/apps/podcasts/utils.py~ (line 13)++** TODO [#C] Extract zombie scrobble query into custom manager :refactoring:manager:+:PROPERTIES:+:ID:       79c874e1-ca6f-4bce-9259-e3eebdca8a41+:END:++*** Description+The zombie scrobble cleanup query lives in a utility function. Should be a+custom model manager method (e.g. =Scrobble.objects.zombies()=).++File: ~vrobbler/apps/scrobbles/utils.py~ (line 204)++** TODO [#C] Allow profile to set start of week :profiles:configuration:+:PROPERTIES:+:ID:       0449279a-9550-430e-be0c-816df7273080+:END:++*** Description+=start_of_week()= and =end_of_week()= use Monday as default. Should be a user+profile setting for different cultural week start conventions.++File: ~vrobbler/apps/profiles/utils.py~ (lines 39, 44)++** TODO [#C] Add constants for data dictionary keys (multiple files) :refactoring:constants:+:PROPERTIES:+:ID:       d4415f9b-620a-4be7-925d-fa71c02ba1d1+:END:++*** Description+Multiple files use magic string literals for dict keys. Should be extracted to+named constants for maintainability.++- Files:+  - ~vrobbler/apps/locations/models.py~ (line 63) -- ="lat"=, ="lon"= etc.+  - ~vrobbler/apps/webpages/models.py~ (line 290) -- ="url"=+  - ~vrobbler/apps/scrobbles/importers/tsv.py~ (line 55) -- ="S"= completion status++** TODO [#A] Fix how long play scrobbles are tracked :scrobbles:longplay:serial:+:PROPERTIES:+:ID:       908b0493-cabf-40c1-825f-cd59a8ad0f7a+:END:++*** Description++Currently we have this idea of "long_play" scrobbles but there's a lot missing+to tie it together.++What we'd prefer is that when a new scrobble is added for a media_type that+`is_long_play` the most recent scrobble finished is added as the+`last_serial_scrobble` to the log data. But all the other long play stuff exsits+as data model fields. We should add `long_play_last_scrobble` as a FK to this+scrobble when creating a new longplay scrobble.++Additionally, `long_play_seconds` we should have a recompute management command+to walk backward from `long_play_last_scrobble` until a `long_play_complete`+scrobble is found (exclusive) and save the time.++We should also ony use `long_play_complete` field on the scrobble ... some+logdatas have a similar field, but we should make sure that we always use the+model field to determine if a long play is finished.++This should include a command to clean up long play data to consolidate around+the `long_play_complete` field.++ ** DONE [#B] Paginate or limite scrobbles on media admin pages :admin:scrobbles:media: :PROPERTIES: :ID:       f02e487b-d7ed-4834-838a-303560f2ad3b