code: def idle_task(self):
          '''called rapidly by mavproxy'''
          if self.downloaders_lock.acquire(False):
              removed_one = False
              for url in self.downloaders.keys():
                  if not self.downloaders[url].is_alive():
                      print("fw: Download thread for (%s) done" % url)
                      del self.downloaders[url]
                      removed_one = True
              if removed_one and not self.downloaders.keys():
                  # all downloads finished - parse them
                  self.manifests_parse()
  
              self.downloaders_lock.release(f idle_task(self):
          '''called rapidly by mavproxy'''
          if self.downloaders_lock.acquire(False):
              removed_one = False
              for url in self.downloaders.keys():
                  if not self.downloaders[url].is_alive():
                      print("fw: Download thread for (%s) done" % url)
                      del self.downloaders[url]
                      removed_one = True
              if removed_one and not self.downloaders.keys():
                  # all downloads finished - parse them
                  self.manifests_parse()
  
              self.downloaders_lock.release()
docs: called rapidly by mavproxy