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

Unable to import really long YouTube subscription list #2226

Closed
2 of 3 tasks
mlow opened this issue Mar 17, 2019 · 7 comments · Fixed by TeamNewPipe/NewPipeExtractor#160
Closed
2 of 3 tasks

Unable to import really long YouTube subscription list #2226

mlow opened this issue Mar 17, 2019 · 7 comments · Fixed by TeamNewPipe/NewPipeExtractor#160
Labels
bug Issue is related to a bug youtube Service, https://www.youtube.com/

Comments

@mlow
Copy link

mlow commented Mar 17, 2019

Here is the roughly 90KB file I'm trying to import. I simply get the message "Could not import subscriptions." When I remove a large chunk of the list at random from the middle of the file, reducing it to about 40KB, I can get it to import. I'm not sure if it's related to the size of the list or if there happens to be a single entry in it breaking things. I'm happy to provide any other information I can to help track down the issue.

This is when running version 0.16.1 from fdroid on Android 9.0

Thanks!

@manoelnascimento
Copy link

Same problem here. I had to build 20 lists from the original "subscription_manager" file to import my YouTube subscription list. Running version 0.16.1 from F-Droid on Android 7.1.2 .

@deepimpactmir
Copy link

Encountered the same problem here too. Running on the 0.16.1 on Android 9

@buckket
Copy link

buckket commented Apr 22, 2019

I bisected my subscription_manager file until I found the culprit: It’s a deleted/suspended channel with empty title and text tags, that YouTube still includes in the exported list but NewPipe apparently can’t handle.

To reproduce one can try this minimal example:

<opml version="1.1"><body><outline text="YouTube Subscriptions" title="YouTube Subscriptions"><outline text="" title="" type="rss" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCxCmitIuHqjM_Gl72cu_ylA" /></body></opml>

Obvious workaround: Manually delete the problematic entry.

@Delta2333
Copy link

I bisected my subscription_manager file until I found the culprit: It’s a deleted/suspended channel with empty title and text tags, that YouTube still includes in the exported list but NewPipe apparently can’t handle.

To reproduce one can try this minimal example:

<opml version="1.1"><body><outline text="YouTube Subscriptions" title="YouTube Subscriptions"><outline text="" title="" type="rss" xmlUrl="https://www.youtube.com/feeds/videos.xml?channel_id=UCxCmitIuHqjM_Gl72cu_ylA" /></body></opml>

Obvious workaround: Manually delete the problematic entry.

Thank you soooooooooooooo much!!!! That's really helpful

Stypox added a commit to Stypox/NewPipeExtractor that referenced this issue Apr 26, 2019
(in the youtube subscription extractor)
Ignore subscriptions that have an empty title instead of throwing an error: the youtube subscription_manager XML file can sometimes contain those (i.e. deleted channels).
@Stypox
Copy link
Member

Stypox commented Apr 26, 2019

I found where the bug lies: in the NewPipeExtractor repo. The problem is that the youtube extractor explicitely throws an exception when the title is empty. See lines 66-68 at YoutubeSubscriptionExtractor.java.

I opened a pull request: TeamNewPipe/NewPipeExtractor#160

@mauriciocolli mauriciocolli added bug Issue is related to a bug youtube Service, https://www.youtube.com/ labels Apr 27, 2019
@mauriciocolli
Copy link
Contributor

Spot on, @buckket and @Stypox!

It's a little unexpected that YouTube put that in the export (because the title is empty, it "knew" it wasn't available when exporting), but looking at my subscriptions list I can find some channels that were removed as well, but they still show their names, maybe because YouTube don't delete subscriptions because a channel can be reinstated after a suspension (still, a bug in YouTube side).

But it's a problematic check nonetheless, it should only see if the url exists, because that's what matters.

PS: I don't think size matters (maybe in very memory contraint devices?), here it is importing a 6MB file:

@mlow
Copy link
Author

mlow commented Apr 27, 2019

Right on for finding the actual cause of this issue! Size alone did seem like an unlikely cause.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issue is related to a bug youtube Service, https://www.youtube.com/
Projects
None yet
7 participants