def __install_cachedownloader(self): if self.cachedownloader != None: logger.debug("Disconnecting old signals.") for handler in self.__cachedownloader_signal_handlers: self.cachedownloader.disconnect(handler) self.__cachedownloader_signal_handlers = [] self.cachedownloader = cachedownloader.get(self.settings['options_backend'], self.downloader, self.settings['download_output_dir'], not self.settings['download_noimages']) a = self.cachedownloader.connect("download-error", self.on_download_error) b = self.cachedownloader.connect("already-downloading-error", self.on_already_downloading_error) c = self.cachedownloader.connect('progress', self.on_download_progress) self.__cachedownloader_signal_handlers = [a, b, c]
def on_upload_fieldnotes(self): self.emit('progress', 0.5, "Uploading Fieldnotes...") caches = self.pointprovider.get_new_fieldnotes() fn = cachedownloader.get(self.settings['options_backend'], self.downloader) fn.connect("download-error", self.on_download_error) def same_thread(arg1): gobject.idle_add(self.on_upload_fieldnotes_finished, arg1, caches) return False fn.connect('finished-uploading', same_thread) t = Thread(target=fn.upload_fieldnotes, args=[caches]) t.daemon = True t.start()
def __install_cachedownloader(self): logger.debug("Installing new cachedownloader") if self.cachedownloader != None: logger.debug("Disconnecting old signals.") for handler in self.__cachedownloader_signal_handlers: self.cachedownloader.disconnect(handler) self.__cachedownloader_signal_handlers = [] self.cachedownloader = cachedownloader.get( self.settings['options_backend'], self.downloader, self.settings['download_output_dir'], not self.settings['download_noimages']) a = self.cachedownloader.connect("download-error", self.on_download_error) b = self.cachedownloader.connect("already-downloading-error", self.on_already_downloading_error) c = self.cachedownloader.connect('progress', self.on_download_progress) self.__cachedownloader_signal_handlers = [a, b, c]
def on_download(self, location, sync=False): self._check_auto_update() self.emit('progress', 0.5, "Downloading...") cd = cachedownloader.get(self.settings['options_backend'], 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) cd.connect('progress', self.on_download_progress) 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 = True t.start() return False else: return self.on_download_complete(None, cd.get_geocaches(location), True)
def on_download_cache(self, cache, sync=False): self._check_auto_update() self.emit('progress', 0.5, "Downloading %s..." % cache.name) cd = cachedownloader.get(self.settings['options_backend'], 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, self.settings['download_num_logs']]) t.daemon = True t.start() #t.join() return False else: full = cd.update_coordinate(cache, self.settings['download_num_logs']) return full
def update_coordinates(self, caches): self._check_auto_update() cd = cachedownloader.get(self.settings['options_backend'], 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) 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, self.settings['download_num_logs']]) t.daemon = True t.start()