ajout de la fonction de verification des horaires d'ouverture

This commit is contained in:
2022-09-25 20:47:11 +02:00
parent aab048841f
commit bfd9473256
2 changed files with 86 additions and 6 deletions

View File

@@ -3,8 +3,8 @@
"NUM_AUTORISE": "0607297154",
"DTMF_CODE": "*",
"DTMF_DURATION": 1,
"HORAIRES": [{
"monday":{
"HORAIRES": {
"Monday":{
"00h00":0,"00h30":0,"01h00":0,"01h30":0,"02h00":0,"02h30":0,"03h00":0,
"03h30":0,"04h00":0,"04h30":0,"05h00":0,"05h30":0,"06h00":1,"06h30":1,
"07h00":1,"07h30":1,"08h00":1,"08h30":1,"09h00":1,"09h30":1,"10h00":1,
@@ -13,7 +13,7 @@
"17h30":1,"18h00":1,"18h30":1,"19h00":1,"19h30":1,"20h00":0,"20h30":0,
"21h00":0,"21h30":0,"22h00":0,"22h30":0,"23h00":0,"23h30":0
},
"MARDI": {
"Tuesday": {
"00h00":0,"00h30":0,"01h00":0,"01h30":0,"02h00":0,"02h30":0,"03h00":0,
"03h30":0,"04h00":0,"04h30":0,"05h00":0,"05h30":0,"06h00":1,"06h30":1,
"07h00":1,"07h30":1,"08h00":1,"08h30":1,"09h00":1,"09h30":1,"10h00":1,
@@ -21,6 +21,51 @@
"14h00":1,"14h30":1,"15h00":1,"15h30":1,"16h00":1,"16h30":1,"17h00":1,
"17h30":1,"18h00":1,"18h30":1,"19h00":1,"19h30":1,"20h00":0,"20h30":0,
"21h00":0,"21h30":0,"22h00":0,"22h30":0,"23h00":0,"23h30":0
},
"Wednesday": {
"00h00":0,"00h30":0,"01h00":0,"01h30":0,"02h00":0,"02h30":0,"03h00":0,
"03h30":0,"04h00":0,"04h30":0,"05h00":0,"05h30":0,"06h00":1,"06h30":1,
"07h00":1,"07h30":1,"08h00":1,"08h30":1,"09h00":1,"09h30":1,"10h00":1,
"10h30":1,"11h00":1,"11h30":1,"12h00":1,"12h30":1,"13h00":1,"13h30":1,
"14h00":1,"14h30":1,"15h00":1,"15h30":1,"16h00":1,"16h30":1,"17h00":1,
"17h30":1,"18h00":1,"18h30":1,"19h00":1,"19h30":1,"20h00":0,"20h30":0,
"21h00":0,"21h30":0,"22h00":0,"22h30":0,"23h00":0,"23h30":0
},
"Thursday": {
"00h00":0,"00h30":0,"01h00":0,"01h30":0,"02h00":0,"02h30":0,"03h00":0,
"03h30":0,"04h00":0,"04h30":0,"05h00":0,"05h30":0,"06h00":1,"06h30":1,
"07h00":1,"07h30":1,"08h00":1,"08h30":1,"09h00":1,"09h30":1,"10h00":1,
"10h30":1,"11h00":1,"11h30":1,"12h00":1,"12h30":1,"13h00":1,"13h30":1,
"14h00":1,"14h30":1,"15h00":1,"15h30":1,"16h00":1,"16h30":1,"17h00":1,
"17h30":1,"18h00":1,"18h30":1,"19h00":1,"19h30":1,"20h00":0,"20h30":0,
"21h00":0,"21h30":0,"22h00":0,"22h30":0,"23h00":0,"23h30":0
},
"Friday": {
"00h00":0,"00h30":0,"01h00":0,"01h30":0,"02h00":0,"02h30":0,"03h00":0,
"03h30":0,"04h00":0,"04h30":0,"05h00":0,"05h30":0,"06h00":1,"06h30":1,
"07h00":1,"07h30":1,"08h00":1,"08h30":1,"09h00":1,"09h30":1,"10h00":1,
"10h30":1,"11h00":1,"11h30":1,"12h00":1,"12h30":1,"13h00":1,"13h30":1,
"14h00":1,"14h30":1,"15h00":1,"15h30":1,"16h00":1,"16h30":1,"17h00":1,
"17h30":1,"18h00":1,"18h30":1,"19h00":1,"19h30":1,"20h00":0,"20h30":0,
"21h00":0,"21h30":0,"22h00":0,"22h30":0,"23h00":0,"23h30":0
},
"Saturday": {
"00h00":0,"00h30":0,"01h00":0,"01h30":0,"02h00":0,"02h30":0,"03h00":0,
"03h30":0,"04h00":0,"04h30":0,"05h00":0,"05h30":0,"06h00":0,"06h30":0,
"07h00":0,"07h30":0,"08h00":0,"08h30":0,"09h00":0,"09h30":0,"10h00":0,
"10h30":0,"11h00":0,"11h30":0,"12h00":0,"12h30":0,"13h00":0,"13h30":0,
"14h00":0,"14h30":0,"15h00":0,"15h30":0,"16h00":0,"16h30":0,"17h00":0,
"17h30":0,"18h00":0,"18h30":0,"19h00":0,"19h30":0,"20h00":0,"20h30":0,
"21h00":0,"21h30":0,"22h00":0,"22h30":0,"23h00":0,"23h30":0
},
"Sunday": {
"00h00":0,"00h30":0,"01h00":0,"01h30":0,"02h00":0,"02h30":0,"03h00":0,
"03h30":0,"04h00":0,"04h30":0,"05h00":0,"05h30":0,"06h00":0,"06h30":0,
"07h00":0,"07h30":0,"08h00":0,"08h30":0,"09h00":0,"09h30":0,"10h00":0,
"10h30":0,"11h00":0,"11h30":0,"12h00":0,"12h30":0,"13h00":0,"13h30":0,
"14h00":0,"14h30":0,"15h00":0,"15h30":0,"16h00":0,"16h30":0,"17h00":0,
"17h30":0,"18h00":0,"18h30":0,"19h00":0,"19h30":0,"20h00":0,"20h30":0,
"21h00":0,"21h30":0,"22h00":0,"22h30":0,"23h00":0,"23h30":0
}
}]
}
}

View File

@@ -12,7 +12,8 @@ import sys, os, re
import serial
import logging as log
import time
from datetime import datetime
from datetime import datetime, date
import calendar
import json
###################################################################
@@ -86,7 +87,15 @@ def init_com(serObj=None, config=None, log=None):
:return bool:
'''
cmd_lst = ['AT', 'ATE1', 'AT+CMEE=2', 'AT+CPIN?', 'AT+CREG?', 'AT+CSQ', 'AT+CLTS=1', 'AT+CLIP=1', 'AT+VTD='+str(config['DTMF_DURATION'])]
cmd_lst = ['AT',
'ATE1',
'AT+CMEE=2',
'AT+CPIN?',
'AT+CREG?',
'AT+CSQ',
'AT+CLTS=1',
'AT+CLIP=1',
'AT+VTD='+str(config['DTMF_DURATION'])]
for cmd in cmd_lst:
ret = send_at_cmd(cmd=cmd, serObj=serObj, log=log)
if not ret:
@@ -120,6 +129,26 @@ def verify_caller(buf="", num="", log=None):
return False, phone_number
return True, phone_number
def verify_open_hours(conf=None, log=None):
'''
:param conf:
configuration object
:param log:
logger object
:return bool:
True if authorized, False otherwise
'''
my_date = date.today()
day = calendar.day_name[my_date.weekday()]
log.debug("Current day is {}".format(day))
log.debug("CONF {}".format(conf[day]))
now = datetime.now()
current_time = now.strftime("%Hh%M")
log.debug("current time : {}".format(current_time))
return True
###################################################################
# Corps principal du programme #
@@ -154,6 +183,10 @@ def main():
rtscts=False,
dsrdtr=False)
# Verify date and time
ret = verify_open_hours(conf=config['HORAIRES'], log=logger)
exit(0)
if ser.isOpen():
logger.info("Le port de communication avec le GNSS_HAT est ouvert")
try:
@@ -174,6 +207,8 @@ def main():
logger.debug("out: {}".format(out))
time.sleep(.1)
if out.startswith('+CLIP: '):
# Verify date and time
ret = verify_open_hours(conf=config['HORAIRES'], log=logger)
# Verify caller phone number
ret, phone_number = verify_caller(buf=out, num=config['NUM_AUTORISE'], log=logger)
if not ret: