Skip to content
This repository was archived by the owner on Dec 25, 2025. It is now read-only.

Commit e15aa82

Browse files
committed
Allow reset of power and freq by 0
1 parent 85806a6 commit e15aa82

2 files changed

Lines changed: 16 additions & 4 deletions

File tree

src/hamcc/hamcc.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -442,11 +442,19 @@ def evaluate_numeric(self, seq: str) -> str:
442442
self.__time__ = t
443443
self.__cur_qso__['TIME_ON'] = self.__time__
444444
elif seq.endswith('f'):
445-
self.__freq__ = f'{float(seq[:-1]) / 1000:0.6f}'.rstrip('0').rstrip('.')
446-
self.__cur_qso__['FREQ'] = self.__freq__
445+
if seq[:-1] != '0':
446+
self.__freq__ = f'{float(seq[:-1]) / 1000:0.6f}'.rstrip('0').rstrip('.')
447+
self.__cur_qso__['FREQ'] = self.__freq__
448+
else:
449+
self.__freq__ = ''
450+
self.__cur_qso__.pop('FREQ')
447451
elif seq.endswith('p'):
448-
self.__pwr__ = seq[:-1]
449-
self.__cur_qso__['TX_POWER'] = self.__pwr__
452+
if seq[:-1] != '0':
453+
self.__pwr__ = seq[:-1]
454+
self.__cur_qso__['TX_POWER'] = self.__pwr__
455+
else:
456+
self.__pwr__ = ''
457+
self.__cur_qso__.pop('TX_POWER')
450458
else:
451459
return 'Error: Unknown number format'
452460
return ''

test/test_evaluate.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,15 @@ def test_020_numeric(self):
2626

2727
self.assertEqual('', self.cc.evaluate('12p'))
2828
self.assertEqual('12', self.cc.current_qso['TX_POWER'])
29+
self.assertEqual('', self.cc.evaluate('0p'))
30+
self.assertNotIn('TX_POWER', self.cc.current_qso)
2931

3032
self.assertEqual('', self.cc.evaluate('14312f'))
3133
self.assertEqual('14.312', self.cc.current_qso['FREQ'])
3234
self.assertEqual('', self.cc.evaluate('145312.5f'))
3335
self.assertEqual('145.3125', self.cc.current_qso['FREQ'])
36+
self.assertEqual('', self.cc.evaluate('0f'))
37+
self.assertNotIn('FREQ', self.cc.current_qso)
3438

3539
def test_022_numeric_time(self):
3640
self.assertEqual('Error: Wrong time format', self.cc.evaluate('1t'))

0 commit comments

Comments
 (0)