bema/func/formatter #48
@@ -1,16 +1,22 @@
 | 
			
		||||
from lxml import etree
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def prettify(source: str) -> str:
 | 
			
		||||
    xml = etree.XML(source)
 | 
			
		||||
    return etree.tostring(xml, pretty_print=True)
 | 
			
		||||
 | 
			
		||||
def minimize(source: str) -> str:
 | 
			
		||||
    xml = etree.XML(source)
 | 
			
		||||
    return etree.tostring(xml, pretty_print=False)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def xpath(source: str, xpath: str) -> str:
 | 
			
		||||
    """
 | 
			
		||||
    Method used to get nodes from XML string using XPath
 | 
			
		||||
 | 
			
		||||
    :param source: XML string used for selection
 | 
			
		||||
    :type source: str
 | 
			
		||||
    :param xpath: XPath query used for selection
 | 
			
		||||
    :type xpath: str
 | 
			
		||||
    :return: Nodes selected using XPath
 | 
			
		||||
    :rtype: str
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
@@ -34,11 +40,8 @@ def xsd(source: str, xsd: str) -> bool:
 | 
			
		||||
    """
 | 
			
		||||
    Method used to validate XML string against XSD schema
 | 
			
		||||
    :param source: XML string used for validation
 | 
			
		||||
    :type source: str
 | 
			
		||||
    :param xsd: XSD schema to validate XML against
 | 
			
		||||
    :type xsd: str
 | 
			
		||||
    :return: Message saying, if the validation was successful or not
 | 
			
		||||
    :rtype: str
 | 
			
		||||
    """
 | 
			
		||||
    xml_schema = etree.XMLSchema(etree.XML(xsd))
 | 
			
		||||
 | 
			
		||||
@@ -54,11 +57,8 @@ def xslt(source: str, xslt: str) -> str:
 | 
			
		||||
    Method used to transformate XML string using XSLT
 | 
			
		||||
 | 
			
		||||
    :param source: XML string to transform
 | 
			
		||||
    :type source: str
 | 
			
		||||
    :param xslt: XSLT string used to transformate XML
 | 
			
		||||
    :type xslt: str
 | 
			
		||||
    :return: Result of transformation
 | 
			
		||||
    :rtype: str
 | 
			
		||||
    """
 | 
			
		||||
    xslt_transform = etree.XSLT(etree.XML(xslt))
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -19,12 +19,9 @@ def process_xml(request: request, type: str) -> str:
 | 
			
		||||
    """Function to process 
 | 
			
		||||
 | 
			
		||||
    :param request: Received request
 | 
			
		||||
    :type request: request
 | 
			
		||||
    :param type: Type of needed processing: xsd, xslt or xpath
 | 
			
		||||
    :type type: str
 | 
			
		||||
    :raises ValueError: is raised when type is different than those provided above
 | 
			
		||||
    :return: response JSON converted to string and response code
 | 
			
		||||
    :rtype: str, int
 | 
			
		||||
    """
 | 
			
		||||
    start = time.time_ns()
 | 
			
		||||
    code = 200
 | 
			
		||||
@@ -70,5 +67,10 @@ def xsd():
 | 
			
		||||
def xslt():
 | 
			
		||||
    return process_xml(request, "xslt")
 | 
			
		||||
 | 
			
		||||
@app.route("/prettifypost", methods=["POST"])
 | 
			
		||||
def prettify():
 | 
			
		||||
    request_data = json.loads(request.get_data(as_text=True))
 | 
			
		||||
    return Parser.prettify(request_data['data'])
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    app.run()
 | 
			
		||||
		Reference in New Issue
	
	Block a user