Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explain (or let user decide) what happens when comment/video/channel gets deleted #112

Open
page200 opened this issue May 31, 2022 · 2 comments
Labels

Comments

@page200
Copy link

page200 commented May 31, 2022

Thank you for the wonderful program!

If it downloads a comment, and then the comment or video or channel gets deleted, and then the user clicks "Refresh" in order to download newer comments, what happens in the database with the comments that don't exist on YouTube anymore? Since one of the main purposes of the program is archiving, it should keep the previously downloaded comments (does it do that?) (or let the user decide), and maybe add a "deleted from YouTube" tag in the database.

On a similar note, what does the option "Overwrite comments and channels if already downloaded" do? Is this about re-downloading a comment whose text has been edited by the commenter? If overwriting channels is disabled, are newer comments not fetched?

On a similar note, if a video that is saved in the local database gets unlisted on YouTube, will clicking "Refresh" download its newest comments? That would be good (or let the user decide).

@page200 page200 changed the title Decide and document (or let user decide) what happens when comment/video/channel gets deleted Document (or let user decide) what happens when comment/video/channel gets deleted May 31, 2022
@page200 page200 changed the title Document (or let user decide) what happens when comment/video/channel gets deleted Explain (or let user decide) what happens when comment/video/channel gets deleted May 31, 2022
@mattwright324
Copy link
Owner

Hi @page200,

Those are all good questions!

In the event a comment, video, or channel are deleted or become inaccessible any number of ways, yes, what you previously downloaded on a refresh will stay in the database. They will never disappear unless you were to clear the database, delete the data for the group(item) that the comments were associated to, or delete the entire database file.

It is not as efficient to determine the status of whether a comment is deleted or not. In some circumstances such as the video being privated, deleted, marked for kids, I could easily determine any previously downloaded comments for that particular video are no longer accessible. However, to determine the deleted or not status of the unknown potentially large number of comments a person may have downloaded that could use up too much API quota to be worth it.

When enabling the Overwrite comments and channels if already downloaded option, if the comment text, comment author's channel name, or comment author's profile image url changed from the last time it was downloaded they will be overwritten with the latest that you just grabbed. There is no history for what has been changed though.

As for unlisted, it depends. If you specified just a channel in the group it will grab and use only the currently public videos for that channel so it would stop tracking a now-unlisted video as it would no longer come back in the API for that channel. This seems to be an oversight and something I could add to the process, checking every id grabbed in the past for a channel and not just what comes back today. However, if you specify the specific video that is unlisted or a playlist that the unlisted video is in then it will still get its comments just fine.

@page200
Copy link
Author

page200 commented May 31, 2022

what you previously downloaded on a refresh will stay in the database.

Perfect, thanks! Maybe the "Refresh" dialog should say something like "The Refresh will NOT propagate deletions of comments/videos/channels into the local database." or simply "The Refresh does NOT delete anything from the local database."

Maybe even a more appropriate word than "Refresh" can be found (inspired by what similar operations are called in DropSync or FreeFileSync or rsync). Maybe something like "Fetch more".

It is not as efficient to determine the status of whether a comment is deleted or not.

Due to the extra cost, as far as I'm concerned, determining that isn't necessary.

When enabling the Overwrite comments and channels if already downloaded option, if the comment text, comment author's channel name, or comment author's profile image url changed from the last time it was downloaded they will be overwritten with the latest that you just grabbed. There is no history for what has been changed though.

Maybe the text should say "commenters' profiles" or "commenters' channels" instead of "channels" to avoid confusion with the channel that posted the video.

checking every id grabbed in the past for a channel and not just what comes back today.

Sounds good. Low priority for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants