Prepared dockerfile
This commit is contained in:
8
Backend-libXML/Dockerfile
Normal file
8
Backend-libXML/Dockerfile
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
FROM tiangolo/meinheld-gunicorn-flask:python3.9
|
||||||
|
|
||||||
|
COPY ./requirements.txt /app/requirements.txt
|
||||||
|
|
||||||
|
RUN pip install --no-cache-dir --upgrade -r /app/requirements.txt
|
||||||
|
|
||||||
|
COPY ./main.py /app/
|
||||||
|
COPY ./Parser.py /app/
|
||||||
@@ -1,17 +1,69 @@
|
|||||||
|
from flask import Flask
|
||||||
|
from flask import request
|
||||||
|
from lxml import etree
|
||||||
|
import json
|
||||||
|
import time
|
||||||
import Parser
|
import Parser
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
app = Flask(__name__)
|
||||||
SOURCE = "sample/xslt.xml"
|
|
||||||
XSLT = "sample/sample.xslt"
|
|
||||||
|
|
||||||
file = open(SOURCE, "r")
|
@app.route("/xpath", methods=["POST"])
|
||||||
xml = file.read()
|
def xpath():
|
||||||
file.close()
|
request_data = request.get_json()
|
||||||
|
xml = request_data['data']
|
||||||
|
xpath = request_data['process']
|
||||||
|
|
||||||
|
response = dict()
|
||||||
|
start = time.time_ns()
|
||||||
|
try:
|
||||||
|
response['result'] = Parser.xpath(xml, xpath)
|
||||||
|
response['status'] = "OK"
|
||||||
|
except BaseException as e:
|
||||||
|
response['result'] = str(e)
|
||||||
|
response['status'] = "ERR"
|
||||||
|
finally:
|
||||||
|
exec_time = (time.time_ns() - start) / 10**6
|
||||||
|
response['time'] = f"{exec_time:.03f}"
|
||||||
|
response['processor'] = "libxml2 over lxml"
|
||||||
|
return json.dumps(response)
|
||||||
|
|
||||||
file = open(XSLT, "r")
|
@app.route("/xsd", methods=["POST"])
|
||||||
xslt = file.read()
|
def xsd():
|
||||||
print(Parser.xslt(xml, xslt))
|
request_data = request.get_json()
|
||||||
|
xml = request_data['data']
|
||||||
|
xsd = request_data['process']
|
||||||
|
|
||||||
file.close()
|
response = dict()
|
||||||
|
start = time.time_ns()
|
||||||
|
try:
|
||||||
|
response['result'] = Parser.xsd(xml, xsd)
|
||||||
|
response['status'] = "OK"
|
||||||
|
except BaseException as e:
|
||||||
|
response['result'] = str(e)
|
||||||
|
response['status'] = "ERR"
|
||||||
|
finally:
|
||||||
|
exec_time = (time.time_ns() - start) / 10**6
|
||||||
|
response['time'] = f"{exec_time:.03f}"
|
||||||
|
response['processor'] = "libxml2 over lxml"
|
||||||
|
return json.dumps(response)
|
||||||
|
|
||||||
|
@app.route("/xslt", methods=["POST"])
|
||||||
|
def xslt():
|
||||||
|
request_data = request.get_json()
|
||||||
|
xml = request_data['data']
|
||||||
|
xslt = request_data['process']
|
||||||
|
|
||||||
|
response = dict()
|
||||||
|
start = time.time_ns()
|
||||||
|
try:
|
||||||
|
response['result'] = Parser.xslt(xml, xslt)
|
||||||
|
response['status'] = "OK"
|
||||||
|
except BaseException as e:
|
||||||
|
response['result'] = str(e)
|
||||||
|
response['status'] = "ERR"
|
||||||
|
finally:
|
||||||
|
exec_time = (time.time_ns() - start) / 10**6
|
||||||
|
response['time'] = f"{exec_time:.03f}"
|
||||||
|
response['processor'] = "libxml2 over lxml"
|
||||||
|
return json.dumps(response)
|
||||||
2
Backend-libXML/requirements.txt
Normal file
2
Backend-libXML/requirements.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
lxml
|
||||||
|
flask
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
url = "http://localhost:5000/xsd"
|
url = "http://localhost:8082/xsd"
|
||||||
data = "@xsd.json"
|
data = "@xsd.json"
|
||||||
header = "Content-Type: application/json"
|
header = "Content-Type: application/json"
|
||||||
request = POST
|
request = POST
|
||||||
|
|||||||
@@ -1,69 +0,0 @@
|
|||||||
from flask import Flask
|
|
||||||
from flask import request
|
|
||||||
from lxml import etree
|
|
||||||
import json
|
|
||||||
import time
|
|
||||||
import Parser
|
|
||||||
|
|
||||||
|
|
||||||
app = Flask(__name__)
|
|
||||||
|
|
||||||
@app.route("/xpath", methods=["POST"])
|
|
||||||
def xpath():
|
|
||||||
request_data = request.get_json()
|
|
||||||
xml = request_data['data']
|
|
||||||
xpath = request_data['process']
|
|
||||||
|
|
||||||
response = dict()
|
|
||||||
start = time.time_ns()
|
|
||||||
try:
|
|
||||||
response['result'] = Parser.xpath(xml, xpath)
|
|
||||||
response['status'] = "OK"
|
|
||||||
except BaseException as e:
|
|
||||||
response['result'] = str(e)
|
|
||||||
response['status'] = "ERR"
|
|
||||||
finally:
|
|
||||||
exec_time = (time.time_ns() - start) / 10**6
|
|
||||||
response['time'] = f"{exec_time:.03f}"
|
|
||||||
response['processor'] = "libxml2 over lxml"
|
|
||||||
return json.dumps(response)
|
|
||||||
|
|
||||||
@app.route("/xsd", methods=["POST"])
|
|
||||||
def xsd():
|
|
||||||
request_data = request.get_json()
|
|
||||||
xml = request_data['data']
|
|
||||||
xsd = request_data['process']
|
|
||||||
|
|
||||||
response = dict()
|
|
||||||
start = time.time_ns()
|
|
||||||
try:
|
|
||||||
response['result'] = Parser.xsd(xml, xsd)
|
|
||||||
response['status'] = "OK"
|
|
||||||
except BaseException as e:
|
|
||||||
response['result'] = str(e)
|
|
||||||
response['status'] = "ERR"
|
|
||||||
finally:
|
|
||||||
exec_time = (time.time_ns() - start) / 10**6
|
|
||||||
response['time'] = f"{exec_time:.03f}"
|
|
||||||
response['processor'] = "libxml2 over lxml"
|
|
||||||
return json.dumps(response)
|
|
||||||
|
|
||||||
@app.route("/xslt", methods=["POST"])
|
|
||||||
def xslt():
|
|
||||||
request_data = request.get_json()
|
|
||||||
xml = request_data['data']
|
|
||||||
xslt = request_data['process']
|
|
||||||
|
|
||||||
response = dict()
|
|
||||||
start = time.time_ns()
|
|
||||||
try:
|
|
||||||
response['result'] = Parser.xslt(xml, xslt)
|
|
||||||
response['status'] = "OK"
|
|
||||||
except BaseException as e:
|
|
||||||
response['result'] = str(e)
|
|
||||||
response['status'] = "ERR"
|
|
||||||
finally:
|
|
||||||
exec_time = (time.time_ns() - start) / 10**6
|
|
||||||
response['time'] = f"{exec_time:.03f}"
|
|
||||||
response['processor'] = "libxml2 over lxml"
|
|
||||||
return json.dumps(response)
|
|
||||||
Reference in New Issue
Block a user