def checkdev_cb(self, f, result, mnt): treeinfo = Treeinfo() try: tdata = f.load_contents_finish(result) treeinfo.read_str(tdata) ver = treeinfo.get("general", "version") except GLib.GError as e: log.info("can't read .treeinfo in %s: %s", mnt.mnt, str(e)) except TreeinfoError as e: log.info("invalid .treeinfo in %s: %s", mnt.mnt, str(e)) else: log.info("%s is install media", mnt.dev) # figure out what kind of device it is if isloop(mnt.dev): devtype = 'loop' if iscd(mnt.dev): devtype = 'dvd' else: devtype = 'usb' # remove placeholder, if it exists for row in self.srclist: if row[0] == devtype: self.srclist.remove(row.iter) # add item to srclist self.srclist.insert(0, FedupSource(mnt.dev, icon=devtype)) # remove the item from the work queue self.to_check.remove(mnt) if not self.to_check: self.populate_srclist_finished()