CIA
unknown
python
3 years ago
17 kB
8
Indexable
from tkinter import * # FOR PYTHON'S GUI FRAME APPLICATION
import pygame # to run Audio files in the below code
import mysql.connector as sql # to connect sql server to the python
import random # used to generate random numbers between specified range in this code
from tkinter import messagebox
import time # to display the real time clock timer by using strftime function.
con=sql.connect(host="Localhost",user="root",passwd="Flower@123",database="cia")
cur=con.cursor()
cur.execute("select * from login")
l1=[[00000000,"00000000","0000","000000","0"]]
for i in cur:
if i in l1:
pass
else:
l1.append(list(i))
# to set the position of the tkinter window on the screen
# 1) to the right edge(0,0)
# 2) to the left edge(-1,0)
# <tkinter_window_name>.geometry("width x height + absissca + ordinate")
root=Tk()
root.geometry("750x500+250+150")
root.title("C.I.A")
root.iconbitmap("logo_1.ico")
image_1=PhotoImage(file="code_bg.png")
label=Label(image=image_1)
label.grid(row=0,column=0)
image_2=PhotoImage(file="tick_final.png")
Cia_logo=PhotoImage(file="cia.png")
wood=PhotoImage(file="eye.png")
eagle=PhotoImage(file="eagle.png")
creators=PhotoImage(file="creaters.png")
def bg():
global root
pygame.mixer.init()
pygame.mixer.music.load("MI.mp3")
pygame.mixer.music.play(loops=10)
bg()
def register():
def done():
global l1
global con
global cur
global button_rsubmit
for j in l1:
if j[2]==e_rcode.get():
frame_gen=Frame(register,bg="#90EE90")
frame_gen.place(x=0,y=0,width=200,height=200)
label_gen=Label(frame_gen,text="the New ID\nis successfully generated\nnow you are a member!\n \nyour'e ID is:"+str(id),fg="Blue",font=("consolas",10,"bold"),bg="#90EE90")
label_gen.pack()
break
elif len(e_rcode.get())==0 or len(e_rname.get())==0 or len(e_rpasscode.get())==0 or len(e_rlevel.get())==0:
print("all fields are required")
break
elif len(e_rcode.get())!=4:
print("enter a 4 digit valid code")
break
else:
id=random.randint(100000000,999999999)
for l in l1:
if l[0]==id:
print("The ID is Already Exists\n your ID is:",l[0])
break
else:
# METHOD to insert entry values into the SQL table.
t2=(id,e_rname.get(),e_rcode.get(),e_rpasscode.get(),e_rlevel.get())
sql="INSERT INTO login(ID,Agent_name,Agent_code,Agent_passcode,level) VALUES(%s,%s,%s,%s,%s)"
cur.execute(sql,t2)
con.commit() # to apply the changes done to the sql table
frame_gen=Frame(register,bg="#90EE90")
frame_gen.place(x=0,y=0,width=200,height=200)
label_gen=Label(frame_gen,text="the New ID\nis successfully generated\nnow you are a member!\n \nyour'e ID is:"+str(id),fg="Blue",font=("consolas",10,"bold"),bg="#90EE90")
label_gen.pack()
l1.append(list(t2))
e_rname.delete(0,END)
e_rcode.delete(0,END)
e_rpasscode.delete(0,END)
e_rlevel.delete(0,END)
break
# REGISTRATION ENTRY WINDOW
register=Tk()
register.geometry("200x200")
register.title("RG")
register.iconbitmap("register.ico")
frame_r=Frame(register,bg="black")
Label_r=Label(frame_r,text="Enter your details\n note:Registered accounts are\nnot taken",font=("consolas",10,"bold"),bg="black",fg="white")
l_rname=Label(frame_r,text="NAME",font=("consolas",12,"bold"),bg="black",fg="white")
e_rname=Entry(frame_r)
l_rcode=Label(frame_r,text="CODE",font=("consolas",12,"bold"),bg="black",fg="white")
e_rcode=Entry(frame_r,show="*")
l_rpasscode=Label(frame_r,text="PASS",font=("consolas",12,"bold"),bg="black",fg="white")
e_rpasscode=Entry(frame_r)
l_rlevel=Label(frame_r,text="LEVEL",font=("consolas",12,"bold"),bg="black",fg="white")
e_rlevel=Entry(frame_r)
button_rsubmit=Button(frame_r,text="done",relief=RIDGE,command=done)
#positioning system
Label_r.pack()
frame_r.place(x=0,y=0,width=200,height=200)
l_rname.place(x=10,y=45)
e_rname.place(x=60,y=50)
l_rcode.place(x=10,y=75)
e_rcode.place(x=60,y=80)
l_rpasscode.place(x=10,y=105)
e_rpasscode.place(x=60,y=110)
l_rlevel.place(x=10,y=140)
e_rlevel.place(x=60,y=140)
button_rsubmit.place(x=150,y=170)
register.mainloop()
def server():
Frame_timeout=Frame(bg="black")
Frame_timeout.place(x=0,y=0,width=750,height=500)
label=Label(Frame_timeout,text="SERVER\n TIMEOUT",font=("consolas",72,"bold"),bg="black",fg="red")
label.place(x=20,y=50)
root.after(3000,root.quit)
def play_alert():
pygame.mixer.init()
pygame.mixer.music.load("servertimeout.mp3")
pygame.mixer.music.play(loops=0)
if end():
pygame.mixer.music.pause() # to stop the mp3 audio file.
def timer():
root.after(95000,play_alert)
root.after(117000,server)
root.after(120000,root.quit)
def play():
pygame.mixer.init()
pygame.mixer.music.load("selfdestruct.mp3")
pygame.mixer.music.play(loops=0)
def tryagain():
mainframe()
def denied():
pygame.mixer.init()
frame_temp=Frame(bg="red")
label_denied=Label(frame_temp,text="A C C E S S D E N I E D\n RECORD NOT FOUND!",font=("consolas",30,"bold"),fg="black",bg="Red")
label_denied.place(x=100,y=200)
frame_temp.place(x=0,y=0,width=750,height=500)
def chance():
button_Tryagain=Button(frame_temp,text="Tryagain",padx=10,pady=10,command=tryagain)
button_Tryagain.place(x=330,y=400)
# Buzzer mp3 audio
pygame.mixer.music.load("buzzer.mp3")
pygame.mixer.music.play(loops=0)
root.after(2000,chance)
def mainframe():
# Mainframe_login
frame_bg=Frame()
frame_bg.place(x=0,y=0,width=750,height=500)
label_bg=Label(frame_bg,image=image_1)
label_bg.place(x=0,y=0,width=750,height=500)
frame_1=LabelFrame(bg="Green",text="Login",font=("consolas",25))
Label_title=Label(root,text="WELCOME TO THE C. I. A",font=("consolas",30,"bold"),bg="white")
label_instructions=Label(frame_1,text=" C I A TERMINAL\n \n TOP SECRET | CONFIDENTIAL\n \nLevel[5]-access to secret doc list\n \nlevels<5 ---only for personal targets\n \nunauthorised entry is strictly prohibited",bg="green",fg="yellow",font=("consolas",14,"bold"))
label_instructions.place(x=80,y=0)
l_code=Label(frame_1,text="Agent_Code",fg="white",font=("consolas",20,"bold"),bg="green")
l_passcode=Label(frame_1,text="Passcode",fg="white",font=("consolas",20,"bold"),bg="green")
e_code=Entry(frame_1,width=30,show="*")
e_passcode=Entry(frame_1,width=30,show="*")
frame_timer=Frame(root,bg="Blue")
label_c=Label(frame_timer,text="Clock time",bg="blue",fg="white",font=("consolas",15,"bold"))
label_timer=Label(frame_timer,text=" ",bg="blue",fg="white",font=("consolas",14,"bold"))# has been configured to clock
l_default=Label(frame_1,text="The Server gets Timed out\n in next 120 seconds",font=("consolas",18,"bold"),bg="green",fg="blue")
def clock():
# make a real time clock
hour=time.strftime("%I")
minute=time.strftime("%M")
second=time.strftime("%S")
point=time.strftime("%p")
label_timer.config(text=hour+":"+minute+":"+second+" "+point)
root.after(1000,clock)
def granted(j):
frame_access=Frame(bg="Green")
frame_access.place(x=0,y=0,width=750,height=500)
label_access=Label(frame_access,text="A C C E S S G R A N T E D",font=("consolas",30,"bold"),fg="black",bg="Green")
label_access.place(x=100,y=200)
label_welcome=Label(frame_access,text=j[1].upper()+"-level="+str(j[4]),fg="White",font=("consolas",30),bg="Green")
label_welcome.place(x=100,y=300)
e_code.delete(0,END)
e_passcode.delete(0,END)
button_proceed=Button(frame_access,text="PROCEED",relief=RAISED,bg="yellow",padx=10,pady=10,command=proceed)
button_proceed.place(x=375,y=400)
def check():
global l1
global cur
global con
code_check=e_code.get()
passcode_check=e_passcode.get()
for k in l1:
if len(code_check)==0 or len(passcode_check)==0:
print("ALL FIELDS ARE REQUIRED !")
break
elif str(k[3])==passcode_check and str(k[2])==code_check:
granted(k)
break
elif str(k[3])!=passcode_check or str(k[2])!=code_check:
denied()
# positioning system
label_c.pack()
frame_timer.place(x=627,y=5,width=120,height=70)
label_timer.place(x=0,y=30)
Label_title.grid(row=0,column=0,sticky=N)
l_code.place(x=50,y=200)
l_passcode.place(x=50,y=250)
e_code.place(x=230,y=210)
e_passcode.place(x=230,y=260)
frame_1.place(x=80,y=80,width=600,height=400)
l_default.place(x=120,y=300)
# CLOCK TIME.
clock()
#Timeout
timer()
# LOGIN BUTTONS
Button_submit=Button(frame_1,text="submit",borderwidth=5,relief=RAISED,state=ACTIVE,command=check)
Button_submit.place(x=500,y=300)
# EXIT BUTTON
button_exit=Button(frame_1,text="exit",borderwidth=5,relief=RAISED,command=root.quit)
button_exit.place(x=30,y=300)
def look():
look=Tk()
look.geometry("250x250+320+400")
look.configure(bg="Green")
img_1=PhotoImage(file="img1.png",master=look)
img_2=PhotoImage(file="img2.png",master=look)
img_3=PhotoImage(file="img3.png",master=look)
img_4=PhotoImage(file="img4.png",master=look)
img_5=PhotoImage(file="img5.png",master=look)
img_6=PhotoImage(file="img6.png",master=look)
img_7=PhotoImage(file="img7.png",master=look)
img_8=PhotoImage(file="img8.png",master=look)
img_9=PhotoImage(file="img9.png",master=look)
img_10=PhotoImage(file="img10.png",master=look)
img_11=PhotoImage(file="img11.png",master=look)
img_12=PhotoImage(file="img12.png",master=look)
img_list=[img_1,img_2,img_3,img_4,img_5,img_6,img_7,img_8,img_9,img_10,img_11,img_12]
label_1=Label(look,image=img_1)
label_1.pack()
image_number=0
def forward():
#label_1.grid_forget()
nonlocal image_number
if image_number==11:
print("OUT OF RANGE--->")
else:
my_label=Label(look,image=img_list[image_number+1])
my_label.place(x=30,y=0)
image_number+=1
print(image_number)
def back():
nonlocal image_number # we use the nonlocal keyword to access the variables defined inside a f'n for nested functions,by declaring it as nonlocal to the inner ones.
if image_number==0:
print(" OUT OF RANGE<---")
else:
my_label=Label(look,image=img_list[image_number-1])
my_label.place(x=30,y=0)
image_number-=1
print(image_number)
button_forward=Button(look,text=">>>",padx=5,pady=5,bg="black",fg="white",command=forward) # we use lambda method to pass values in a function through command parameter.
button_back=Button(look,text="<<<",padx=5,pady=5,bg="black",fg="white",command=back)
#button_exit=Button(look,text="Exit Program",padx=5,pady=5,relief=RAISED,command=look.quit)
#button_exit.pack(side=BOTTOM)
button_forward.place(x=200,y=220)
button_back.place(x=5,y=220)
look.mainloop()
if end()==True:
look.quit()
def imageviewer():
viewer=Tk()
viewer.geometry("330x480+400+150")
def clist():
frame_clist=Frame(viewer,bg="brown")
frame_clist.place(x=0,y=0,width=350,height=480)
box2=Text(frame_clist,width=40,height=25,padx=2)
box2.place(x=0,y=10)
f=open("confidential.txt",'r')
aaa=f.read()
# put the file content in the text box
box2.insert(END,aaa)
def save():
f_save=open("confidential.txt","w")
f_save.write(box2.get(1.0,END))
button_save=Button(frame_clist,text="UPDATE",padx=10,pady=5,bg="green",fg="white",font=("consolas",15,"bold"),relief=RAISED,command=save)
button_save.place(x=160,y=420)
greeny=PhotoImage(file="greeny.png",master=viewer)
label_greeny=Label(viewer,image=greeny)
label_greeny.place(x=0,y=2)
ncr_image=PhotoImage(file="crime record logo.png",master=viewer)
label_NCR=Label(viewer,image=ncr_image)
label_NCR.place(x=45,y=20)
button_check=Button(viewer,text="check the criminal\n details",padx=10,pady=10,relief=RIDGE,command=clist,font=("consolas",15,"bold"),fg="white",bg="black")
button_check.place(x=40,y=270)
viewer.mainloop()
if end()==True:
viewer.quit()
def proceed():
# Access terminal interface.
global doc_list
global wood
frame_target=Frame()
frame_target.place(x=0,y=0,width=750,height=500)
l_target=Label(frame_target,image=wood)
l_target.place(x=0,y=0,width=750,height=500)
frame_lset=LabelFrame(frame_target,text="SET TARGET",font=("consolas",20,"bold"),bg="Red")
frame_lset.place(x=400,y=50,width=300,height=150)
# doc list frame
frame_list=LabelFrame(frame_target,text="TOP 10 MOST WANTED",font=("consolas",20,"bold"),bg="blue",fg="white")
frame_list.place(x=400,y=250,width=300,height=150)
button_list=Button(frame_list,text="Expanded View",padx=5,pady=5,bg="white",fg="black",command=doc_list)
button_list.pack()
button_look=Button(frame_target,text="Click the button\nto View the images",font=("consolas",18,"bold"),padx=5,pady=5,fg="white",bg="Black",command=look)
button_look.place(x=90,y=250)
#eliminate targets
list_target=[]
clicked=StringVar()
cur.execute("select * from criminal")
for i in cur:
if i in list_target:
pass
else:
list_target.append(str(i[1]).strip("['']"))
print(list_target)
def eliminate():
#l_temp=list(clicked.get())
list_target.remove(clicked.get())
cur.execute("DELETE from criminal where name='{}'".format(clicked.get()))
con.commit()
messagebox.showinfo("right","TARGET ELIMINATED FROM THE DATABASE")
def end():
def bye():
frame_bye=Frame(frame_end,bg="blue")
frame_bye.place(x=0,y=0,width=750,height=500)
label_bye=Label(frame_bye,text="You have logged out successfully!\n BYE!๐( อกโโฏอส อกโ)๐ ",bg="blue",font=("consolas",30,"bold"),fg="Yellow")
label_bye.pack()
def logout():
button_exit=Button(frame_end,text="E X I T",padx=5,pady=3,font=("consolas",30,"bold"),command=bye)
button_exit.place(x=300,y=400)
# ending frame
frame_end=Frame(bg="Blue")
frame_end.place(x=0,y=0,width=750,height=500)
play()
root.after(5000,logout)
root.after(19500,quit)
# set target drop down menu.
drop_set=OptionMenu(frame_lset,clicked,*list_target)
drop_set.place(x=100,y=30)
button_eliminate=Button(frame_lset,text="eliminate",bg="black",fg="white",font=("consolas",10,"bold"),command=eliminate)
button_eliminate.place(x=100,y=80)
button_kill=Button(frame_target,text="KILL",font=("consolas",25,"bold"),bg="red",command=end)
button_kill.place(x=350,y=430)
button_see=Button(frame_target,text="CRIMINAL LIST",padx=10,pady=5,bg="Red",font=("consolas",20,"bold"),relief=RAISED,command=imageviewer)
button_see.place(x=90,y=100)
def doc_list():
doc_list=Tk()
#text=""
doc_list.title("doc list")
doc_list.geometry("375x500+1000+150")
#TOP 10 MOST WANTED
top=PhotoImage(file="top10.png",master=doc_list) # the "MASTER " parameter will shift the image's main instance to specified window.
label_mw=Label(doc_list,image=top)
label_mw.pack()
#label=Label(doc_list,text=text,fg="green",bg="black",font=("consolas",20,"bold"))
#label.pack()
#doc_list.overrideredirect(1)
Button_expand=Button(doc_list,text="CHECK THE DETAILS",padx=10,pady=10,relief=RAISED,command=mw_list)
Button_expand.place(x=120,y=300)
doc_list.mainloop()
if root.quit()==True:
doc_list.quit()
def mw_list():
mw_list=Tk()
mw_list.geometry("375x500+1000+150")
f1=open("Mostwanted.txt","r")
mw_read=f1.read()
box1=Text(mw_list,width=40,height=25,padx=2)
box1.pack()
def save():
f_save=open("Mostwanted.txt","w")
f_save.write(box1.get(1.0,END))
button_save=Button(mw_list,text="UPDATE",padx=10,pady=5,bg="green",fg="white",font=("consolas",15,"bold"),relief=RAISED,command=save)
button_save.place(x=140,y=400)
box1.insert(END,mw_read)
if end()==True:
mw_list.quit()
#user registration.
frame_0=Frame(root,bg="Blue")
frame_0.place(x=0,y=0,width=750,height=500)
label_0=Label(frame_0,text=" || CENTRAL INTELLIGENCE AGENCY || \n \n AGENT REGISTRATION AND LOGIN PORTAL",fg="cyan",bg="Blue",font=("consolas",25,"bold"))
label_0.place(x=20,y=5)
frame_l0=LabelFrame(frame_0,text="Validate your ID",fg="black",bg="red",font=("consolas",15))
frame_l0.place(x=20,y=180,width=300,height=105)
label_exist=Label(frame_0,text=" --->Login as an existing Agent",fg="white",bg="blue",font=("consolas",18))
label_exist.place(x=300,y=350)
button_existing=Button(frame_0,text="L O G I N",padx=60,pady=30,bg="green",fg="white",command=mainframe)
button_existing.place(x=450,y=400)
button_quit=Button(frame_0,text="exit",relief=RAISED,command=root.quit)
button_quit.place(x=700,y=450)
label_eagle=Label(frame_0,image=eagle)
label_eagle.place(x=170,y=330)
label_img=Label(frame_0,image=Cia_logo)
label_img.place(x=10,y=330)
label_creator=Label(frame_0,image=creators)
label_creator.place(x=330,y=120)
button_register=Button(frame_l0,text="REGISTER HERE",padx=60,pady=20,command=register)
button_register.place(x=10,y=10)
root.overrideredirect(1) # to disable top level window & buttons.
root.mainloop()Editor is loading...