Merge dev (add LICENSE)
This commit is contained in:
		
							
								
								
									
										28
									
								
								IFPass.py
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								IFPass.py
									
									
									
									
									
								
							@@ -22,7 +22,7 @@ from colorama import init
 | 
			
		||||
from termcolor import colored
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
version = '2.2'
 | 
			
		||||
version = '2.2222222222222222222222'
 | 
			
		||||
 | 
			
		||||
config = 'IFPass.conf'
 | 
			
		||||
 | 
			
		||||
@@ -34,7 +34,7 @@ def initialisation():
 | 
			
		||||
    if not os.path.exists(config):     # Check if config file exists
 | 
			
		||||
        print('Fichier de configuration introuvable.')
 | 
			
		||||
        IFPassdir = input(r'Quel est le répertoire IFPass ? (Ex : \\192.168.1.1\IFPass) : ')
 | 
			
		||||
        printername = input("Quel est le nom de l'imprimante à cartes ? : " )
 | 
			
		||||
        printername = input("Quel est le nom de l'imprimante à cartes ? : ")
 | 
			
		||||
        AcrobatReader = input(r"Quel est le chemain vers Acrobat Reader ? ( Ex : C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe) : ")
 | 
			
		||||
        conf['DEFAULT'] = {'IFPassdir': IFPassdir, 'printername': printername, 'AcrobatReader': AcrobatReader}
 | 
			
		||||
        with open(config, 'w') as configfile:
 | 
			
		||||
@@ -45,7 +45,6 @@ def initialisation():
 | 
			
		||||
        printername = conf['DEFAULT']['printername']
 | 
			
		||||
        AcrobatReader = conf['DEFAULT']['AcrobatReader']
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    clientsfile = os.path.join(IFPassdir, 'Clients_IFPass.csv')
 | 
			
		||||
    clientsbkpfile = os.path.join(IFPassdir, 'Clients_IFPass_backup.csv')
 | 
			
		||||
    imgdir = os.path.join(IFPassdir, 'Cartes')
 | 
			
		||||
@@ -108,7 +107,7 @@ def getclientID():
 | 
			
		||||
 | 
			
		||||
def barcode_gen(clientID):
 | 
			
		||||
    print("Génération du code barre...                  ", end='')
 | 
			
		||||
    barcode = code128.image(clientID, thickness=4)    #  .save(imgdir + clientID + '.png')
 | 
			
		||||
    barcode = code128.image(clientID, thickness=4)    # .save(imgdir + clientID + '.png')
 | 
			
		||||
    print(colored('[OK]', 'green'))
 | 
			
		||||
    return barcode
 | 
			
		||||
 | 
			
		||||
@@ -161,7 +160,6 @@ def getpic():
 | 
			
		||||
                picture = Image.fromarray(cropped)
 | 
			
		||||
                return picture
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            elif k & 0xFF == ord('q'):   # Q or q to quit
 | 
			
		||||
                cv2.destroyAllWindows()
 | 
			
		||||
                sys.exit()
 | 
			
		||||
@@ -186,21 +184,21 @@ def fillcard(barcode):
 | 
			
		||||
 | 
			
		||||
    # Name embedding :
 | 
			
		||||
    font = ImageFont.truetype(fonttemplate, 45)
 | 
			
		||||
    draw.text((401, 310), fullname, fill=(0,0,0), font=font)
 | 
			
		||||
    draw.text((401, 310), fullname, fill=(0, 0, 0), font=font)
 | 
			
		||||
 | 
			
		||||
    # Date embedding :
 | 
			
		||||
    font = ImageFont.truetype(fonttemplate, 30)
 | 
			
		||||
    draw.text((401, 390), dateexp, fill=(0,0,0), font=font)
 | 
			
		||||
    draw.text((401, 390), dateexp, fill=(0, 0, 0), font=font)
 | 
			
		||||
 | 
			
		||||
    # ID embedding :
 | 
			
		||||
    font = ImageFont.truetype('arial.ttf', 30)
 | 
			
		||||
    draw.text((693, 560), clientID, fill=(0,0,0), font=font)
 | 
			
		||||
    draw.text((693, 560), clientID, fill=(0, 0, 0), font=font)
 | 
			
		||||
 | 
			
		||||
    # Barcode + picture embedding :
 | 
			
		||||
    im.paste(barcode,(556, 460))
 | 
			
		||||
    im.paste(barcode, (556, 460))
 | 
			
		||||
 | 
			
		||||
    if version != 'devnocam':
 | 
			
		||||
        im.paste(picture,(47, 49))
 | 
			
		||||
        im.paste(picture, (47, 49))
 | 
			
		||||
 | 
			
		||||
    # Create PDF :
 | 
			
		||||
    im = im.convert("RGB")
 | 
			
		||||
