def on_download_descriptions(self, location, visibleonly=False): cd = GeocachingComCacheDownloader(self.downloader, self.settings['download_output_dir'], not self.settings['download_noimages']) cd.connect("download-error", self.on_download_error) cd.connect("already-downloading-error", self.on_already_downloading_error) #exporter = geocaching.HTMLExporter(self.downloader, self.settings['download_output_dir']) self.pointprovider.push_filter() if self.settings['download_notfound'] or visibleonly: found = False else: found = None if self.settings['download_new'] or visibleonly: has_details = False elif self.settings['download_nothing']: has_details = True else: has_details = None if self.settings['download_visible'] or visibleonly: self.pointprovider.set_filter(found=found, has_details=has_details, adapt_filter=True) caches = self.pointprovider.get_points_filter(location) else: self.pointprovider.set_filter(found=found, has_details=has_details, adapt_filter=False) caches = self.pointprovider.get_points_filter() self.pointprovider.pop_filter() def same_thread(arg1, arg2): gobject.idle_add(self.on_download_descriptions_complete, arg1, arg2) return False def same_thread_progress (arg1, arg2, arg3, arg4): gobject.idle_add(self.on_download_progress, arg1, arg2, arg3, arg4) return False cd.connect('progress', self.on_download_progress) cd.connect('finished-multiple', same_thread) t = Thread(target=cd.update_coordinates, args=[caches]) t.daemon = False t.start()
def on_download(self, location, sync=False): self.gui.set_download_progress(0.5, "Downloading...") cd = GeocachingComCacheDownloader(self.downloader, self.settings['download_output_dir'], not self.settings['download_noimages']) cd.connect("download-error", self.on_download_error) cd.connect("already-downloading-error", self.on_already_downloading_error) if not sync: def same_thread(arg1, arg2): gobject.idle_add(self.on_download_complete, arg1, arg2) return False cd.connect("finished-overview", same_thread) t = Thread(target=cd.get_geocaches, args=[location]) t.daemon = False t.start() return False else: return self.on_download_complete(None, cd.get_geocaches(location))
def on_download_cache(self, cache, sync=False): # self.gui.set_download_progress(0.5, "Downloading %s..." % cache.name) cd = GeocachingComCacheDownloader(self.downloader, self.settings['download_output_dir'], not self.settings['download_noimages']) cd.connect("download-error", self.on_download_error) cd.connect("already-downloading-error", self.on_already_downloading_error) if not sync: def same_thread(arg1, arg2): gobject.idle_add(self.on_download_cache_complete, arg1, arg2) return False cd.connect("finished-single", same_thread) t = Thread(target=cd.update_coordinate, args=[cache]) t.daemon = False t.start() #t.join() return False else: full = cd.update_coordinate(cache) return full