def generate_xslt(self): """Generate xsl transformation . Returns: """ content = '<?xml version="1.0" encoding="UTF-8"?> \ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> \ <xsl:template match="@* | node()"> \ <xsl:copy> \ <xsl:apply-templates select="@* | node()"/> \ </xsl:copy> \ </xsl:template> \ <xsl:template match="test"> \ <xsl:copy-of select="."/> \ <element>new_element</element> \ </xsl:template> \ </xsl:stylesheet>' xsl_transformation = XslTransformation( name="xsl_transformation", filename="xsl_transformation.xsl", content=content, ) self.xsl_transformation = xsl_transformation.save()
def _set_template_xsl_rendering_fields(template_xsl_rendering): """ Sets TemplateXslRendering fields. Returns: TemplateXslRendering with assigned fields. """ template_xsl_rendering.template = Template() template_xsl_rendering.template.id = ObjectId() template_xsl_rendering.list_xslt = XslTransformation() template_xsl_rendering.detail_xslt = XslTransformation() return template_xsl_rendering
def _create_xsl_transform(): """Create xsl transform Args: Returns: """ content = ( '<?xml version="1.0" encoding="UTF-8"?>' '<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">' "<!-- Identity transform -->" '<xsl:template match="@* | node()">' "<xsl:copy>" ' <xsl:apply-templates select="@* | node()"/>' " </xsl:copy>" " </xsl:template>" ' <xsl:template match="test">' ' <xsl:copy-of select="."/>' " <additional>34</additional>" "</xsl:template>" "</xsl:stylesheet>") return XslTransformation(name="test_trans", filename="test_trans.xsl", content=content)
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 _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 generate_template_xsl_rendering_collection(self): """Generate a TemplateXslRendering collection. Returns: """ # NOTE: no real file to avoid using unsupported GridFS mock self.template_1 = Template(filename="template_1.xsd", content="content1", hash="hash1").save() self.template_2 = Template(filename="template_2.xsd", content="content2", hash="hash2").save() self.template_xsl_rendering_1 = TemplateXslRendering( template=str(self.template_1.id)).save() self.xsl_transformation_3 = XslTransformation( name="xsl_transformation_3", filename="xsl_transformation_3", content="content_3", ).save() self.template_xsl_rendering_2 = TemplateXslRendering( template=str(self.template_2.id), default_detail_xslt=str(self.xsl_transformation_3.id), list_detail_xslt=[str(self.xsl_transformation_3.id)], ).save() self.template_xsl_rendering_collection = [ self.template_xsl_rendering_1, self.template_xsl_rendering_2, ]
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 get_by_name(xslt_name): """ Get an XSLT document. Returns: """ try: return XslTransformation.get_by_name(xslt_name) except: raise exceptions.ApiError( "No transformation can be found with the given name")
def generate_data_collection(self): """ Generate a Data collection. Returns: """ content = '<?xml version=\"1.0\" encoding=\"UTF-8\"?>' \ '<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">' \ '<xsl:template></xsl:template></xsl:stylesheet>' self.data_1 = XslTransformation(name="name_1", filename='filename_1.xsd', content=content).save() self.data_collection = [self.data_1]
def get_by_id(xslt_id): """ Get an XSLT document by its id. Args: xslt_id: Id. Returns: XslTransformation object. """ return XslTransformation.get_by_id(xslt_id)
def test_is_staff_returns_http_204(self, xslt_serializer_data, xslt_get_by_id, xslt_delete): xslt_get_by_id.return_value = XslTransformation("mock", "mock", "mock") xslt_serializer_data.return_value = True response = RequestMock.do_request_delete( xslt_views.XslTransformationDetail.as_view(), create_mock_user('1', is_staff=True), param={'pk': self.fake_id}) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
def _set_oai_xsl_template_fields(oai_xsl_template): """ Set OaiXslTemplate fields. Returns: OaiXslTemplate with assigned fields. """ oai_xsl_template.template = Template() oai_xsl_template.template.id = ObjectId() oai_xsl_template.xslt = XslTransformation() oai_xsl_template.oai_metadata_format = OaiProviderMetadataFormat() return oai_xsl_template
def generate_xsl_transformation_collection(self): """Generate a XslTransformation collection. Returns: """ # NOTE: no real file to avoid using unsupported GridFS mock self.xsl_transformation_1 = XslTransformation( name="xsl_transformation_1", filename="xsl_transformation_1", content="content1", ).save() self.xsl_transformation_2 = XslTransformation( name="xsl_transformation_2", filename="xsl_transformation_2", content="content_2", ).save() self.xsl_transformation_collection = [ self.xsl_transformation_1, self.xsl_transformation_2, ]
def generate_data_collection(self): """Generate a Data collection. Returns: """ content = ( '<?xml version="1.0" encoding="UTF-8"?>' '<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">' '<xsl:template match="/"></xsl:template></xsl:stylesheet>') self.data_1 = XslTransformation(name="name_1", filename="filename_1.xsd", content=content).save() self.data_collection = [self.data_1]
def _create_xsl_transformation(name=None, filename=None, content=None): xsl_transformation = XslTransformation() xsl_transformation.name = name xsl_transformation.filename = filename xsl_transformation.content = content return xsl_transformation
def create(self, validated_data): return xsl_api.upsert(XslTransformation(**validated_data))
def get_all(): """ Get list of XSLT document. Returns: """ return XslTransformation.get_all()