Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
8138ebd95c | |||
483d7e2f6f | |||
e7f78e6e39 | |||
622ad63e0a | |||
a93c05bcc3 | |||
029f0c1396 | |||
e19a9b5820 | |||
7513a2d2fb | |||
dcb4caacc6 |
29
IFPass.py
29
IFPass.py
@ -23,7 +23,7 @@ from colorama import init
|
|||||||
from termcolor import colored
|
from termcolor import colored
|
||||||
|
|
||||||
|
|
||||||
version = '3.0' # dev/devnocam
|
version = '3.1' # dev/devnocam
|
||||||
|
|
||||||
configdir = os.path.join(os.getenv('PROGRAMDATA'), 'IFPass')
|
configdir = os.path.join(os.getenv('PROGRAMDATA'), 'IFPass')
|
||||||
config = os.path.join(configdir, 'IFPass.conf')
|
config = os.path.join(configdir, 'IFPass.conf')
|
||||||
@ -311,6 +311,17 @@ def printcard(cartefilename):
|
|||||||
subprocess.Popen('"' + AcrobatReader + '"' + ' /h /n /t ' + cartefilename + ' ' + printername, shell=False)
|
subprocess.Popen('"' + AcrobatReader + '"' + ' /h /n /t ' + cartefilename + ' ' + printername, shell=False)
|
||||||
|
|
||||||
|
|
||||||
|
def getdateexp():
|
||||||
|
while True:
|
||||||
|
dateexp = input("Quelle date d'expiration voulez-vous mettre (Format : JJ/MM/AAAA)? : ")
|
||||||
|
match = re.fullmatch(r'^(0[1-9]|1[0-9]|2[0-9]|3[0-1])/(0[1-9]|1[0-2])/([0-9]){4}$', dateexp)
|
||||||
|
if match:
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
print('Mauvais format ! JJ/MM/AAAA, exemple : 01/08/2042')
|
||||||
|
return dateexp
|
||||||
|
|
||||||
|
|
||||||
def newmember():
|
def newmember():
|
||||||
while "the informations are incorrect": # Loop Filling informations
|
while "the informations are incorrect": # Loop Filling informations
|
||||||
os.system('cls')
|
os.system('cls')
|
||||||
@ -322,13 +333,7 @@ def newmember():
|
|||||||
dateexp = dateexp.strftime('%d/%m/%Y')
|
dateexp = dateexp.strftime('%d/%m/%Y')
|
||||||
changeexp = yes_or_no("Voulez-vous choisir la date d'expiration ?")
|
changeexp = yes_or_no("Voulez-vous choisir la date d'expiration ?")
|
||||||
if changeexp:
|
if changeexp:
|
||||||
while True:
|
dateexp = getdateexp()
|
||||||
dateexp = input("Quelle date d'expiration voulez-vous mettre (Format : JJ/MM/AAAA)? : ")
|
|
||||||
match = re.fullmatch(r'^(0[1-9]|1[0-9]|2[0-9]|3[0-1])/(0[1-9]|1[0-2])/([0-9]){4}$', dateexp)
|
|
||||||
if match:
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
print('Mauvais format ! JJ/MM/AAAA, exemple : 01/08/2042')
|
|
||||||
|
|
||||||
os.system('cls')
|
os.system('cls')
|
||||||
print("Titre : ", colored(titre, 'green'))
|
print("Titre : ", colored(titre, 'green'))
|
||||||
@ -404,7 +409,7 @@ def membersearch():
|
|||||||
elif diff == 0:
|
elif diff == 0:
|
||||||
print(colored("Il s'agit du dernier jour de l'abonnement, il expirera demain.", 'yellow', attrs=['bold']))
|
print(colored("Il s'agit du dernier jour de l'abonnement, il expirera demain.", 'yellow', attrs=['bold']))
|
||||||
|
|
||||||
print('\n1 - Modifier', "2 - Renouveller l'abonnement", '3 - Imprimer la carte', '0 - Menu principal', sep='\n')
|
print('\n1 - Modifier', "2 - Renouveller l'abonnement / Choisir un nouvelle date d'expiration", '3 - Imprimer la carte', '0 - Menu principal', sep='\n')
|
||||||
choix = input('Choix : ')
|
choix = input('Choix : ')
|
||||||
if choix == '0':
|
if choix == '0':
|
||||||
os.system('cls')
|
os.system('cls')
|
||||||
@ -431,6 +436,9 @@ def memberdo(choix, member):
|
|||||||
titre, firstname, surname, dateexp = memberedit(titre, firstname, surname, clientID, dateinsc, dateexp)
|
titre, firstname, surname, dateexp = memberedit(titre, firstname, surname, clientID, dateinsc, dateexp)
|
||||||
|
|
||||||
elif choix == '2': # Renew subscription
|
elif choix == '2': # Renew subscription
|
||||||
|
print("1 - Renouveller l'abonnement automatiquement", "2 - Choisir la date d'expiration", sep='\n')
|
||||||
|
choix = input("Choix : ")
|
||||||
|
if choix == 1:
|
||||||
dateexp = datetime.strptime(dateexp, '%d/%m/%Y').date()
|
dateexp = datetime.strptime(dateexp, '%d/%m/%Y').date()
|
||||||
diff = (dateexp - date.today()).days
|
diff = (dateexp - date.today()).days
|
||||||
if diff >= 0:
|
if diff >= 0:
|
||||||
@ -438,6 +446,8 @@ def memberdo(choix, member):
|
|||||||
elif diff < 0:
|
elif diff < 0:
|
||||||
dateexp = date.today() + timedelta(days=365)
|
dateexp = date.today() + timedelta(days=365)
|
||||||
dateexp = dateexp.strftime('%d/%m/%Y')
|
dateexp = dateexp.strftime('%d/%m/%Y')
|
||||||
|
elif choix == 2:
|
||||||
|
dateexp = getdateexp()
|
||||||
|
|
||||||
if titre == 'Dr.':
|
if titre == 'Dr.':
|
||||||
titrename = titre + ' ' + surname
|
titrename = titre + ' ' + surname
|
||||||
@ -472,6 +482,7 @@ def memberdo(choix, member):
|
|||||||
print(colored("La date d'expiration a bien été mise à jour !\n", 'blue', attrs=['bold']))
|
print(colored("La date d'expiration a bien été mise à jour !\n", 'blue', attrs=['bold']))
|
||||||
|
|
||||||
elif choix == '3': # Print card
|
elif choix == '3': # Print card
|
||||||
|
cartefilename = os.path.join(imgdir, clientID + '.pdf')
|
||||||
printcard(cartefilename)
|
printcard(cartefilename)
|
||||||
else:
|
else:
|
||||||
print(colored('Choix incorrect !\n', 'red', attrs=['bold']))
|
print(colored('Choix incorrect !\n', 'red', attrs=['bold']))
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
[Application]
|
[Application]
|
||||||
name=IFPass
|
name=IFPass
|
||||||
version=3.0
|
version=3.1
|
||||||
entry_point=IFPass:main
|
entry_point=IFPass:main
|
||||||
icon=IF.ico
|
icon=IF.ico
|
||||||
console=true
|
console=true
|
||||||
@ -13,6 +13,18 @@ bitness=64
|
|||||||
[Include]
|
[Include]
|
||||||
# Packages from PyPI that your application requires, one per line
|
# Packages from PyPI that your application requires, one per line
|
||||||
# These must have wheels on PyPI:
|
# These must have wheels on PyPI:
|
||||||
|
# https://pypi.org/project/code128/
|
||||||
|
# https://pypi.org/project/colorama/
|
||||||
|
# https://pypi.org/project/pyfiglet/
|
||||||
|
# https://pypi.org/project/numpy/
|
||||||
|
# https://pypi.org/project/opencv-python/
|
||||||
|
# https://pypi.org/project/Pillow/
|
||||||
|
# https://pypi.org/project/pywin32/
|
||||||
|
# https://pypi.org/project/six/
|
||||||
|
# https://pypi.org/project/setuptools/
|
||||||
|
# https://pypi.org/project/PyMuPDF/
|
||||||
|
# https://pypi.org/project/pywinauto/
|
||||||
|
|
||||||
pypi_wheels=code128==0.3
|
pypi_wheels=code128==0.3
|
||||||
colorama==0.4.1
|
colorama==0.4.1
|
||||||
pyfiglet==0.8.post1
|
pyfiglet==0.8.post1
|
||||||
@ -22,7 +34,7 @@ pypi_wheels=code128==0.3
|
|||||||
pywin32==224
|
pywin32==224
|
||||||
six==1.12.0
|
six==1.12.0
|
||||||
setuptools==40.8.0
|
setuptools==40.8.0
|
||||||
PyMuPDF==1.14.8
|
PyMuPDF==1.14.12
|
||||||
pywinauto==0.6.6
|
pywinauto==0.6.6
|
||||||
# Must check if future updates of the following packages provide .whl files
|
# Must check if future updates of the following packages provide .whl files
|
||||||
# pywinauto needs to be downloaded manually and edit setup to match platform=win32
|
# pywinauto needs to be downloaded manually and edit setup to match platform=win32
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[Application]
|
[Application]
|
||||||
name=IFPass
|
name=IFPass
|
||||||
version=3.0
|
version=3.1
|
||||||
entry_point=IFPass:main
|
entry_point=IFPass:main
|
||||||
icon=IF.ico
|
icon=IF.ico
|
||||||
console=true
|
console=true
|
||||||
@ -13,6 +13,18 @@ bitness=32
|
|||||||
[Include]
|
[Include]
|
||||||
# Packages from PyPI that your application requires, one per line
|
# Packages from PyPI that your application requires, one per line
|
||||||
# These must have wheels on PyPI:
|
# These must have wheels on PyPI:
|
||||||
|
# https://pypi.org/project/code128/
|
||||||
|
# https://pypi.org/project/colorama/
|
||||||
|
# https://pypi.org/project/pyfiglet/
|
||||||
|
# https://pypi.org/project/numpy/
|
||||||
|
# https://pypi.org/project/opencv-python/
|
||||||
|
# https://pypi.org/project/Pillow/
|
||||||
|
# https://pypi.org/project/pywin32/
|
||||||
|
# https://pypi.org/project/six/
|
||||||
|
# https://pypi.org/project/setuptools/
|
||||||
|
# https://pypi.org/project/PyMuPDF/
|
||||||
|
# https://pypi.org/project/pywinauto/
|
||||||
|
|
||||||
pypi_wheels=code128==0.3
|
pypi_wheels=code128==0.3
|
||||||
colorama==0.4.1
|
colorama==0.4.1
|
||||||
pyfiglet==0.8.post1
|
pyfiglet==0.8.post1
|
||||||
@ -22,7 +34,7 @@ pypi_wheels=code128==0.3
|
|||||||
pywin32==224
|
pywin32==224
|
||||||
six==1.12.0
|
six==1.12.0
|
||||||
setuptools==40.8.0
|
setuptools==40.8.0
|
||||||
PyMuPDF==1.14.8
|
PyMuPDF==1.14.12
|
||||||
pywinauto==0.6.6
|
pywinauto==0.6.6
|
||||||
# Must check if future updates of the following packages provide .whl files
|
# Must check if future updates of the following packages provide .whl files
|
||||||
# pywinauto needs to be downloaded manually and edit setup to match platform=win32
|
# pywinauto needs to be downloaded manually and edit setup to match platform=win32
|
||||||
|
Reference in New Issue
Block a user