def layer_created_handler(self, sender, **kwargs): try: layer = kwargs['layer'] muuid = self.metadata_insert(layer) if muuid: lm = LayerMetadata(layer=layer, metadata_uuid=muuid[0], metadata_id=muuid[1]) lm.save() except Exception as e: logger.exception("layer metadata create failed") pass
def layer_created_handler(self, sender, **kwargs): layer = kwargs['layer'] try: (ds_type, layer_info) = mapservice.getResourceInfo( layer.datastore.workspace.name, layer.datastore, layer.name, "json") muuid = self.metadata_insert(layer, layer.abstract, layer.datastore.workspace, layer_info, ds_type) if muuid: lm = LayerMetadata(layer=layer, metadata_uuid=muuid[0], metadata_id=muuid[1]) lm.save() except Exception as e: logger.exception("layer metadata create failed") pass
def create_metadata(request, layer_id): if request.method == 'POST': try: layer = Layer.objects.get(id=int(layer_id)) uuid, the_id = geonetwork_service.get_instance().metadata_insert(layer) lm = LayerMetadata() lm.layer = layer lm.metadata_id = the_id lm.metadata_uuid = uuid lm.save() return JsonResponse({'status': 'ok', 'uuid': uuid, 'id': the_id}) except Exception as e: logger.exception(e) return HttpResponse(status=500, content=e.message)
def update_layer_metadata_uuid(layer, uuid): if 'gvsigol_plugin_catalog' in settings.INSTALLED_APPS: from gvsigol_plugin_catalog.models import LayerMetadata try: lm = LayerMetadata.objects.get(layer=layer) if uuid != u'': lm.metadata_uuid = uuid lm.save() return else: lm.delete() return except LayerMetadata.MultipleObjectsReturned as e: lm = LayerMetadata.objects.filter(layer=layer).delete() except LayerMetadata.DoesNotExist as e: pass if uuid != u'': lm = LayerMetadata() lm.layer = layer lm.metadata_uuid = uuid lm.save()