diff --git a/ase-receiver/ase-receiver/FtpCsvReceiver.py b/ase-receiver/ase-receiver/FtpCsvReceiver.py index 134fde6..0586f6b 100755 --- a/ase-receiver/ase-receiver/FtpCsvReceiver.py +++ b/ase-receiver/ase-receiver/FtpCsvReceiver.py @@ -11,6 +11,7 @@ import sqlite3 from hashlib import md5 from pathlib import Path +from datetime import datetime from smtplib import SMTP_SSL as SMTP, SMTPException, SMTPAuthenticationError from email.mime.text import MIMEText @@ -132,6 +133,15 @@ class ASEHandler(FTPHandler): {'SITE LSTU': dict(perm='M', auth=True, arg=None, help='Syntax: SITE LSTU (list virtual users).')} ) + self.msgid = 0 + self.msgdt = datetime.now().date() + + def increment_msgid(self): + if self.msgdt == datetime.utcnow().date(): + self.msgid += 1 + else: + self.msgid = 1 + return self.msgid def on_file_received(self, file): unitType = "" @@ -151,7 +161,7 @@ class ASEHandler(FTPHandler): filename, fileExtension = os.path.splitext(filenameExt) if (fileExtension.upper() in (cfg.fileext)): if m := re.match( - r"^(G\d\d\d)_(ID\d\d\d\d)_(DT\d\d\d\d)_(\d\d)(\d\d)(\d\d\d\d)(\d\d)(\d\d)(\d\d)$", + r"^(G\d\d\d|GFLOW)_(ID\d\d\d\d)_(DT\d\d\d\d)_(\d\d)(\d\d)(\d\d\d\d|\d\d)(\d\d)(\d\d)(\d\d)$", filename, re.I, ): @@ -161,6 +171,7 @@ class ASEHandler(FTPHandler): toolType = "N/A" fileDate = m.group(6) + "/" + m.group(5) + "/" + m.group(4) fileTime = m.group(7) + ":" + m.group(8) + ":" + m.group(9) + elif re.match( r"^(\d\d_\d\d\d\d|)(DT\d\d\d\d|LOC\d\d\d\d|GD\d\d\d\d)$", filename, re.I ): @@ -237,7 +248,9 @@ class ASEHandler(FTPHandler): "Error", "OS error move " + filenameExt + " to " + newFilename, cfg ) - mq_message = "{};{};{};{};{};{};{}".format( + mq_message = "{};{};{};{};{};{};{};{};{}".format( + ts.timestamp("tms"), + self.increment_msgid(), unitType, unitName, toolName, diff --git a/ase-receiver/ase-receiver/utils/time/date_refmt.py b/ase-receiver/ase-receiver/utils/time/date_refmt.py index c62b522..3bf409b 100644 --- a/ase-receiver/ase-receiver/utils/time/date_refmt.py +++ b/ase-receiver/ase-receiver/utils/time/date_refmt.py @@ -2,24 +2,27 @@ """ -import datetime +from datetime import datetime +from re import search def dateFmt(date): t = date.replace("/", "-") - try: - datetime.datetime.strptime(t, "%Y-%m-%d") - return t - except ValueError: - d = datetime.datetime.strptime(t, "%d-%m-%Y") - return datetime.datetime.strftime(d, "%Y-%m-%d") + if search('^\d\d\d\d-\d\d-\d\d$', t): + d = datetime.strptime(t, "%Y-%m-%d") + elif search('^\d\d-\d\d-\d\d$', t): + d = datetime.strptime(t, "%y-%m-%d") + elif search('^\d\d-\d\d-\d\d\d\d$', t): + d = datetime.strptime(t, "%d-%m-%Y") + return datetime.strftime(d, "%Y-%m-%d") def dateTimeFmt(date): t = date.replace("/", "-") - try: - datetime.datetime.strptime(t, "%Y-%m-%d %H:%M:%S") - return t - except ValueError: - d = datetime.datetime.strptime(t, "%d-%m-%Y %H:%M:%S") - return datetime.datetime.strftime(d, "%Y-%m-%d %H:%M:%S") + if search('^\d\d\d\d-\d\d-\d\d$', t): + d = datetime.strptime(t, "%Y-%m-%d %H:%M:%S") + elif search('^\d\d-\d\d-\d\d$', t): + d = datetime.strptime(t, "%y-%m-%d %H:%M:%S") + elif search('^\d\d-\d\d-\d\d\d\d$', t): + d = datetime.strptime(t, "%d-%m-%Y %H:%M:%S") + return datetime.strftime(d, "%Y-%m-%d") diff --git a/ase-receiver/ase-receiver/utils/time/timestamp_fmt.py b/ase-receiver/ase-receiver/utils/time/timestamp_fmt.py index 71ab82c..88b001a 100644 --- a/ase-receiver/ase-receiver/utils/time/timestamp_fmt.py +++ b/ase-receiver/ase-receiver/utils/time/timestamp_fmt.py @@ -2,9 +2,9 @@ """ -import datetime +from datetime import datetime def timestamp(t): fmt = {"log": "%Y-%m-%d %H:%M:%S", "tms": "%Y%m%d%H%M%S"} - return datetime.datetime.now().strftime(fmt[t]) + return datetime.now().strftime(fmt[t])