Agregar soporte para rangos de fechas

This commit is contained in:
Mauricio Baeza 2021-07-30 22:43:40 -05:00
parent 58b609c1f4
commit 98f9799a8d
2 changed files with 31 additions and 2 deletions

View File

@ -55,10 +55,10 @@ def _process_command_line_arguments():
help = "Intervalo de días a partir de la fecha actual y hacia a atras"
parser.add_argument('-ud', '--ultimos-dias', help=help,
dest='last_days', default=0, type=int, choices=range(30))
help = "Fecha inicial D-MM-AAAA"
help = "Fecha inicial AAAA-MM-DD"
parser.add_argument('-fi', '--fecha-inicial', help=help,
dest='date_start', default='')
help = "Fecha final D-MM-AAAA"
help = "Fecha final AAAA-MM-DD"
parser.add_argument('-ff', '--fecha-final', help=help,
dest='date_end', default='')

View File

@ -123,6 +123,20 @@ def _get_cert(data):
cert = SATCertificate(cer, key, pem)
return cert
def _to_date(str_date, end=False):
error = ''
dt = None
try:
parts = str_date.split('-')
if end:
dt = datetime(parts[0], parts[1], parts[2], 23, 59, 59)
else:
dt = datetime(parts[0], parts[1], parts[2], 0, 0, 0)
except Exception as e:
error = 'Fecha inválida'
return error, dt
def _validate_requests_args(args):
result, data = _validate_fiel_args(args)
@ -157,6 +171,21 @@ def _validate_requests_args(args):
data['date_end'] = date_end
return True, data
if args.date_start and args.date_end:
error, date_start = _to_date(args.date_start)
if error:
log.error(error)
return False, {}
error, date_end = _to_date(args.date_end, True)
if error:
log.error(error)
return False, {}
data['date_start'] = date_start
data['date_end'] = date_end
return True, data
if data['day']:
if not validate_date(data['year'], data['month'], data['day']):
msg = 'Fecha inválida'