Skip to content

Conversation

@SamantazFox
Copy link
Contributor

Very first draft of a specification

Co-authored-by: ChunkyProgrammer <[email protected]>
@SamantazFox
Copy link
Contributor Author

@ChunkyProgrammer Thanks ^^

Copy link

@FireMasterK FireMasterK left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also feel we should have a decoupled playlist and subscription files.

README.md Outdated

#### > `"videos"`

An array of `String`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add thumbnail, duration and published date (utc) optional fields for the video?

Copy link

@ghost ghost Apr 7, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably not as these can just be fetched by the app, and just bloats the format for no good reason.

Copy link

@Stypox Stypox Apr 26, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it should be consistent across the document, so either an (optional) thumbnail is allowed in all places, or it is not allowed anywhere

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've made the thumbnail present everywhere, but I don't think we should save more metadata in here.
I'm afraid that it'd grew out of control.

@ghost
Copy link

ghost commented Apr 7, 2023

I also feel we should have a decoupled playlist and subscription files.

Or maybe just be able to choose which you want to export within the app.

@SamantazFox
Copy link
Contributor Author

SamantazFox commented May 7, 2023

I've made the changes that were proposed in the various reviews above (may have missed some, sorry):

  • Separated playlists into different files
  • created a new object type (similar to subscriptions) for videos elements
  • Added type (service name) and id (unique id) to subscription to ease parsing
  • Added thumbnails to all objects, but made them optional
  • Added a new file for "saved" (or "bookmarked") playlists

Comment on lines +31 to +41
#### `"watch_history_present"`

A Boolean.

Indicates whether the special playlist `watch_history` was included in the export.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we really be doing this? Watch history can have additional fields such as the watched till duration, and additional metadata. I would suggest an additional format to store this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This field is only here to indicate if the watch_history file is part of the export.
The format of the watch history can still evolve regardless!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@FireMasterK if that confuses you, I can reword that part!
Right now, videos in history and regular playlists are the same objects, but that's definitely going to change ^^

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@FireMasterK if that confuses you, I can reword that part! Right now, videos in history and regular playlists are the same objects, but that's definitely going to change ^^

That makes more sense! I think they can be reworded once we finalize a specification for watch history too.

But, in such a scenario, can't we remove this field altogether?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was thinking to make some files optional during the export (like the watch history).
This field's purpose is ti tell the importer whether that file is supposed to be present in the export.

The description of the playlist.
Format: plain text (? TBD)

CAN be nil; In this case, the parser MUST assume an empty `String`.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is it assuming an empty string if the value is nil?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree, I think it's perfectly reasonable to assume null for a description if none was ever set.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I probably need to improve the wording... The idea is that nil and empty string have to be considered the same (that is, no description is present).

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally there should only be null if there is no description, and otherwise there is a string.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants