Skip to content

Commit 2a8b437

Browse files
committed
✨ ✨ Features used in main file
1 parent d704ca1 commit 2a8b437

8 files changed

+536
-0
lines changed

black_and_white.py

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import cv2
2+
from tkinter import *
3+
4+

convert.py

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
"""
2+
For saved image check the folder in which image was located
3+
"""
4+
import cv2
5+
import tkinter as tk
6+
from tkinter import filedialog,messagebox
7+
8+
def initial():
9+
global img_file,save_as
10+
try:
11+
img = filedialog.askopenfile()
12+
save_as,ext = img.name.split('.') #we dont need an extension to be saved as filename
13+
if ext.upper() in options:
14+
img_file = cv2.imread(img.name)
15+
return save_as
16+
messagebox.showerror("Invalid","Select a valid file")
17+
except ValueError:
18+
messagebox.showerror("Invalid","Select a valid file")
19+
20+
def convert_img():
21+
try:
22+
cv2.imwrite("{}.{}".format(save_as,choice.get().lower()),img_file)
23+
messagebox.showinfo("Success","File saved")
24+
cv2.waitKey(0)
25+
cv2.destroyAllWindows()
26+
except NameError:
27+
messagebox.showerror("File Unknown","Select Image first")
28+
except TypeError: #make sures whether image is choose first before downloading
29+
messagebox.showerror("File Unknown","Select Valid Image first")
30+
31+
def main(screen):
32+
screen.geometry("425x425+150+180")
33+
screen.title("Convert Image")
34+
canva = tk.Canvas(screen,bg="black",bd=5)
35+
canva.pack(expand=True, fill= "both")
36+
screen.minsize(425,425)
37+
screen.maxsize(425,425)
38+
head = tk.Label(screen,text="Change Image .ext without help of Internet",font=("arial",15,"bold"),fg="black",bg="grey")
39+
head.place(x=6,y=15)
40+
frame = tk.LabelFrame(screen,bg="gray").place(x=50,y=90,width=330,height=280)
41+
#uploading UI
42+
select = tk.Label(screen,text="Select Image",font=("arial",16,"bold"),fg="white",bg="black").place(x=92,y=120)
43+
44+
select_image = tk.Button(screen,text="Upload File",font=("arial",14,"bold"),bg="blue",fg="white",bd=5,command=initial)
45+
select_image.place(x=128,y=160,width=170,height=50)
46+
47+
global options,choice
48+
options="jpg jpeg tiff png bmp".upper().split()
49+
choice = tk.StringVar()
50+
choice.set('PNG')
51+
output = tk.Label(screen,text="Choose Type ==>",font=("arial",16,"bold"),fg="white",bg="black").place(x=90,y=240)
52+
53+
drop = tk.OptionMenu(screen,choice, *options)
54+
drop.configure(bg="red",fg="white",activebackground="blue",font=("arial",14,"bold"))
55+
drop.place(x=280,y=235)
56+
57+
save_image = tk.Button(screen,text="Download",bg="blue",fg="white",font=("arial",14,"bold"),bd=5,command=convert_img)
58+
save_image.place(x=130,y=285,width=170,height=50)
59+
60+
screen.mainloop()
61+
62+
if __name__ == '__main__':
63+
main()

