Skip to content

Commit 6250580

Browse files
committed
Added server and client functionality
1 parent f855634 commit 6250580

1 file changed

Lines changed: 47 additions & 3 deletions

File tree

Tiny URL/Server/Server.py

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,58 @@
11
#Server
2+
import socket
3+
import sys
24
from Helper import Helper
5+
sys.path.append("../DataBase")
6+
from DataBase import DataBase
37
class Server(object):
48
def __init__(self):
59
self.id = 1
610
self.helper = Helper()
11+
self.db = DataBase()
12+
self.usedKeys = "../DataBase/usedKeys.txt"
713

8-
def shortenURL(self, url):
14+
def getKey(self):
15+
s = socket.socket()
16+
#To contact port of approch 2
17+
port = 5
18+
s.connect(('127.0.0.1', port))
19+
key = s.recv(1024)
20+
s.close()
21+
return key
22+
23+
def storeKey(self, url):
24+
#Shorten the url
925
url = self.helper.removeCommonPrefixes(url)
10-
print url
26+
#get key for the URL
27+
key = self.getKey()
28+
print "Got key ", key
29+
#Store it in DataBase
30+
self.db.writeToHash(self.usedKeys, key, url)
31+
#Verify if key stored successfully in database
32+
if(self.db.readFromHash(self.usedKeys, key) == url):
33+
print "Key stored successfully in database"
34+
return True
35+
return False
36+
37+
def server(self):
38+
s = socket.socket()
39+
port = 7
40+
s.bind(('', port))
41+
s.listen(5)
42+
print "Started server"
43+
return s
44+
45+
def run(self):
46+
#Start the server
47+
s = self.server()
48+
while True:
49+
c, addr = s.accept()
50+
url = c.recv(1024)
51+
if not(self.storeKey(url)):
52+
print "Some Error occoured while storing in database"
53+
c.close()
1154

55+
1256
#Main
1357
obj = Server()
14-
obj.shortenURL("www.google.com")
58+
obj.run()

0 commit comments

Comments
 (0)