Skip to content

Commit 608a350

Browse files
authored
Create web_browser.py
1 parent c49064b commit 608a350

File tree

1 file changed

+164
-0
lines changed

1 file changed

+164
-0
lines changed

GUIScripts/PyBrowser/web_browser.py

Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
import webbrowser
2+
from tkinter import *
3+
import urllib.request
4+
from tkinter.colorchooser import *
5+
from tkinter import ttk
6+
from tkinter.filedialog import askopenfilename
7+
import re
8+
9+
#Setting structure of the browser window and variable declarations.
10+
root = Tk()
11+
root.wm_title("CosmoNet web Browser ")
12+
root.iconbitmap('favicon.ico')
13+
url1='http://www.gmail.com'
14+
url2='http://www.yahoomail.com'
15+
url3='http://www.youtube.com'
16+
url4='http://www.facebook.com'
17+
url5='http://www.github.com'
18+
url6='http://www.linkedin.com'
19+
url7='http://www.firefox.com'
20+
url8='http://www.bing.com'
21+
url9='http://www.yahoo.com'
22+
23+
scrollbar = Scrollbar(root)
24+
scrollbar.pack(side=RIGHT, fill=Y)
25+
26+
27+
frame=Frame(root)
28+
frame.pack(side=BOTTOM)
29+
b1=ttk.Button(frame, command=lambda aurl=url7:OpenUrl(aurl))
30+
b1.pack(side=LEFT)
31+
m1=PhotoImage(file="firefox.png")
32+
b1.config(image=m1)
33+
tm1=m1.subsample(3,3)
34+
b1.config(image=tm1)
35+
b2=ttk.Button(frame, command=lambda aurl=url8:OpenUrl(aurl))
36+
b2.pack(side=LEFT)
37+
m2=PhotoImage(file="bing.png")
38+
b2.config(image=m2)
39+
tm2=m2.subsample(6,6)
40+
b2.config(image=tm2)
41+
b3=ttk.Button(frame, command=lambda aurl=url9:OpenUrl(aurl))
42+
b3.pack(side=LEFT)
43+
m3=PhotoImage(file="y.png")
44+
b3.config(image=m3)
45+
tm3=m3.subsample(6,6)
46+
b3.config(image=tm3)
47+
Label(root,text='Quick Links : ',font=("Helvetica",16)).pack(side=BOTTOM)
48+
49+
#This is used to open the apps specified in menu bar in our default browser.
50+
def OpenUrl(url):
51+
webbrowser.open_new(url)
52+
53+
#This is used to open the color dialog box under Settings tab.
54+
def getColor():
55+
color = askcolor()
56+
57+
#This is used to open the downloads folder under downloads tab.
58+
def callback():
59+
name= askopenfilename()
60+
61+
62+
#The following functions are used to clear display area and URL field when back button is clicked.
63+
def clear_text():
64+
text.delete(1.0,'end')
65+
66+
67+
68+
def clear_entry():
69+
e1.delete(0,'end')
70+
71+
72+
def sequence(*functions):
73+
def func(*args, **kwargs):
74+
return_value = None
75+
for function in functions:
76+
return_value = function(*args, **kwargs)
77+
return return_value
78+
return func
79+
80+
"""As soon as Go button is clicked, the data recieved from the server in form of html code is parsed and displayed
81+
in the text display area."""
82+
#go button
83+
def go():
84+
lbl.config(image='')
85+
url=e1.get()
86+
req = urllib.request.Request(url)
87+
resp = urllib.request.urlopen(req)
88+
respData = resp.read()
89+
initial = str(respData)[2:-1]
90+
lines = initial.split('\\n')
91+
text.insert(INSERT, lines)
92+
back.config(relief=RAISED)
93+
94+
95+
96+
97+
#menubar
98+
menu=Menu(root)
99+
root.config(menu=menu)
100+
subMenu=Menu(menu)
101+
menu.add_cascade(label="Apps",menu=subMenu)
102+
subMenu.add_command(label="Gmail", command=lambda aurl=url1:OpenUrl(aurl))
103+
subMenu.add_command(label="Y! Mail", command=lambda aurl=url2:OpenUrl(aurl))
104+
subMenu.add_command(label="Youtube", command=lambda aurl=url3:OpenUrl(aurl))
105+
subMenu.add_command(label="Facebook", command=lambda aurl=url4:OpenUrl(aurl))
106+
subMenu.add_command(label="Github", command=lambda aurl=url5:OpenUrl(aurl))
107+
subMenu.add_command(label="LinkedIn", command=lambda aurl=url6:OpenUrl(aurl))
108+
subMenu.add_separator()
109+
editMenu=Menu(menu)
110+
menu.add_cascade(label="Settings",menu=editMenu)
111+
editMenu.add_command(label="Themes and Colors", command=getColor)
112+
editMenu.add_command(label="History")
113+
editMenu.add_command(label="Connect account...")
114+
editMenu.add_command(label="Exit", command=root.quit)
115+
editMenu=Menu(menu)
116+
menu.add_cascade(label="Bookmarks",menu=editMenu)
117+
editMenu.add_command(label="View")
118+
editMenu.add_command(label="Add bookmark")
119+
editMenu=Menu(menu)
120+
menu.add_cascade(label="Tools",menu=editMenu)
121+
editMenu.add_command(label="Inspect Element")
122+
editMenu.add_command(label="Manage Extensions")
123+
editMenu.add_command(label="Developer Tools")
124+
editMenu=Menu(menu)
125+
menu.add_cascade(label="Downloads",menu=editMenu)
126+
editMenu.add_command(label="Open Downloads Folder", command=callback)
127+
#Buttons and field
128+
#declaration
129+
itiger=PhotoImage(file="cosmo.png")
130+
tiger= Label(root, image=itiger )
131+
back= Button(root, relief=SUNKEN, command=sequence(clear_entry, clear_text))
132+
iback=PhotoImage(file="back.gif")
133+
back.config(image=iback)
134+
fwd= Button(root, relief=SUNKEN)
135+
ifwd=PhotoImage(file="fwd.gif")
136+
fwd.config(image=ifwd)
137+
refresh=Button(root)
138+
irel=PhotoImage(file="refresh.gif")
139+
refresh.config(image=irel)
140+
stop=Button(root)
141+
istop=PhotoImage(file="close.gif")
142+
stop.config(image=istop)
143+
l1= Label(root, text="URL:")
144+
e1= Entry(root, font=("Helvetica",12))
145+
go=Button(root, text="Go", command = go)
146+
text = Text(root, bd=4, yscrollcommand=scrollbar.set)
147+
scrollbar.config(command=text.yview)
148+
149+
150+
#placement of widgets
151+
tiger.place(x=10, y=10, height= 80, width=100)
152+
back.place(x=120, y=30, height=30, width= 40)
153+
fwd.place(x=170, y=30, height= 30, width= 40)
154+
refresh.place(x=220, y=30, height= 30, width= 30)
155+
l1.place(x=260, y=30, height= 30, width=50)
156+
e1.place(x=300, y=30, height= 30, width= 900)
157+
stop.place(x=1200, y=30, height= 30, width= 30)
158+
go.place(x=1250, y=30, height=30, width= 40)
159+
text.place(x=10, y=100, height=510, width= 1320)
160+
im=PhotoImage(file="im.png")
161+
lbl=Label(text, image=im)
162+
lbl.pack()
163+
164+
root.mainloop()

0 commit comments

Comments
 (0)