def _save_xslt(self, request): """Save an XSLT. Args: request: Request. """ try: # get the XSLT name name = request.POST['name'] # get the file from the form xsd_file = request.FILES['upload_file'] # read the content of the file xsd_data = read_xsd_file(xsd_file) xslt = XslTransformation(name=name, filename=xsd_file.name, content=xsd_data) xslt_transformation_api.upsert(xslt) return HttpResponseRedirect(reverse("core_main_app_xslt")) except Exception, e: self.context.update({'errors': html_escape(e.message)}) return render(request, 'core_main_app/common/xslt/upload.html', context=self.context)
def _save_xslt(self, request): """Saves an XSLT. Args: request: Request. """ try: # get the XSLT name name = request.POST["name"] # get the file from the form xsd_file = request.FILES["upload_file"] # read the content of the file xsd_data = read_xsd_file(xsd_file) xslt = XslTransformation(name=name, filename=xsd_file.name, content=xsd_data) xslt_transformation_api.upsert(xslt) return HttpResponseRedirect(reverse("admin:core_main_app_xslt")) except exceptions.NotUniqueError: self.context.update( {"errors": html_escape("This name already exists.")}) return admin_render(request, "core_main_app/admin/xslt/upload.html", context=self.context) except Exception as e: self.context.update({"errors": html_escape(str(e))}) return admin_render(request, "core_main_app/admin/xslt/upload.html", context=self.context)
def _save(self, form): # Save treatment. try: xsl_transformation_api.upsert(self.object) except NotUniqueError: form.add_error( None, "An object with the same name already exists. Please choose " "another name.") except Exception, e: form.add_error(None, e.message)
def _get_or_create_xslt(filename): """ Get or create an xslt. Args: filename: XSLT filename. Returns: XSLT. """ try: return xslt_transformation_api.get_by_name(filename) except exceptions.ApiError: # Get XSLT. list_xslt_path = finders.find(join(XSL_FOLDER_PATH, filename)) # Read content. list_xsl_data = read_file_content(list_xslt_path) # Create the XSLT. list_xslt = XslTransformation(name=filename, filename=filename, content=list_xsl_data) return xslt_transformation_api.upsert(list_xslt) except Exception, e: raise Exception("Impossible to add the xslt {0} : {1} ".format( filename, e.message))
def test_xsl_transformation_upsert_raises_exception_if_bad_namespace( self, mock_save): # Arrange mock_name = "xslt_name" mock_filename = "xslt_filename" mock_content = "<root></root>" mock_xslt = _create_xsl_transformation(name=mock_name, filename=mock_filename, content=mock_content) mock_save.return_value = mock_xslt # Act + Assert with self.assertRaises(exceptions.ApiError): xsl_transformation_api.upsert(mock_xslt)
def test_xsl_transformation_upsert_return_xsl_transformation( self, mock_save): # Arrange mock_name = "xslt_name" mock_filename = "xslt_filename" mock_content = "<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'> " \ "<xsl:output method='html' indent='yes' encoding='UTF-8' /><root></root></xsl:stylesheet>" mock_xslt = _create_xsl_transformation(name=mock_name, filename=mock_filename, content=mock_content) mock_save.return_value = mock_xslt # Act result = xsl_transformation_api.upsert(mock_xslt) # Assert self.assertIsInstance(result, XslTransformation)
def update(self, instance, validated_data): instance.name = validated_data.get('name', instance.name) instance.content = validated_data.get('content', instance.content) instance.filename = validated_data.get('filename', instance.filename) return xsl_api.upsert(instance)
def create(self, validated_data): return xsl_api.upsert(XslTransformation(**validated_data))
def update(self, instance, validated_data): instance.name = validated_data.get("name", instance.name) instance.content = validated_data.get("content", instance.content) instance.filename = validated_data.get("filename", instance.filename) return xsl_api.upsert(instance)