Example #1
0
 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]
Example #2
0
    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()
Example #3
0
 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]
Example #4
0
    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)
Example #5
0
    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
Example #6
0
    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()