Prepared dockerfile

This commit is contained in:
2023-01-26 11:26:41 +01:00
parent 17299a9a94
commit e714c34726
5 changed files with 73 additions and 80 deletions

View 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/

View File

@@ -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)

View File

@@ -0,0 +1,2 @@
lxml
flask

View File

@@ -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

View File

@@ -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)