Lines Matching full:layer

20 from orm.models import Layer, Target, Package, Package_Dependency
221 # Layer Management
225 # * A 'local_source_dir' layer is supposed to be shared
228 # * Each project that uses a layer will have its own
229 # LayerVersion and Project Layer for it
231 # LayerVersion for a 'local_source_dir' layer is deleted
232 # then the Layer record is deleted to remove orphans
235 def scan_layer_content(layer,layer_version): argument
236 # if this is a local layer directory, we can immediately scan its content
237 if layer.local_source_dir:
240 cmd = '%s %s' % ('ls', os.path.join(layer.local_source_dir,'recipes-*/*/*.bb'))
257 ro.summary = 'Recipe %s from layer %s' % (recipe_name,layer.name)
265 """ Delete, Get, Add and Update Layer information
272 Get layer information
291 'name': layer_version.layer.name,
295 'vcs_url': layer_version.layer.vcs_url,
296 'local_source_dir': layer_version.layer.local_source_dir,
301 "name": dep.layer.name,
304 "vcs_url": dep.layer.vcs_url,
314 error_response("No such layer")
318 Update a layer
343 return error_response("Cannot find imported layer to update")
346 layer_version.layer.vcs_url = request.POST["vcs_url"]
353 layer_version.layer.summary = request.POST["summary"]
355 layer_version.layer.description = request.POST["description"]
357 layer_version.layer.local_source_dir = \
373 layer_version.layer.save()
376 return error_response("Could not update layer version entry: %s"
382 """ Add a new layer
398 # We require a unique layer name as otherwise the lists of layers
411 return JsonResponse({"error": "layer-name-exists"})
414 # Local layer can be shared across projects. They have no 'release'
416 layer,created = Layer.objects.get_or_create(name=layer_data['name'])
417 _log("Local Layer created=%s" % created)
419 layer = Layer.objects.create(name=layer_data['name'])
422 layer=layer,
426 # Local layer
427 if ('local_source_dir' in layer_data): ### and layer.local_source_dir:
428 layer.local_source_dir = layer_data['local_source_dir']
429 # git layer
431 layer.vcs_url = layer_data['vcs_url']
436 layer.save()
443 # Add the layer dependencies
450 # Add layer deps to the project if specified
455 {'name': layer_dep.layer.name,
459 # Scan the layer's content and update components
460 scan_layer_content(layer,layer_version)
463 return error_response("layer-dep-not-found")
471 'name': layer.name,
477 """ Delete an imported layer
490 return error_response("Cannot find imported layer to delete")
498 layer_version.layer.delete()
569 # create layer 'Custom layer' and verion if needed
570 layer, l_created = Layer.objects.get_or_create(
572 summary="Layer for custom recipes")
575 layer.local_source_dir = "toaster_created_layer"
576 layer.save()
578 # Check if we have a layer version already
582 Q(layer=layer) &
587 layer=layer,
591 # Add a dependency on our layer to the base recipe's layer
647 # pre-create layer directory structure, so that other builds
657 # pre-create layer.conf
658 config = os.path.join(layerpath, "conf", "layer.conf")
1020 return error_response("Layer version %s asked to add "
1097 for layer in project.projectlayer_set.all():
1099 "id": layer.layercommit.pk,
1100 "name": layer.layercommit.layer.name,
1101 "vcs_url": layer.layercommit.layer.vcs_url,
1102 "local_source_dir": layer.layercommit.layer.local_source_dir,
1103 "vcs_reference": layer.layercommit.get_vcs_reference(),
1104 "url": layer.layercommit.layer.layer_index_url,
1105 "layerdetailurl": layer.layercommit.get_detailspage_url(
1109 layer.layercommit.pk)),
1110 "layersource": layer.layercommit.layer_source
1161 project_local_layer_list.append(pl.layercommit.layer)
1168 for layer in project_local_layer_list:
1169 layer_refs = Layer_Version.objects.filter(layer=layer)
1170 _log("LAYER_ORPHAN_CHECK:Ref Count for '%s' = %d" % (layer.name,len(layer_refs)))
1172 _log("LAYER_ORPHAN_CHECK:DELETE orpahned '%s'" % (layer.name))
1173 Layer.objects.filter(pk=layer.id).delete()