[chirp_devel] [PATCH 1 of 2] [RFC] Declare a network source radio type and make editorset run do_fetch()
Tom Hayward
Fri Apr 13 06:51:30 PDT 2012
# HG changeset patch
# User Dan Smith <dsmith at 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:
More information about the chirp_devel
mailing list