logo.py

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
from os import read
2+
import tkinter as tk
3+
from tkinter import messagebox as msg,filedialog as fd
4+
from PIL import Image
5+
6+
def upload_file():
7+
global finalized
8+
try:
9+
logo = fd.askopenfile()
10+
#the image file uploaded from filedialog can be extracted using img.name
11+
save_as,ext = logo.name.split('.') #we dont need an extension to be saved as filename
12+
if ext.lower() in ['jpg','jpeg','png','tif','bmp']: #valid image extensions supported by cv2
13+
img = Image.open(logo.name)
14+
finalized = img.resize((180,180))
15+
else:
16+
msg.showerror('INVALID',"Select Valid Logo")
17+
except ValueError:
18+
msg.showerror("Invalid","Select Valid Logo")
19+
20+
def upload_file1():
21+
global img
22+
try:
23+
image = fd.askopenfile()
24+
save_as,ext = image.name.split('.')
25+
if ext.lower() in ['jpeg','png','tif','bmp']:
26+
img = Image.open(image.name)
27+
else:
28+
msg.showerror('INVALID',"Select Valid Image")
29+
except ValueError:
30+
msg.showerror("Invalid","Select Valid Image")
31+
32+
def save():
33+
try:
34+
img.paste(finalized,(0, 0))
35+
output = name.get()
36+
if len(output) == 0:
37+
msg.showerror("Invalid","Enter Name")
38+
else:
39+
if output[-4:] in ['.png','.jpeg','.bmp','.tiff']:
40+
pass
41+
elif output[-4:0] == '.jpg':
42+
output = output[-4:0]+'.jpeg'
43+
else:
44+
output = output+'.png'
45+
img.save(output)
46+
msg.showinfo("Downloaded","Image Saved")
47+
except NameError:
48+
msg.showerror("Invalid","Select Image and Logo First")
49+
except TypeError:
50+
msg.showerror("File Unknown","Select Valid Image first")
51+
52+
def main(screen):
53+
screen.geometry("435x435+150+180")
54+
screen.title("Logo Addition")
55+
canva = tk.Canvas(screen,bg="violet",bd=5)
56+
canva.pack(expand=True, fill= "both")
57+
screen.resizable(False,False) # in order to maintain fixed size of screen
58+
head = tk.Label(screen,text="Add Logo on Image",font=("arial",15,"bold"),fg="black",bg="white").place(x=125,y=5)
59+
60+
frame = tk.LabelFrame(screen,bg="purple").place(x=50,y=90,width=330,height=290)
61+
62+
upload_logo = tk.Button(screen,text="Select Logo",font=("arial",14,"bold"),bg="blue",fg="white",bd=5,command=upload_file).place(x=128,y=125,width=190,height=50)
63+
upload_image = tk.Button(screen,text="Select Image",font=("arial",14,"bold"),bg="blue",fg="white",bd=5,command=upload_file1).place(x=128,y=195,width=190,height=50)
64+
65+
lbl = tk.Label(screen,text="Save File As:",font=("arial",14,"bold"),fg="black",bg="white").place(x=65,y=270)
66+
67+
global name
68+
name=tk.Entry(screen,bg="pink",fg="black",font=('arial',13,"bold"),bd=5)
69+
name.place(x=190,y=265,width=180,height=40)
70+
71+
download = tk.Button(screen,text="Download",font=("arial",14,"bold"),bg="blue",fg="white",bd=5,command=save).place(x=105,y=320,width=230,height=40)
72+
73+
screen.mainloop()
74+
75+
if __name__ == '__main__':
76+
main()

merge_2_pdf.py

