# HG changeset patch # User Dan Smith dsmith@danplanet.com # Date 1334271166 25200 # Node ID 1d6687778bf52a6b633044f2d5a8ab87283a0322 # Parent cc8eaaea59612fa079c97fc63d0b81c94fc4f5c9 [RFC] Make RadioReference push status during the fetch
Since we're walking a bunch of data, this helps the user not wonder if things are actually happening behind the scenes.
Tom, this should give you something to start with and hopefully improve a little. Bug #00
diff -r cc8eaaea5961 -r 1d6687778bf5 chirp/radioreference.py --- a/chirp/radioreference.py Thu Apr 12 15:51:47 2012 -0700 +++ b/chirp/radioreference.py Thu Apr 12 15:52:46 2012 -0700 @@ -30,7 +30,7 @@ "P25" : "P25", }
-class RadioReferenceRadio(chirp_common.Radio): +class RadioReferenceRadio(chirp_common.NetworkSourceRadio): VENDOR = "Radio Reference LLC" MODEL = "RadioReference.com"
@@ -61,20 +61,34 @@
zipcode = self._client.service.getZipcodeInfo(self._zip, self._auth) county = self._client.service.getCountyInfo(zipcode.ctid, self._auth) + + status = chirp_common.Status() + status.max = 0 + for cat in county.cats: + status.max += len(cat.subcats) + status.max += len(county.agencyList) + for cat in county.cats: print "Fetching category:", cat.cName for subcat in cat.subcats: print "\t", subcat.scName result = self._client.service.getSubcatFreqs(subcat.scid, self._auth) self._freqs += result + status.cur += 1 + self.status_fn(status) + status.max -= len(county.agencyList) for agency in county.agencyList: agency = self._client.service.getAgencyInfo(agency.aid, self._auth) for cat in agency.cats: + status.max += len(cat.subcats) + for cat in agency.cats: print "Fetching category:", cat.cName for subcat in cat.subcats: print "\t", subcat.scName result = self._client.service.getSubcatFreqs(subcat.scid, self._auth) self._freqs += result + status.cur += 1 + self.status_fn(status)
def get_features(self): if not self._freqs: @@ -153,4 +167,4 @@ print rrr.get_memory(0)
if __name__ == "__main__": - main() \ No newline at end of file + main()