From a9d29314dc09e6f84dd27baabe405a5b9b024267 Mon Sep 17 00:00:00 2001 From: Alessandro Battilani Date: Wed, 15 Apr 2020 20:37:39 +0200 Subject: [PATCH] uso del config file --- FtpCsvReceiver.py | 18 +++++++++++++----- asebat/timefmt/date_refmt.py | 14 ++++++++++++++ ftpcsvreceiver.ini | 0 3 files changed, 27 insertions(+), 5 deletions(-) create mode 100644 asebat/timefmt/date_refmt.py create mode 100644 ftpcsvreceiver.ini diff --git a/FtpCsvReceiver.py b/FtpCsvReceiver.py index 1fe44fa..d403f29 100755 --- a/FtpCsvReceiver.py +++ b/FtpCsvReceiver.py @@ -3,10 +3,11 @@ import sys import os import re -import pika import logging import argparse +from configparser import ConfigParser from asebat.timefmt import timestamp_fmt as ts +from asebat.timefmt import date_refmt as df from pyftpdlib.handlers import FTPHandler from pyftpdlib.servers import FTPServer @@ -19,15 +20,15 @@ class ASEHandler(FTPHandler): path, filenameExt = os.path.split(file) filename, fileExtension = os.path.splitext(filenameExt) - 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)$', filename, re.I) - if m : + if 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)$', filename, re.I) : + 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)$', filename, re.I) unitType = m.group(1).upper() unitName = m.group(2).upper() toolName = m.group(3).upper() toolType = "N/A" fileDate = m.group(6) + "/" + m.group(5) + "/" + m.group(4) fileTime = m.group(7) + ":" + m.group(8) + ":" + m.group(9) - else : + 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) : with open(file, "r") as fileCsv: try: for i, line in enumerate(fileCsv.readlines(4096), 1): @@ -46,7 +47,7 @@ class ASEHandler(FTPHandler): logging.error("PID {:>5} >> Error: {}.".format( os.getpid(), sys.exc_info()[1])) fileCsv.close - logging.info("PID {:>5} >> {} - {} - {} - {} - {} - {}.".format(os.getpid(), unitType.upper(), unitName.upper(), toolName.upper(), toolType.upper(), fileDate, fileTime )) + logging.info("PID {:>5} >> {} - {} - {} - {} - {} {}.".format(os.getpid(), unitType.upper(), unitName.upper(), toolName.upper(), toolType.upper(), df.dateFmt(fileDate), fileTime )) newPath = '/home/' + self.username + '/received/' + unitName.upper() + '/' newFilename = newPath + filename + '_' + str(ts.timestamp("tms") + fileExtension) try: @@ -66,6 +67,13 @@ class ASEHandler(FTPHandler): def main(): + config =ConfigParser() + config.read('/etc/ase/ftpcsv.receiver.ini') + firstport = config.get('ftpserver', 'firstport') + logfilename = config.get('ftpserver', 'logfilename') + proxyaddr = config.get('ftpserver', 'proxyaddr') + + parser = argparse.ArgumentParser() parser.add_argument("-l", "--logfilename", help="log file", required=True) parser.add_argument("-p", "--port", help="passive port range start", type=int, required=True) diff --git a/asebat/timefmt/date_refmt.py b/asebat/timefmt/date_refmt.py new file mode 100644 index 0000000..9077c95 --- /dev/null +++ b/asebat/timefmt/date_refmt.py @@ -0,0 +1,14 @@ +"""Funzioni per formato data + +""" + +import datetime + +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") \ No newline at end of file diff --git a/ftpcsvreceiver.ini b/ftpcsvreceiver.ini new file mode 100644 index 0000000..e69de29