File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11#Server
2+ import socket
3+ import sys
24from Helper import Helper
5+ sys .path .append ("../DataBase" )
6+ from DataBase import DataBase
37class 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
1357obj = Server ()
14- obj .shortenURL ( "www.google.com" )
58+ obj .run ( )
You can’t perform that action at this time.
0 commit comments