Hello, aujourdhui je vous post une partie du code de mon programe pour avoir votre avis sur comment l'améliorer et le rendre portable.
J'ai encore plusieurs soucis:
Le problem des chemins dans le system de menu "Archaïque Menu V1" ^^ Peu étre je peu régler le problem avec un "instaleur" genre setup.py ?
Ou faut il que je change la construction de mon menu :/ ?( Du fait que j'utilise un nouveau numéro a chaque fois.. il faudrais peu etre "un menu par menu" -> voir le code)
Aussi je voudrais "Trap" ctrl +c ? (Comme metasploit console ) Qui sait comment faire ?
Donc je vous post de quoi faire fonctionner uniquement le premier l'algorithm (menu.py + cb.py):
C'est mon PREMIER prog en python donc posez ces fourches !!
Menu.py(Modifiez le chemin vers CB.py et menu.py pour que ca fonction ):
CB.py
PS: Je sais que les menus son moche et avec des fautes Je veut juste que ca marche a 100% et aprés je fait un beau menu...
J'ai encore plusieurs soucis:
Le problem des chemins dans le system de menu "Archaïque Menu V1" ^^ Peu étre je peu régler le problem avec un "instaleur" genre setup.py ?
Ou faut il que je change la construction de mon menu :/ ?( Du fait que j'utilise un nouveau numéro a chaque fois.. il faudrais peu etre "un menu par menu" -> voir le code)
Aussi je voudrais "Trap" ctrl +c ? (Comme metasploit console ) Qui sait comment faire ?
Donc je vous post de quoi faire fonctionner uniquement le premier l'algorithm (menu.py + cb.py):
C'est mon PREMIER prog en python donc posez ces fourches !!
Menu.py(Modifiez le chemin vers CB.py et menu.py pour que ca fonction ):
#!/usr/bin/python
# -*-coding:utf-8 -*
## /!\ Menu - Beta /!\ Algorithme
##@UnAmEd~(0_0)~
import sys, os
# Main definition - constants
menu_actions = {}
num = ""
# =======================
# MENUS FUNCTIONS
# =======================
# Menu principal
def main_menu():
os.system('clear')
print "\033[33m <=================== ~{0_0}~ ===================> \033[0m\n"
print "\033[33m AlgoCheck \033[0m\n"
print "\033[33mChoisissez un algorithme:\033[0m "
print "1.\033[33mLhune Checker <-(Crédit Card) <-\033[0m"
print "2.\033[33mNIR Checker (Carte Vital) <-\033[0m"
print "3.\033[33mInternational Bank Account Number Checker <-\033[0m"
print "\n0. \33[31mExit\033[0m"
choice = raw_input(" >> ")
exec_menu(choice)
return
# Execute menu
def exec_menu(choice):
os.system('clear')
ch = choice.lower()
if ch == '':
menu_actions['main_menu']()
else:
try:
menu_actions[ch]()
except KeyError:
print "\33[31mMauvais choix =(.\033[0m\n"
menu_actions['main_menu']()
return
# Menu 1
def menu1():
print "\033[34m <=================== ~{0_0}~ ====By-Unam3d=======> \033[0m\n"
print "\033[34m Bienvenue dans Lhune Checker {0_0} !\033[0m\n"
print "4.\033[34m Tester une CB ou un SIRET <-\033[0m"
print "9.\033[33m Back\033[0m"
print "\n0. \33[31mExit\033[0m"
choice = raw_input(" >> ")
exec_menu(choice)
return
# Menu 2
def menu2():
print "\033[36m <=================== ~{0_0}~ ===================> \033[0m\n"
print "\033[36m Bienvenue dans NIR Checker !\033[0m\n"
print "5.\033[36m Tester carte vital <-\033[0m"
print "9.\033[33m Back\033[0m"
print "\n0. \33[31mExit\033[0m"
choice = raw_input(" >> ")
exec_menu(choice)
return
# Menu iban
def menu3():
print "\033[32m <=================== ~{0_0}~ ====================> \033[0m\n"
print "\033[32m Bienvenue dans IBAN Checker !\033[0m\n"
print "6.\033[32m Tester un IBAN <-\033[0m"
print "7.\033[32m Informations <-\033[0m"
print "9.\033[33m Back\033[0m"
print "\n0. \33[31mExit\033[0m"
choice = raw_input(" >> ")
exec_menu(choice)
return
# Menu info
def infoiban():
print "\033[32m <=================== ~{0_0}~ ===================> \033[0m\n"
print "\033[32m List des IBAN suporte:\033[0m\n"
print "\033[32m France(27) Format IBAN : FRkk XXXX XXXX XXX XXXX XXXX XXX\033[0m"
print "\033[32m Grece (27) Format IBAN : GRkk XXXX XXXX XXX XXXX XXXX XXX\033[0m"
print "\033[32m Italie (27) Format IBAN : ITkk XXXX XXXX XXX XXXX XXXX XXX\033[0m"
print "\033[32m Monaco (27) Format IBAN : MCkk XXXX XXXX XXX XXXX XXXX XXX\033[0m"
print "\033[32m Saint-Marin (27) Format IBAN : SMkk XXXX XXX XXXX XXXX XXX\033[0m"
print "8.\033[33m Back\033[0m"
print "\n0.\33[31mExit\033[0m"
choice = raw_input(" >> ")
exec_menu(choice)
return
# Back to main menu
def back():
menu_actions['main_menu']()
# Exit program
def exit():
print "\033[33m [+] Merci d'avoir utiliser AlgoCheck ! \033[0m\n"
os.system("sleep 5")
sys.exit()
def cartebleu():
print "\033[33m [+] Américan Express Non pris en charge ! \033[0m\n"
os.system("/home/stiky/Bureau/Python/checker/CB.py")
def cartevital():
os.system("/home/stiky/Bureau/Python/checker/Vital.py")
def iban():
os.system("/home/stiky/Bureau/Python/checker/IBAN.py")
# =======================
# MENUS DEFINITIONS
# =======================
# Menu definition
menu_actions = {
'main_menu': main_menu,
'1': menu1,
'2': menu2,
'3': menu3,
'8': menu3,
'9': back,
'0': exit,
'4': cartebleu,
'5': cartevital,
'6': iban,
'7': infoiban
}
# =======================
# MAIN PROGRAM
# =======================
# Main Program
if __name__ == "__main__":
# Launch main menu
main_menu()
# -*-coding:utf-8 -*
## /!\ Menu - Beta /!\ Algorithme
##@UnAmEd~(0_0)~
import sys, os
# Main definition - constants
menu_actions = {}
num = ""
# =======================
# MENUS FUNCTIONS
# =======================
# Menu principal
def main_menu():
os.system('clear')
print "\033[33m <=================== ~{0_0}~ ===================> \033[0m\n"
print "\033[33m AlgoCheck \033[0m\n"
print "\033[33mChoisissez un algorithme:\033[0m "
print "1.\033[33mLhune Checker <-(Crédit Card) <-\033[0m"
print "2.\033[33mNIR Checker (Carte Vital) <-\033[0m"
print "3.\033[33mInternational Bank Account Number Checker <-\033[0m"
print "\n0. \33[31mExit\033[0m"
choice = raw_input(" >> ")
exec_menu(choice)
return
# Execute menu
def exec_menu(choice):
os.system('clear')
ch = choice.lower()
if ch == '':
menu_actions['main_menu']()
else:
try:
menu_actions[ch]()
except KeyError:
print "\33[31mMauvais choix =(.\033[0m\n"
menu_actions['main_menu']()
return
# Menu 1
def menu1():
print "\033[34m <=================== ~{0_0}~ ====By-Unam3d=======> \033[0m\n"
print "\033[34m Bienvenue dans Lhune Checker {0_0} !\033[0m\n"
print "4.\033[34m Tester une CB ou un SIRET <-\033[0m"
print "9.\033[33m Back\033[0m"
print "\n0. \33[31mExit\033[0m"
choice = raw_input(" >> ")
exec_menu(choice)
return
# Menu 2
def menu2():
print "\033[36m <=================== ~{0_0}~ ===================> \033[0m\n"
print "\033[36m Bienvenue dans NIR Checker !\033[0m\n"
print "5.\033[36m Tester carte vital <-\033[0m"
print "9.\033[33m Back\033[0m"
print "\n0. \33[31mExit\033[0m"
choice = raw_input(" >> ")
exec_menu(choice)
return
# Menu iban
def menu3():
print "\033[32m <=================== ~{0_0}~ ====================> \033[0m\n"
print "\033[32m Bienvenue dans IBAN Checker !\033[0m\n"
print "6.\033[32m Tester un IBAN <-\033[0m"
print "7.\033[32m Informations <-\033[0m"
print "9.\033[33m Back\033[0m"
print "\n0. \33[31mExit\033[0m"
choice = raw_input(" >> ")
exec_menu(choice)
return
# Menu info
def infoiban():
print "\033[32m <=================== ~{0_0}~ ===================> \033[0m\n"
print "\033[32m List des IBAN suporte:\033[0m\n"
print "\033[32m France(27) Format IBAN : FRkk XXXX XXXX XXX XXXX XXXX XXX\033[0m"
print "\033[32m Grece (27) Format IBAN : GRkk XXXX XXXX XXX XXXX XXXX XXX\033[0m"
print "\033[32m Italie (27) Format IBAN : ITkk XXXX XXXX XXX XXXX XXXX XXX\033[0m"
print "\033[32m Monaco (27) Format IBAN : MCkk XXXX XXXX XXX XXXX XXXX XXX\033[0m"
print "\033[32m Saint-Marin (27) Format IBAN : SMkk XXXX XXX XXXX XXXX XXX\033[0m"
print "8.\033[33m Back\033[0m"
print "\n0.\33[31mExit\033[0m"
choice = raw_input(" >> ")
exec_menu(choice)
return
# Back to main menu
def back():
menu_actions['main_menu']()
# Exit program
def exit():
print "\033[33m [+] Merci d'avoir utiliser AlgoCheck ! \033[0m\n"
os.system("sleep 5")
sys.exit()
def cartebleu():
print "\033[33m [+] Américan Express Non pris en charge ! \033[0m\n"
os.system("/home/stiky/Bureau/Python/checker/CB.py")
def cartevital():
os.system("/home/stiky/Bureau/Python/checker/Vital.py")
def iban():
os.system("/home/stiky/Bureau/Python/checker/IBAN.py")
# =======================
# MENUS DEFINITIONS
# =======================
# Menu definition
menu_actions = {
'main_menu': main_menu,
'1': menu1,
'2': menu2,
'3': menu3,
'8': menu3,
'9': back,
'0': exit,
'4': cartebleu,
'5': cartevital,
'6': iban,
'7': infoiban
}
# =======================
# MAIN PROGRAM
# =======================
# Main Program
if __name__ == "__main__":
# Launch main menu
main_menu()
CB.py
Code:
#!/usr/bin/python # -*-coding:utf-8 -* ## /!\ Algorithme de Luhn (mod10) pour CB ou SIRET /!\ Algorithme ##@Unamed ~(0_0)~ import sys, os import string class CarteBleu(): def validation(self): if len(num) < 16 or len(num) > 16: return False else: return True def __init__(self, num): self.num = num print "\033[33m<----------------- ~{0_0}~ -By--Unam3d-----> \033[0m" print "\033[33m<==============Lhune Checker==============>\033[0m" print "/!\ Algorithme de Luhn (mod10) pour CB ou SIRET /!\ Algorithme " num = raw_input("Entrez le numéro de carte a vérifier (NoSpace): ") while len(num) != 16: print "\033[33m/!\Luhn pour CB ou SIRET (16 chiffres ! ) /!\ Algorithme \033[0m" num = raw_input("Entrez le numéro de carte a vérifier (NoSpace): ") num = str(num) num = str(num) carte = CarteBleu(num) if carte.validation() == True: print "\033[34mInfo Num:\033[0m" else: print "\033[33mNumero de invalide !! \033[0m" num1 = num[0] num2 = num[1] num3 = num[2] num4 = num[3] num5 = num[4] num6 = num[5] num7 = num[6] num8 = num[7] num9 = num[8] num10 = num[9] num11 = num[10] num12 = num[11] num13 = num[12] num14 = num[13] num15 = num[14] KEY = num[15] a = int(num1) *2 #Début de la P1 if a >= 10: a = a - 9 b = int(num2) c = int(num3) *2 if c >= 10: c = c - 9 d = int(num4) e = int(num5) *2 if e >= 10: e = e - 9 f = int(num6) g = int(num7) *2 if g >= 10: g = g - 9 h = int(num8) i = int(num9) *2 if i >= 10: i = i - 9 j = int(num10) k = int(num11) *2 if k >= 10: k = k - 9 l = int(num12) m = int(num13) *2 if m >= 10: m = m - 9 n = int(num14) o = int(num15) *2 if o >= 10: o = o - 9 p = int(KEY) #Fin de la P1 newnum = str(a) + str(b) + str(c) + str(d) + str(e) + str(f) + str(g) + str(h) + str(i) + str(j) + str(k) + str(l) + str(m) + str(n) + str(o) + str(p) #P2 newnum2 = a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p #P3 validation = newnum2 % 10 #P4 if validation != 0: print "\033[31m [!] Numéro INVALIDE \033[0m" os.system("sleep 2") print "\033[33m [+] Merci d'avoir utiliser AlgoCheck V.1! \033[0m\n" os.system("sleep 4") os.system("python /home/stiky/Bureau/Python/checker/menu.py") else: print "\033[32m Enjoy ! Numéro de carte validé par Lhune ! =o)!\033[0m" os.system("sleep 2") print "\033[33m [+] Merci d'avoir utiliser AlgoCheck V.1! \033[0m\n" os.system("sleep 4") os.system("python /home/stiky/Bureau/Python/checker/menu.py") ##print "\033[32m-DEBUG- P1= %s P2 = %s P3 = %s\033[0m" % (newnum,newnum2,validation) ##Debug pour result phase par phase
Commentaire