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.")