pyqso
pyqso copied to clipboard
User-defined mode additions
Wishlist - It would be nice to add new modes like FT8 and JS8. It saves the author from making a new version right away ;-)
Perhaps the modes/submodes could be stored in sqlite table(s) from which the mode/submode combo-boxes would be populated as well as the associated internal lists. However, note that the modes/submodes available are defined by adif.org, so maybe a better solution would be to download the available modes from adif.org on start-up. That would ensure that the latest modes supported by the adif format would be available in pyqso as soon as they are published by adif. I note, that I have not used the cabrillo format and am not aware of any restrictions that may be imposed by this standard.
Agreed - I'd like to keep this ADIF-compatible so I'll see if there is a way of reliably downloading and parsing the list of valid modes and submodes from the ADIF website.
I've added a script in the new modes-update
branch which parses the MODES table on the ADIF website. It works by scraping the webpage of the most recent ADIF version using the BeautifulSoup module. However, if the HTML table ID ("Enumeration_Mode") or the formatting changes in the future then this could break the script.
It might be best to create a separate database in the res
(resources) directory containing the current list of modes and submodes. The user can then run the script to update this table if/when desired.
A new menu item is now available (ADIF > Update Modes) for updating the ADIF modes from the ADIF website. After entering a URL such as http://adif.org/309/ADIF_309.htm, PyQSO will scrape the webpage and parse the modes table to extract the up-to-date list of modes. This still needs to be tested and merged into the main branch, but feel free to give it a try in the mean time.