def _load_layer_on_qgis(self, resource): def request_failed(error): self.request_error = error self.update_status(u'Requisição retornou um erro') MessageBox.critical(error, u'Requisição retornou um erro') self.request_error = False self.timer.stop() resource.request_started.connect(self.start_request) resource.request_progress.connect(self.download_progress) resource.request_error.connect(request_failed) resource.request_finished.connect(self.trigger_reset_status) # Trigger download of data and events for user feedback resource.data() if not self.request_error: layer = Plugin.create_layer(resource) if layer: Layer.add(layer) if layer.featureCount() == 0: Logging.info( u'{} retornou conjunto vazio de dados'.format( resource.iri), u'IBGEVisualizer') MessageBox.info(u'URL retornou conjunto vazio') else: raise Exception(self.request_error)
def _itemDoubleClicked_event(self, item): iri = item.text(1) item_has_children = item.childCount() > 0 if item_has_children: return resource = ResourceManager.load(iri) if resource.error: MessageBox.critical(u'Link está indisponível ou fora do ar.\n {}'.format(resource.iri), u'Link indisponível') return # Verifica se é um entrypoint com layers ainda não carregadas if resource.is_entry_point(): item.set_icon_entry_point() self.add(resource, item) self.branch_resource_double_clicked.emit(item) return self.leaf_resource_double_clicked.emit(item)
def _bt_remove_resource_clicked(self): selected_items = self.list_resource.selectedItems() if not selected_items: return confirm = MessageBox.question(u'Deseja realmente remover o recurso selecionado?', u'Remover Recurso') if confirm: memorized_urls = Config.get('memo_urls') item_name = selected_items[0].text(0) if item_name in memorized_urls: index = self.list_resource.indexOfTopLevelItem(selected_items[0]) self.list_resource.takeTopLevelItem(index) memorized_urls.pop(item_name) Config.update_dict('memo_urls', memorized_urls)
def request_failed(error): self.request_error = error self.update_status(u'Requisição retornou um erro') MessageBox.critical(error, u'Requisição retornou um erro')