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 is not None and uuid != u'': lm.metadata_uuid = uuid lm.save() else: lm.delete() except LayerMetadata.DoesNotExist as e: lm = LayerMetadata() lm.layer = layer lm.metadata_uuid = uuid lm.save() except LayerMetadata.MultipleObjectsReturned as e: lm = LayerMetadata.objects.filter(layer=layer).delete() lm = LayerMetadata() lm.layer = layer lm.metadata_uuid = uuid lm.save()
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)