diff --git a/app/client.py b/app/client.py index ed4eb56..8b09b68 100644 --- a/app/client.py +++ b/app/client.py @@ -68,15 +68,18 @@ async def join_server(system_id, guild_id, channel_id): pass # Generate the config for the channel requested - chn_config = ConfigGenerator( + tags_list = [TalkgroupTag(**tag_dict) for tag_dict in sys_details.get('tags', []) if tag_dict] if sys_details.get('tags') is not None else None + + sys_config = ConfigGenerator( type=sys_details['decode_mode'], systemName=sys_details['name'], - frequencys=sys_details['frequency_list_khz'], - tags=sys_details['tags'], - whitelist=sys_details['tag_whitelist']) + frequencies=sys_details['frequency_list_khz'], # Assuming 'channels' is the correct field name + tags=tags_list, + whitelist=sys_details.get('tag_whitelist') # Use .get for optional fields + ) # Set the OP25 config - drb_api.generate_op25_config(chn_config) + await drb_api.generate_op25_config(sys_config) # Start OP25 await drb_api.start_op25() diff --git a/app/drb_cdb_types.py b/app/drb_cdb_types.py index b71b020..3173caa 100644 --- a/app/drb_cdb_types.py +++ b/app/drb_cdb_types.py @@ -22,13 +22,13 @@ class ConfigGenerator: self, type: DecodeMode, systemName: str, - frequencys: List[str], + frequencies: List[str], tags: Optional[List[TalkgroupTag]] = None, whitelist: Optional[List[int]] = None ): self.type = type self.systemName = systemName - self.frequencys = frequencys + self.frequencies = frequencies self.tags = tags self.whitelist = whitelist @@ -37,7 +37,7 @@ class ConfigGenerator: data = { "type": self.type.value, # Use .value for Enum "systemName": self.systemName, - "frequencys": self.frequencys, + "frequencies": self.frequencies, } if self.tags is not None: # Convert list of TalkgroupTag objects to list of dictionaries