+83
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
from os import read
2+
import tkinter as tk
3+
from tkinter import messagebox as msg,filedialog as fd
4+
import PyPDF2
5+
6+
def upload_file():
7+
global reader1
8+
try:
9+
pdf1 = fd.askopenfile()
10+
#the image file uploaded from filedialog can be extracted using img.name
11+
save_as,ext = pdf1.name.split('.') #we dont need an extension to be saved as filename
12+
if ext.lower() == 'pdf': #valid image extensions supported by cv2
13+
file = open(pdf1.name,'rb')
14+
reader1 = PyPDF2.PdfFileReader(file)
15+
else:
16+
msg.showerror('INVALID',"Select Valid PDF")
17+
except ValueError:
18+
msg.showerror("Invalid","Select Valid PDF")
19+
20+
def upload_file1():
21+
global reader2
22+
try:
23+
pdf2 = fd.askopenfile()
24+
save_as,ext = pdf2.name.split('.')
25+
if ext.lower() == 'pdf':
26+
file = open(pdf2.name,'rb')
27+
reader2 = PyPDF2.PdfFileReader(file)
28+
else:
29+
msg.showerror('INVALID',"Select Valid PDF")
30+
except ValueError:
31+
msg.showerror("Invalid","Select Valid PDF")
32+
33+
def mergeing():
34+
try:
35+
writer = PyPDF2.PdfFileWriter()
36+
for i in range(reader1.numPages):
37+
writer.addPage(reader1.getPage(i))
38+
for j in range(reader2.numPages):
39+
writer.addPage(reader2.getPage(j))
40+
if len(name.get()) == 0:
41+
msg.showerror("Invalid","Enter File Name")
42+
else:
43+
output = name.get()
44+
if output[-4:] == '.pdf':
45+
pass
46+
else:
47+
output = output+'.pdf'
48+
49+
output_file = open(output,'wb')
50+
writer.write(output_file)
51+
msg.showinfo("Merge Successful","PDF Saved")
52+
53+
except NameError:
54+
msg.showerror("Invalid","Select PDF First")
55+
except TypeError:
56+
msg.showerror("File Unknown","Select Valid PDF first")
57+
58+
59+
def main(screen):
60+
screen.geometry("435x435+150+180")
61+
screen.title("Merge Automate")
62+
canva = tk.Canvas(screen,bg="yellow",bd=5)
63+
canva.pack(expand=True, fill= "both")
64+
screen.resizable(False,False) # in order to maintain fixed size of screen
65+
head = tk.Label(screen,text="Merge Two PDF's",font=("arial",15,"bold"),fg="black",bg="white").place(x=125,y=5)
66+
67+
frame = tk.LabelFrame(screen,bg="red").place(x=50,y=90,width=330,height=290)
68+
69+
upload = tk.Button(screen,text="Upload PDF1",font=("arial",14,"bold"),bg="blue",fg="white",bd=5,command=upload_file).place(x=128,y=125,width=190,height=50)
70+
upload1 = tk.Button(screen,text="Upload PDF2",font=("arial",14,"bold"),bg="blue",fg="white",bd=5,command=upload_file1).place(x=128,y=195,width=190,height=50)
71+
72+
lbl = tk.Label(screen,text="Save File As:",font=("arial",14,"bold"),fg="black",bg="white").place(x=65,y=270)
73+
74+
global name
75+
name=tk.Entry(screen,bg="yellow",fg="black",font=('arial',13,"bold"),bd=5)
76+
name.place(x=190,y=265,width=180,height=40)
77+
78+
save = tk.Button(screen,text="Complete Merge",font=("arial",14,"bold"),bg="blue",fg="white",bd=5,command=mergeing).place(x=105,y=320,width=230,height=40)
79+
80+
screen.mainloop()
81+
82+
if __name__ == '__main__':
83+
main()

mp3_ogg.py

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
"""
2+
For saved file check the location of parent directory
3+
"""
4+
from pydub import AudioSegment
5+
import tkinter as tk
6+
from tkinter import filedialog,messagebox
7+
8+
def initial():
9+
global save_as
10+
music = filedialog.askopenfile()
11+
save_as,ext = music.name.split('.') #we dont need an extension to be saved as filename
12+
if ext=='mp3':
13+
return save_as
14+
messagebox.showerror("File not recognised","Select MP3 file only")
15+
16+
def convert_img():
17+
try:
18+
#AudioSegment.from_mp3("{}.mp3").export('convertedfile.wav',format="wav")
19+
AudioSegment.from_mp3("{}.mp3".format(save_as)).export('{}.ogg'.format(save_as),format="ogg")
20+
messagebox.showinfo("Success","File Saved")
21+
except NameError:
22+
messagebox.showerror("File Unknown","Select Music File first")
23+
except TypeError:
24+
messagebox.showerror("File Unknown","Select Valid Music File")
25+
26+
def main(screen1):
27+
screen1.geometry("435x435+150+180")
28+
screen1.title("Music .ext Conversion")
29+
canva = tk.Canvas(screen1,bg="green",bd=5)
30+
canva.pack(expand=True, fill= "both")
31+
screen1.resizable(False,False)
32+
head = tk.Label(screen1,text="Convert Audio File",font=("arial",20,"bold"),fg="black",bg="grey")
33+
head.place(x=85,y=15)
34+
frame = tk.LabelFrame(screen1,bg="chocolate").place(x=50,y=90,width=330,height=280)
35+
select = tk.Label(screen1,text="Select a MP3 Song",font=("arial",16,"bold"),fg="white",bg="black").place(x=92,y=120)
36+
convert = tk.Label(screen1,text="Download OGG Form",font=("arial",16,"bold"),bg="white",fg="black").place(x=90,y=240)
37+
38+
anime = tk.Button(screen1,text=".MP3",font=("arial",14,"bold"),bg="blue",fg="white",bd=5,command=initial)
39+
anime.place(x=128,y=160,width=170,height=50)
40+
41+
manga = tk.Button(screen1,text=".OGG",bg="blue",fg="white",font=("arial",14,"bold"),bd=5,command=convert_img)
42+
manga.place(x=130,y=285,width=170,height=50)
43+
screen1.mainloop()
44+
45+
if __name__ == '__main__':
46+
main()

