FreeTube icon indicating copy to clipboard operation
FreeTube copied to clipboard

Add option to add special "Uncategorized" profile

Open BeatLink opened this issue 5 years ago • 7 comments

Is your feature request related to a usage problem (not a bug)? Please describe. I wish to use profiles to sort my subscriptions, however I am always frustrated when i am not able to tell which channel has been subscribed to in a profile vs which is only visible in the "All Channels" profile

Describe the solution you'd like to see implemented I would like the option to add a special "Uncategorized" profile, perhaps toggled through settings, that would show subscriptions that are only subscribed to in the "All Channels" profile, so that i can easily know which has not been sorted into a specific profile as yet

Describe alternatives you've considered I am not sure there is an alternative. If you can think of one, I'd love to hear it.

Screenshots Not really applicable here as yet

Additional context Cant think of anything

BeatLink avatar Jan 07 '21 02:01 BeatLink

I just realized that the "Other Channel's" area of the profile's settings page serves this purpose. Closing this issue

BeatLink avatar Jan 07 '21 02:01 BeatLink

I just realized that the "Other Channel's" area of the profile's settings page serves this purpose. Closing this issue

It doesn't anymore? (Now?) under "Other Channels" there's a Profile Filter and if All Channels is selected it shows all Channels. I guess this was changed(?) so you select the same channel multiple times under different profiles, otherwise it'd disappear from the "other channels" and can't be added to another profile. Which is fine but I'd really like to see which channels haven't been added to any profile yet, to better sort them all into neat themed categories and have no strays.

~~So re-open, please. ~~ I have to make up my mind about on how to improve this. Selecting channels from the "Other Channels" and "Add Selected To Profile" makes them disappear from that list and moved to "Subscription List" but there's still no way to see those channels that haven't been added to any profile yet. If you plan to add those uncategorized profiles into a new profile, there's no way to tell.

Maybe this whole thing needs a more substantial overhaul, but since I have no idea at the moment how to make it better and more convenient and whether it would go against some design choices of the developers (Profile serving a certain purpose and must not be changed for example), there's no point in opening an issue about it.

Gorrrg avatar Jul 29 '23 08:07 Gorrrg

Having a checkmark or an option to "Only show uncategorized channels" or "Exclude channels belonging to other profiles" when navigating "All Channels" would be great.

m3thm4th avatar Apr 26 '24 12:04 m3thm4th

Are there any updates on this? I'd still like a way to see all channels that arent in another profile

BeatLink avatar Feb 14 '25 21:02 BeatLink

For now, here's a quick Python script I threw together to make an "Uncategorized" profile (overwriting an existing one)

import json

with open('profiles.db') as f:
    profiles = [json.loads(line) for line in f]

profiles = [p for p in profiles if p['_id'] != 'uncategorized']

for p in profiles:
    if p.get('_id') == 'allChannels':
        all_ch = p
        break

uncat = [c['id'] for c in all_ch['subscriptions']]

for p in profiles:
    if p.get('_id') != 'allChannels':
        for c in p['subscriptions']:
            if c['id'] in uncat:
                uncat.remove(c['id'])

profiles.append({
    'name': 'Uncategorized',
    'bgColor': '#111111',
    'textColor': '#ffffff',
    'subscriptions': [c for c in all_ch['subscriptions'] if c['id'] in uncat],
    '_id': 'uncategorized',
})

with open('profiles.db', mode='w') as f:
    for p in profiles:
        f.write(json.dumps(p))
        f.write('\n')

(Of course, make sure to back up your data before running just in case.)

zacryol avatar Oct 14 '25 20:10 zacryol

How do i implement this? Is there a way to run custom scripts?

BeatLink avatar Oct 14 '25 21:10 BeatLink

How do i implement this? Is there a way to run custom scripts?

you don't put it into FreeTube, you just run python this_script.py in the folder that has profiles.db

zacryol avatar Oct 14 '25 22:10 zacryol