From c2cc5ee676d8773e34304c6b42e3dc6b2279090c Mon Sep 17 00:00:00 2001
From: wactbprot <wactbprot@gmail.com>
Date: Thu, 6 Dec 2018 15:03:22 +0100
Subject: [PATCH] ref

---
 server.py | 27 ++++++++-------------------
 utils.py  | 18 +++++++++++++-----
 2 files changed, 21 insertions(+), 24 deletions(-)

diff --git a/server.py b/server.py
index 008748e..dc070ca 100644
--- a/server.py
+++ b/server.py
@@ -5,7 +5,7 @@ import utils as utils
 config = utils.get_config_dict()
 git_cmd = utils.git_cmd(config)
 
-## komt später vom server
+## kommt später vom server
 xsd_file_name = 'DCC_v1.8.1.xsd'
 
 app = Flask(__name__)
@@ -14,8 +14,8 @@ CORS(app)
 @app.route('/version', methods=['get'])
 def version():
     app.logger.debug('hit version')
-    ret = '<version>{version}</version>'.format(version=git_cmd.describe())
-
+    ret = utils.return_version(version=git_cmd.describe())
+    
     return utils.xml_response(ret)
 
 @app.route('/update', methods=['post'])
@@ -24,7 +24,7 @@ def update():
     #req = request.get_json()
     git_cmd.pull()
     app.logger.info("pulled {log}".format(log=git_cmd.log("-n 1")))
-    ret = '<ok/>'
+    ret = utils.return_ok()
 
     return utils.xml_response(ret)
 
@@ -34,23 +34,13 @@ def update_xsd():
     xsd_str = utils.get_xsd(config, xsd_file_name, from_server=True)
     xsd_xml = utils.parse(xsd_str)
     if xsd_xml:
-        res = utils.save_xsd(config, xsd_str, xsd_file_name)
-    
-    return  utils.xml_response(ret)
-
-@app.route('/is_valid', methods=['post'])
-def is_valid():
-    app.logger.debug('hit is_valid')
-    xml_str = request.data
-    xml_tree = utils.parse(xml_str)
-    if xml_tree:
-        xsd_str = utils.get_xsd(config, xsd_file_name, from_server=False)
-        ret = utils.is_valid(xml_str=xml_str, xsd_str=xsd_str)
+        ret = utils.save_xsd(config, xsd_str, xsd_file_name)
     else:
-        ret = '<error>unvalid xml data</error>'
+        ret = utils.return_error(error='error on atempt to parse xsd file from server')
 
     return  utils.xml_response(ret)
 
+
 @app.route('/validate', methods=['post'])
 def validate():
     app.logger.debug('hit validate')
@@ -60,10 +50,9 @@ def validate():
         xsd_str = utils.get_xsd(config, xsd_file_name, from_server=False)
         ret = utils.validate(xml_str=xml_str, xsd_str=xsd_str)
     else:
-        ret = '<error>unvalid xml data</error>'
+        ret = utils.return_error(error='unvalid xml data')
 
     return  utils.xml_response(ret)
 
-
 if __name__ == '__main__':
     app.run(host=config['server']['host'], port=config['server']['port'])
\ No newline at end of file
diff --git a/utils.py b/utils.py
index ae944ff..07301e4 100644
--- a/utils.py
+++ b/utils.py
@@ -36,14 +36,13 @@ def save_xsd(config, xsd_str, xsd_name):
     file = open(path_file, "w")
     file.write(xsd_str)  
     
-    return 'ok'
+    return return_ok() 
 
 def parse(xml_str):
     try:
         tree = ET.fromstring(xml_str)
     except ET.ParseError:
         tree = None
-    
     return tree
 
 def validate(xml_str, xsd_str):
@@ -51,9 +50,18 @@ def validate(xml_str, xsd_str):
     schema = xmlschema.XMLSchema(xsd_str)
     try:
         schema.validate(tree) 
-        return '<ok/>'
+        return return_ok()
     except xmlschema.XMLSchemaValidationError as error:
-        return '<error>{error}</error>'.format(error=error)
+        return return_error(error)
    
 def xml_response(xml_str):
-    return Response(xml_str, content_type='text/xml; charset=utf-8')
\ No newline at end of file
+    return Response(xml_str, content_type='text/xml; charset=utf-8')
+
+def return_ok():
+    return '<ok/>'
+
+def return_error(error):
+    return '<error>{error}</error>'.format(error=error)
+
+def return_version(version):
+    return '<version>{version}</version>'.format(version=version)
\ No newline at end of file
-- 
GitLab