EOX GitLab Instance

Skip to content
Snippets Groups Projects
Commit 8aa81aad authored by Mussab Abdalla's avatar Mussab Abdalla
Browse files

using 2 saving functions

parent 9597fc08
No related branches found
No related tags found
2 merge requests!55Production release 1.2.0,!50Ingestor status
......@@ -38,7 +38,7 @@ USER root
ADD install.sh requirements.txt \
/
RUN /install.sh
RUN mkdir /ingestor
RUN mkdir /ingestor
RUN mkdir -p /var/ingestor/fail /var/ingestor/success
COPY app.py config.py filedaemon.py /
COPY ingestor/ /ingestor
......
......@@ -35,7 +35,7 @@ from flask import Flask, request, Response
import redis
from ingestor.browse_report import parse_browse_report
from ingestor.util import converter, save_report, browse_name
from ingestor.util import converter, save_endpoint_report, browse_name
application = Flask(__name__)
......@@ -94,9 +94,9 @@ def ingest():
try:
client.lpush(queue_name, queue_content)
save_report(filename, request.data, True)
save_endpoint_report(filename, request.data, True)
return Response(status=202)
except Exception as e:
save_report(filename, request.data, False)
save_endpoint_report(filename, request.data, False)
return Response(str(e), status=400)
......@@ -35,7 +35,7 @@ import pyinotify
import redis
from ingestor.browse_report import parse_browse_report
from ingestor.util import converter, save_report, browse_name
from ingestor.util import converter, save_mount_report
logger = logging.getLogger(__name__)
......@@ -97,10 +97,10 @@ class EventHandler(pyinotify.ProcessEvent):
try:
client.lpush(queue_name, queue_content)
save_report('', event.pathname, True)
save_mount_report(event.pathname, True)
except Exception as e:
save_report('', event.pathname, False)
save_mount_report(event.pathname, False)
logger.exception(e)
handler = EventHandler()
......
......@@ -41,19 +41,20 @@ def converter(o):
if isinstance(o, datetime):
return o.isoformat()
def save_report(filename:str, data, success: bool):
def save_mount_report(data, success: bool):
if success:
save_dir = os.environ['INGESTOR_SUCCESS_DIR']
else:
save_dir = os.environ['INGESTOR_FAIL_DIR']
shutil.move(data, save_dir)
if isinstance(data, str):
shutil.move(data, save_dir)
else :
with open(os.path.join(save_dir, '%s.xml' % filename), "w") as outfile:
outfile.write(data)
def save_endpoint_report(filename: str, data, success: bool):
if success:
save_dir = os.environ['INGESTOR_SUCCESS_DIR']
else:
save_dir = os.environ['INGESTOR_FAIL_DIR']
with open(os.path.join(save_dir, '%s.xml' % filename), "w") as outfile:
outfile.write(data)
def browse_name(report):
return '_'.join(browse["browse_identifier"] for browse in report["browses"])
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment