diff --git a/apps/epg/serializers.py b/apps/epg/serializers.py index 9d4e80c0..a1354bf0 100644 --- a/apps/epg/serializers.py +++ b/apps/epg/serializers.py @@ -37,6 +37,7 @@ class EPGSourceSerializer(serializers.ModelSerializer): 'epg_data_count', 'has_channels', ] + extra_kwargs = {'password': {'write_only': True}} def get_epg_data_count(self, obj): """Return the count of EPG data entries instead of all IDs to prevent large payloads""" diff --git a/apps/epg/tasks.py b/apps/epg/tasks.py index 0ba20864..d5d99446 100644 --- a/apps/epg/tasks.py +++ b/apps/epg/tasks.py @@ -2540,17 +2540,17 @@ def fetch_schedules_direct(source, stations_only=False): } # Only fetch programs where MD5 differs from our cached value - programs_to_fetch = [ + programs_to_fetch = { pid for pid in program_ids_needed if schedule_program_md5s.get(pid) != cached_prog_md5s.get(pid) - ] + } logger.info( f"Program MD5 delta: {len(program_ids_needed)} programs in schedules, " f"{len(programs_to_fetch)} need downloading ({len(program_ids_needed) - len(programs_to_fetch)} unchanged).") program_metadata = {} - program_id_list = programs_to_fetch + program_id_list = list(programs_to_fetch) total_batches = max(1, (len(program_id_list) + SD_PROGRAM_BATCH_SIZE - 1) // SD_PROGRAM_BATCH_SIZE) if program_id_list: