Beispiel #1
0
def submit_catalog(request):
    submission = request.POST
    key = submission.get('key')
    name = submission.get('name')
    if key:
        try:
            machine_group = MachineGroup.objects.get(key=key)
        except MachineGroup.DoesNotExist:
            raise Http404

        compressed_catalog = submission.get('base64bz2catalog')
        if compressed_catalog:
            catalog_bytes = text_utils.decode_submission_data(
                compressed_catalog, 'base64bz2')
            if text_utils.is_valid_plist(catalog_bytes):
                try:
                    catalog = Catalog.objects.get(name=name,
                                                  machine_group=machine_group)
                except Catalog.DoesNotExist:
                    catalog = Catalog(name=name, machine_group=machine_group)
                catalog.sha256hash = submission.get('sha256hash')
                # Convert bytes to str for storage
                catalog.content = catalog_bytes.decode()
                catalog.save()
    return HttpResponse("Catalogs submitted.")