From ba321945b6239f99403e429c6ff268c9de336537 Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 22 Jan 2025 19:41:03 -0500 Subject: [PATCH] Automated channel_id extraction --- tubesync/sync/views.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tubesync/sync/views.py b/tubesync/sync/views.py index 8ca853de..ff4a87f4 100644 --- a/tubesync/sync/views.py +++ b/tubesync/sync/views.py @@ -291,11 +291,24 @@ class ValidateSourceView(FormView): url = reverse_lazy('sync:add-source') fields_to_populate = self.prepopulate_fields.get(self.source_type) fields = {} + value = self.key + use_channel_id = ( + 'youtube-channel' == self.source_type_str and + '@' == self.key[0] + ) + if use_channel_id: + self.source_type_str = 'youtube-channel-id' + self.source_type = self.source_types.get(self.source_type_str, None) + self.key = youtube.get_channel_id( + Source.create_index_url(self.source_type, self.key, 'videos') + ) for field in fields_to_populate: if field == 'source_type': fields[field] = self.source_type - elif field in ('key', 'name', 'directory'): + elif field == 'key': fields[field] = self.key + elif field in ('name', 'directory'): + fields[field] = value return append_uri_params(url, fields)