Commit Graph

126 Commits (mike/prizebot)

Author SHA1 Message Date
Mike Lang 2255bc7fc0 sheetsync: Add column to tags sheet 3 weeks ago
Mike Lang e923853ca8 sheetsync: Update playlist sheet column order 3 weeks ago
Mike Lang 3e7cb38cf0 sheetsync: Optionally download media linked in image links column
To enable this, you need to:
- set --media-dir globally for sheetsync
- enable download_media=true for the events sync config
To disable for individual rows (eg. because of known issues), put "[nodownload]" in the notes column.
2 months ago
Mike Lang 23ad78d592 Record in database when end time is "--"
We need this so that reverse sync reproduces these values correctly.

To handle this in the database, we have a composite type (dashed: boolean, value: timestamp).
Value is always valid and is equivalent to the old timestamp column,
but must be equal to start_time if dashed is true.

The only place we directly reference this column outside sheetsync is thrimshim, where we
always consider the value only.
3 months ago
Mike Lang 1dec53924f fix typo 3 months ago
Mike Lang 91511295c0 Fix poster moment tag 3 months ago
Mike Lang 25e5e933b5 Fix typo 3 months ago
Mike Lang 7d89569ead Code more defensively around out-of-order or missing parent ids 3 months ago
Mike Lang 760dbd1e07 sheetsync: Convey row parent info
by prefixing with a number of ^ characters and noting the parent id in the notes column.
3 months ago
Mike Lang 23960d947b streamlog: implicit tags must be first 3 months ago
Mike Lang 664f98150f sheets implicit tags fix 3 months ago
Mike Lang 62491d119f debugging 3 months ago
Mike Lang 06931db26b more sheetsync fixes 3 months ago
Mike Lang 1a5687204d debugging 3 months ago
Mike Lang 820f7322f9 more streamlog fixes 3 months ago
Mike Lang b68abb92e2 more streamlog column names 3 months ago
Mike Lang 484e768303 correct streamlog column name 3 months ago
Mike Lang 20ee382b7f sheetsync: Fix missing arg
Just hard-code that the tags sheet is always called "Tags" for now, we can fix later
if it ever needs to change.
3 months ago
Mike Lang c6058cbdd0 sheetsync: Update streamlog playlist middleware with API changes
To allow setting playlist name and show_in_description
3 months ago
Mike Lang 367e6a7a7a sheetsync fixes
typos and omissions
3 months ago
Mike Lang 44f4433cad more typos in streamlog archive middleware 3 months ago
Mike Lang eeffeeed10 sheetsync: Deal with reverse syncing properly when not all events are in the list of worksheets
This is important because archive events should not be reversed.
We only want to create new rows when the row's intended worksheet is in our list of worksheets we sync.
3 months ago
Mike Lang 96181fd875 Support archive sync in sheetsync again 3 months ago
Mike Lang a3aaa37bb0 Restructure playlists table
to have all tags, not just playlists.
Notably, this means playlist ids may be null.
3 months ago
Mike Lang 145ddfc7ff Fix some typos in StreamLogPlaylistsMiddleware 3 months ago
Mike Lang 0f06f96a7c Fix: Move events-specific observe_rows() out of SheetSync 3 months ago
Mike Lang 73eaac16f3 Update sheetsync CLI interface to allow any combination of types and backends 3 months ago
Mike Lang bb4cc8c668 sheetsync: Replace old special-case PlaylistSync with SheetSync subclass 3 months ago
Mike Lang ef11b69f4d Fix sheetsync to use Sheets client from common 3 months ago
Mike Lang 98b1749528 implement SheetsPlaylistMiddleware and fix lots of SheetsMiddleware issues 3 months ago
Mike Lang c84b2254ee sheetsync: Streamlog middleware for playlists 3 months ago
Mike Lang e9b6e27598 sheetsync: Make the middleware interface explicit with a base class
The main purpose here is just documentation, so it's clear what the semantics of a middleware is.
3 months ago
Mike Lang 3ffbefea4f sheetsync: Split SheetsMiddleware into a common base class and events specific 3 months ago
Mike Lang bebce3df4c sheetsync: Only consider a row missing if we did a full sync
This prevents things being spuriously missing because they were in a worksheet we didn't sync.
3 months ago
Mike Lang 3cdd8f22ad Split SheetSync object to be fully generic and have an EventsSync object for events 3 months ago
Mike Lang 6a9884ee5b sheetsync: Move extra metrics columns into a variable 3 months ago
Mike Lang 37dd7c3e4f sheetsync: Move various config fields to be defined on the class object
Also make the columns lists into sets
3 months ago
Mike Lang 5559dffec6 sheetsync: pull metric gathering into a seperate function 3 months ago
Mike Lang 37f42853ec sheetsync: Extract db table name into a variable
So we can swap it out for playlists later
3 months ago
Mike Lang 00d0ecc3bb sheetsync: Handle sheet_name as an input column to avoid special casing
sheet_name must always be present on a sheet row, but is only present on a db row
if the db actually stores that data.

As a side benefit, the db will now update if sheet_name changes.
3 months ago
Mike Lang 2db20d202b sheetsync: Update streamlog middleware for section -> tab rename 3 months ago
Mike Lang 9fb356bf45 sheetsync: Better error handling for running out of space when creating rows 3 months ago
Mike Lang 29ff11457e sheetsync: Namespace all logs and metrics behind a sheetsync "name"
This helps differentiate the multiple syncs we now have and will have:
- syncing events from streamlog
- reverse syncing events to sheets
- syncing playlists
3 months ago
Mike Lang 87b504a00a sheetsync: Rename "row" and "event" to "sheet_row" and "db_row"
First step to combining event and playlist sync into one codepath.

No actual behaviour changes intended.
3 months ago
Mike Lang 20ee79cdb1 Get sheets working again 3 months ago
Mike Lang f89ab6fa43 Don't make sheet name an input column, go back to special casing it on row create
This means it won't update if put in the wrong place,
but avoids issues with reverse sync trying to write it out when it's not an actual column
3 months ago
Mike Lang 430938dc49 error is always a string, it just might be empty 3 months ago
Mike Lang f8d3eb7f00 wip: 3 months ago
Mike Lang ee4a68af50 clear up confusion with empty string vs None 3 months ago
Mike Lang 3e873ca5f6 wip: fixes 3 months ago