random_pass.py

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
'''
2+
3+
author: Tarun R Jain
4+
complete content is my own
5+
github: github.com/lucifertrj
6+
7+
'''
8+
9+
#read comments to follow, Thank you -TRJ
10+
import random,string
11+
import tkinter as tk
12+
from tkinter import messagebox as mb
13+
14+
def random_password():
15+
letters=[random.choice(string.ascii_letters) for letter in range(8)] #list of random 8 letters(both uppercase and lowercase included)
16+
numbers=[random.choice(string.digits) for digit in range(3)] #list of random 3 numbers from 0-9
17+
character=[random.choice(string.punctuation) for symbols in range(3)] #list of 3 random punctuation
18+
password=letters+character+numbers
19+
random.shuffle(password) #dont return this statement inside return block, as random.shuffle returns none
20+
return(password) #the password is shuffled
21+
22+
def get_otp():
23+
otp = [random.choice(string.digits) for show in range(4)]
24+
random.shuffle(otp)
25+
return otp
26+
27+
def generate():
28+
username=name_var.get()
29+
if username=='': #empty name will rise a error
30+
mb.askretrycancel("Error occured","User not recognized")
31+
elif len(username)<=3: #a valid username consists of atleast 4 or 5 minimum characters
32+
mb.askretrycancel("Invalid Entry","Please enter a proper name")
33+
elif username[0] in string.digits:
34+
mb.askretrycancel("Alert","Dont play with me, enter valid name")
35+
else:
36+
while True:
37+
password=random_password()
38+
answer=mb.askquestion(f"{username}'s:Random password",f"{''.join(password)}\nAre you satisfed?").lower()
39+
if answer.startswith('y'):
40+
mb._show("Copy The password","Thank You")
41+
break
42+
else:
43+
continue
44+
def otp():
45+
otp_received = get_otp()
46+
mb._show("OTP",'{}'.format(''.join(otp_received)))
47+
48+
def main(screen):
49+
screen.title("Password Generator")
50+
screen.geometry("435x435+150+180")
51+
screen.resizable(False,False)
52+
53+
frame = tk.LabelFrame(screen,bg="black",fg="white").place(x=75,y=100,width=300,height=270)
54+
55+
title=tk.Label(screen,text="Random Password Generator",font=("Times New Roman",20,"bold")).pack()
56+
name=tk.Label(screen,text="Name:",bg="black",fg="white",font=("arial",16,"bold")).place(x=100,y=130)
57+
global name_var
58+
59+
name_var=tk.StringVar()
60+
name_entry=tk.Entry(screen,textvariable=name_var,bd=5)
61+
name_entry.focus_set()
62+
name_entry.place(x=170,y=120,width=150,height=50)
63+
64+
button=tk.Button(screen,text="Generate Password",command=generate,font=("arial",14,"bold"),bg="black",fg="white",bd=5).place(x=140,y=220,width=180,height=50)
65+
button_otp=tk.Button(screen,text="Generate OTP",command=otp,font=("arial",14,"bold"),bg="black",fg="white",bd=5).place(x=140,y=295,width=180,height=50)
66+
67+
screen.mainloop()
68+
69+
70+
if __name__ == '__main__':
71+
main()

0 commit comments

Comments
 (0)