Bug 468116 - Export/import list of subscriptions
Summary: Export/import list of subscriptions
Status: CONFIRMED
Alias: None
Product: PlasmaTube
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR wishlist
Target Milestone: ---
Assignee: Linus Jahn
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-04-03 10:45 UTC by Antonios Hazim
Modified: 2024-04-07 15:20 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Antonios Hazim 2023-04-03 10:45:04 UTC
## SUMMARY

As it stands now, user will need an account on a Invidious server for easier access to subscriptions. Allowing a simpler offline export/import of subscriptions (like FreeTube & NewPipe) would allow ease of migration and kinda-synchronous work on different devices.

Possible formats to support
- Youtube: json, opml, csv
- NewPipe: json
- FreeTube: db

## SOFTWARE/OS VERSIONS

Linux/KDE Plasma: Archlinux
KDE Plasma Version: 5.27.3
KDE Frameworks Version: 5.104.0
Qt Version: 5.15.8

## ADDITIONAL INFORMATION

May also apply to AudioTube
Comment 1 Joshua Goins 2024-04-07 15:20:18 UTC
Git commit 8944e990d6ef2641ec1771d67883bf1211266c8c by Joshua Goins.
Committed on 07/04/2024 at 13:44.
Pushed by redstrate into branch 'master'.

Add feature to import/export (YouTube) OPML subscriptions

Only YouTube channels are supported for now, but now it's possible to
move data from YouTube <-> Invidious <-> FreeTube and now PlasmaTube.

The next thing to support would be PeerTube subscriptions.

M  +2    -0    src/CMakeLists.txt
M  +30   -0    src/controllers/videosource.cpp
M  +15   -0    src/controllers/videosource.h
M  +6    -0    src/models/subscriptionlistmodel.cpp
M  +4    -1    src/models/subscriptionlistmodel.h
M  +97   -0    src/ui/SubscriptionListPage.qml
A  +76   -0    src/utils/opmlparser.cpp     [License: GPL(v3.0+)]
A  +26   -0    src/utils/opmlparser.h     [License: GPL(v3.0+)]

https://invent.kde.org/multimedia/plasmatube/-/commit/8944e990d6ef2641ec1771d67883bf1211266c8c