def graphics_devices(request): context = {} upload_form = forms.GraphicsDeviceUploadForm() if request.method == 'POST' and 'file' in request.FILES: upload_form = forms.GraphicsDeviceUploadForm(request.POST, request.FILES) if upload_form.is_valid(): devices = utils.pci_ids__parse_graphics_devices_iterable( upload_form.cleaned_data['file']) for item in devices: obj, _ = GraphicsDevice.objects.get_or_create( vendor_hex=item['vendor_hex'], adapter_hex=item['adapter_hex']) obj.vendor_name = item['vendor_name'] obj.adapter_name = item['adapter_name'] obj.save() messages.success(request, 'Graphics device CSV upload successfully saved.') return redirect('siteadmin:graphics_devices') context['title'] = "Graphics devices" context['upload_form'] = upload_form return render(request, 'admin/graphics_devices.html', context)
def graphics_devices(request): context = {} upload_form = forms.GraphicsDeviceUploadForm() if request.method == "POST" and "file" in request.FILES: upload_form = forms.GraphicsDeviceUploadForm(request.POST, request.FILES) if upload_form.is_valid(): devices = utils.pci_ids__parse_graphics_devices_iterable( upload_form.cleaned_data["file"] ) for item in devices: obj, _ = GraphicsDevice.objects.get_or_create( vendor_hex=item["vendor_hex"], adapter_hex=item["adapter_hex"] ) obj.vendor_name = item["vendor_name"] obj.adapter_name = item["adapter_name"] obj.save() messages.success(request, "Graphics device CSV upload successfully saved.") return redirect("siteadmin:graphics_devices") context["title"] = "Graphics devices" context["upload_form"] = upload_form return render(request, "admin/graphics_devices.html", context)
def graphics_devices(request): context = {} form = forms.GraphicsDeviceForm() upload_form = forms.GraphicsDeviceUploadForm() if request.method == 'POST' and 'file' in request.FILES: upload_form = forms.GraphicsDeviceUploadForm(request.POST, request.FILES) if upload_form.is_valid(): if upload_form.cleaned_data['database'] == 'pcidatabase.com': function = utils.pcidatabase__parse_graphics_devices_iterable else: function = utils.pci_ids__parse_graphics_devices_iterable payload = list(function(upload_form.cleaned_data['file'])) api = GraphicsDevices() result = api.post(data=payload) messages.success(request, 'Graphics device CSV upload successfully saved.') return redirect('siteadmin:graphics_devices') elif request.method == 'POST': form = forms.GraphicsDeviceForm(request.POST) if form.is_valid(): payload = [{ 'vendor_hex': form.cleaned_data['vendor_hex'], 'adapter_hex': form.cleaned_data['adapter_hex'], 'vendor_name': form.cleaned_data['vendor_name'], 'adapter_name': form.cleaned_data['adapter_name'], }] api = GraphicsDevices() result = api.post(data=payload) if result: messages.success(request, 'Graphics device saved.') return redirect('siteadmin:graphics_devices') context['title'] = "Graphics devices" context['form'] = form context['upload_form'] = upload_form return render(request, 'admin/graphics_devices.html', context)