@@ -231,7 +229,7 @@ def mergepdf():
 | 
			
		||||
 | 
			
		||||
def printcard(cartefilename):
 | 
			
		||||
    # Working : subprocess.Popen('"C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" /h /n /t ' + cartefilename + ' '+ printername, shell=False)
 | 
			
		||||
    subprocess.Popen('"' + AcrobatReader + '"' + ' /h /n /t ' + cartefilename + ' '+ printername, shell=False)
 | 
			
		||||
    subprocess.Popen('"' + AcrobatReader + '"' + ' /h /n /t ' + cartefilename + ' ' + printername, shell=False)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def membersearch():
 | 
			
		||||
@@ -280,7 +278,7 @@ def membersearch():
 | 
			
		||||
        if diff > 0:
 | 
			
		||||
            print(colored(f"L'abonnement est encore valable {diff} jours.", 'green', attrs=['bold']))
 | 
			
		||||
        elif diff < 0:
 | 
			
		||||
            print(colored("L'abonnement est expiré depuis {abs(diff)} jours.", 'red', attrs=['bold'])) # abs() to remove minus sign
 | 
			
		||||
            print(colored("L'abonnement est expiré depuis {abs(diff)} jours.", 'red', attrs=['bold']))  # abs() to remove minus sign
 | 
			
		||||
        elif diff == 0:
 | 
			
		||||
            print(colored("Il s'agit du dernier jour de l'abonnement, il expirera demain.", 'yellow', attrs=['bold']))
 | 
			
		||||
 | 
			
		||||
@@ -298,8 +296,8 @@ while "The program is running":
 | 
			
		||||
    print('Version : ', version)
 | 
			
		||||
    if version in ('dev', 'devnocam'):
 | 
			
		||||
        print(colored("\nATTENTION : Il s'agit d'une version en cours de développement, potentiellement instable !", 'red'))
 | 
			
		||||
    print('\nLe programme IFPass à été écrit par Jordan ERNST Q1 2018.')
 | 
			
		||||
    print('Pour toute question ou problème contactez-moi à pro.ernst@gmail.com.\n')
 | 
			
		||||
    print("\nLe programme IFPass à été écrit par Jordan ERNST Q1 2018 pour l'Institut Français en Hongrie.")
 | 
			
		||||
    print('Pour toute question, problème ou requête contactez-moi à pro.ernst@gmail.com.\n')
 | 
			
		||||
    print('1 - Nouveau membre', '2 - Rechercher un membre', '3 - Quitter', sep='\n')
 | 
			
		||||
    choix = input('Choix : ')
 | 
			
		||||
    if choix == '1':
 | 
			
		||||
@@ -345,6 +343,7 @@ while "The program is running":
 | 
			
		||||
    elif choix == '2':
 | 
			
		||||
        os.system('cls')
 | 
			
		||||
        membersearch()
 | 
			
		||||
        os.system("pause")
 | 
			
		||||
 | 
			
		||||
    elif choix == '3':
 | 
			
		||||
        sys.exit()
 | 
			
		||||
@@ -352,4 +351,3 @@ while "The program is running":
 | 
			
		||||
    else:
 | 
			
		||||
        os.system('cls')
 | 
			
		||||
        print(colored('Choix incorrect !', 'red', attrs=['bold']))
 | 
			
		||||
    os.system("pause")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user