# HG changeset patch # User Dan Smith dsmith@danplanet.com # Date 1334271107 25200 # Node ID cc8eaaea59612fa079c97fc63d0b81c94fc4f5c9 # Parent ece8571a5ff1c15859a897c0cd6c94b683c6ee7d [RFC] Declare a network source radio type and make editorset run do_fetch() before starting the import. This gives us time to show status for sources that need it and give it to us (such as RadioReference). Bug #00
diff -r ece8571a5ff1 -r cc8eaaea5961 chirp/chirp_common.py --- a/chirp/chirp_common.py Thu Apr 12 21:25:41 2012 -0600 +++ b/chirp/chirp_common.py Thu Apr 12 15:51:47 2012 -0700 @@ -1010,6 +1010,10 @@ class LiveRadio(Radio): pass
+class NetworkSourceRadio(Radio): + def do_fetch(self): + pass + class IcomDstarSupport: MYCALL_LIMIT = (1, 1) URCALL_LIMIT = (1, 1) diff -r ece8571a5ff1 -r cc8eaaea5961 chirpui/editorset.py --- a/chirpui/editorset.py Thu Apr 12 21:25:41 2012 -0600 +++ b/chirpui/editorset.py Thu Apr 12 15:51:47 2012 -0700 @@ -251,6 +251,25 @@ def do_import(self, filen): try: src_radio = directory.get_radio_by_image(filen) + except Exception, e: + common.show_error(e) + return + + if isinstance(src_radio, chirp_common.NetworkSourceRadio): + ww = importdialog.WaitWindow("Querying...", self.parent_window) + ww.show() + def status(status): + ww.set(float(status.cur) / float(status.max)) + try: + src_radio.status_fn = status + src_radio.do_fetch() + except Exception, e: + common.show_error(e) + ww.hide() + return + ww.hide() + + try: if src_radio.get_features().has_sub_devices: src_radio = self.choose_sub_device(src_radio) except Exception, e: