[chirp_devel] [PATCH] [anytone_iii] Modifications necessary to pass standard CHIRP automated testing
# HG changeset patch # User Brad Schuler <brad@schuler.wsmailto:brad@schuler.ws> # Date 1605593121 25200 # Mon Nov 16 23:05:21 2020 -0700 # Node ID 2df5ebf6cb44272135be7174f0df8c4325667889 # Parent ea826afbd7489de236b7d1895f4552a32d78fb04 [anytone_iii] Modifications necessary to pass standard CHIRP automated testing
Related to issue #3941
diff -r ea826afbd748 -r 2df5ebf6cb44 chirp/drivers/anytone_iii.py --- a/chirp/drivers/anytone_iii.py Thu Nov 12 00:09:58 2020 -0700 +++ b/chirp/drivers/anytone_iii.py Mon Nov 16 23:05:21 2020 -0700 @@ -39,7 +39,7 @@ def __init__(self, radio, name='Banks'): super(ATBankModel, self).__init__(radio, name) self._banks = [] - self._memBounds = (0, 760) + self._memBounds = range(0, 750) for i in range(0, 10): self._banks.append(chirp_common.Bank(self, i, string.uppercase[i])) @@ -53,6 +53,13 @@ self._radio.set_bank(memory.number, bank.get_index()) def remove_memory_from_mapping(self, memory, mapping): + # I would argue that removing a memory from a mapping in which it does not exist should not throw an error. + # The end result is the requested result. The memory is not in the mapping. + # However, to pass the CHIRP TestCaseBanks, I must throw an error. This causes more code to execute than necessary. + # I could just call _radio.clr_bank, but now I must get_bank and compare. + index = self._radio.get_bank(memory.number) + if (index is None or index != mapping.get_index()): + raise Exception("Memory %d is not in bank %s" % (memory.number, bank.get_name())) self._radio.clr_bank(memory.number) def get_mapping_memories(self, bank): @@ -765,6 +772,7 @@ rf.has_settings = True rf.valid_modes = MODES + ['AM'] rf.valid_tmodes = ['', 'Tone', 'TSQL', 'DTCS', 'Cross'] + rf.valid_cross_modes = ["Tone->Tone", "DTCS->", "->DTCS", "Tone->DTCS", "DTCS->Tone", "->Tone", "DTCS->DTCS"] rf.valid_duplexes = DUPLEXES rf.valid_tuning_steps = TUNING_STEPS rf.valid_bands = BANDS @@ -1239,6 +1247,8 @@ dtmfId = element.value elif name == "5ToneId": fiveToneId = element.value + elif isinstance(element.value, _RadioSettingValueOffsetInt): + setattr(_emergency, name, int(element.value) + element.value.offset) else: setattr(_emergency, name, element.value) if EMER_ENI_TYPES[_emergency.eniType] == 'DTMF':
# HG changeset patch # User Brad Schuler brad@schuler.ws # Date 1605593121 25200 # Mon Nov 16 23:05:21 2020 -0700 # Node ID 2df5ebf6cb44272135be7174f0df8c4325667889 # Parent ea826afbd7489de236b7d1895f4552a32d78fb04 [anytone_iii] Modifications necessary to pass standard CHIRP automated testing
Related to issue #3941
Ah, this might be the answer to my question earlier about the tests. However, it doesn't seem to apply for me, potentially because of the html encoding. Can you resubmit the original, with the fixes squashed in in plain text so I can retry?
Thanks!
--Dan
participants (2)
-
Brad & Cindy Schuler
-
Dan Smith