From 792806838e6ccf8878189a3cd90cbc88bdf90adc Mon Sep 17 00:00:00 2001 From: Yannik Schmidt Date: Mon, 13 Sep 2021 19:08:59 +0200 Subject: [PATCH] update for error resistance --- eg_geiss_bauherren.py | 17 +++++++++++++---- server.py | 10 +++++++++- templates/index.html | 4 ++++ 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/eg_geiss_bauherren.py b/eg_geiss_bauherren.py index 5a543ef..efd114b 100644 --- a/eg_geiss_bauherren.py +++ b/eg_geiss_bauherren.py @@ -7,6 +7,7 @@ import os.path BLOCK_TUP_TEXT = 4 def load(filename): + print(filename) doc = fitz.open(filename) FIRST_P = True @@ -32,6 +33,7 @@ def load(filename): if "Bauort:" in text: location += text.split("Bauort:")[1] + kwErrorInfo = None if "Thermoscan" in text: kwParts = text.split("\n") kw = "" @@ -42,7 +44,10 @@ def load(filename): if not pClean: continue elif not kw: - kw = int(pClean.split(". KW")[0]) + try: + kw = int(pClean.split(". KW")[0]) + except ValueError: + kwErrorInfo = "Kalenderwochen Info nicht gefunden." elif not title: title = pClean elif not contractor: @@ -50,10 +55,14 @@ def load(filename): ISO_CAL_KW_LOC = 1 kwStartDate = startDateParsed.isocalendar()[ISO_CAL_KW_LOC] - if kw < kwStartDate: - blowerdoorDate = "{} KW-{:02d}".format(startDateParsed.year +1, kw) + + if kwErrorInfo: + blowerdoorDate = None else: - blowerdoorDate = "{} KW-{}".format(startDateParsed.year, kw) + if kw < kwStartDate: + blowerdoorDate = "{} KW-{:02d}".format(startDateParsed.year +1, kw) + else: + blowerdoorDate = "{} KW-{}".format(startDateParsed.year, kw) diff --git a/server.py b/server.py index 57f8ec9..ab5dfa6 100644 --- a/server.py +++ b/server.py @@ -2,6 +2,9 @@ import flask import argparse import glob import os +from data import BlowerdoorData +import datetime +import os.path import eg_geiss_bauherren as parserBackend @@ -10,8 +13,13 @@ app = flask.Flask("THS-Raven") @app.route("/") def root(): allFiles = [] + loaded = None for filename in glob.glob("static/files/*.pdf"): - allFiles.append(parserBackend.load(filename)) + try: + loaded = parserBackend.load(filename) + except Exception: + loaded = BlowerdoorData(os.path.basename(filename), os.path.basename(filename), "", "", datetime.datetime.now(), datetime.datetime.now()) + allFiles.append(loaded) return flask.render_template("index.html", listContent=allFiles) diff --git a/templates/index.html b/templates/index.html index c3caa56..318198a 100644 --- a/templates/index.html +++ b/templates/index.html @@ -23,7 +23,11 @@ {{ bd.docName }} {{ bd.location }} + {% if bd.blowerdoorDate %} {{ bd.blowerdoorDate }} + {% else %} + 0000 - Keine Informationen Gefunden + {% endif %} {{ bd.customer }} {{ bd.pdfDate.strftime("%Y/%m/%d") }}