[TIC-CORE] Logger support and add test-cast for repodata
[archive/20170607/tools/tic-core.git] / tic / server / tic_server.py
index 29e8e15..ed6f301 100644 (file)
@@ -5,11 +5,15 @@ from flask.globals import request
 from flask.helpers import url_for
 import json
 import os
+import logging
 from tic import command
 from tic.utils import error
 
 
+#from flask_cors import CORS
+
 app = Flask(__name__)
+#CORS(app)
 
 @app.route('/')
 def index():
@@ -21,12 +25,14 @@ def index():
 @app.route('/analysis', methods=['GET', 'POST'])
 def anlayze():
     try:
+        logger = logging.getLogger(__name__)
         repo_list = []
         recipe_list = []
         if request.method == 'GET':
             repo_list = request.args.getlist('repos')
             recipe_list = request.args.getlist('recipes')
         else:
+            logger.info('%s - %s %s : data=%s' % (request.remote_addr, request.method, request.path, request.data))
             repo_info = json.loads(request.data)
             if 'repos' in repo_info:
                 repo_list = repo_info['repos']
@@ -35,14 +41,18 @@ def anlayze():
         view_data = command.analyze(repo_list, recipe_list)
         resp = makeresponse(view_data, None)
     except error.TICError as err:
+        logger.error(err)
         resp = makeresponse(str(err), err)
     except ValueError as ve:
+        logger.error(ve)
         resp = makeresponse(str(ve), ve)
     except Exception as ex:
+        logger.error(ex)
         resp = makeresponse(str(ex), ex)
     
     return resp
 
+
 def start(port_num=59001):
     # cryptographic random generator
     app.secret_key = os.urandom(24) 
@@ -66,7 +76,7 @@ def makeresponse(data, err):
     
     resp = Response(status=status, 
                     mimetype='application/json',
-                    response= res_body)
+                    response=res_body)
     return resp