Merge dev (add LICENSE)
This commit is contained in:
commit
462e3179f1
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")
|
||||
|
@ -1,5 +0,0 @@
|
||||
-Installer python 3.6 VERSION 64 bits : https://www.python.org/ftp/python/3.6.4/python-3.6.4-amd64-webinstall.exe
|
||||
-Téléchargez (cp36 pour Python 3.6) : https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv
|
||||
-Installer les modules python termcolor, colorama, pyfiglet, code128, Pillow, numpy, pywinauto, PyPDF2 et opencv:
|
||||
-Lancer cmd.exe en tant qu'admin
|
||||
-Exécuter : pip install termcolor colorama pyfiglet code128 Pillow pywinauto PyPDF2 numpy C:\path\to\opencv_python-3.4.0-cp36-cp36m-win_amd64.whl
|
7
LICENSE
Normal file
7
LICENSE
Normal file
@ -0,0 +1,7 @@
|
||||
Copyright © 2018 "Institut Français en Hongrie"
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
9
requirements.txt
Normal file
9
requirements.txt
Normal file
@ -0,0 +1,9 @@
|
||||
code128==0.3
|
||||
colorama==0.4.0
|
||||
numpy==1.15.4
|
||||
opencv-contrib-python==3.4.3.18
|
||||
Pillow==5.3.0
|
||||
pyfiglet==0.7.6
|
||||
PyPDF2==1.26.0
|
||||
pywinauto==0.6.5
|
||||
termcolor==1.1.0
|
Loading…
Reference in New Issue
Block a user