forked from PriyankaKhire/ProgrammingPracticePython
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathClient.py
More file actions
79 lines (69 loc) · 2.55 KB
/
Client.py
File metadata and controls
79 lines (69 loc) · 2.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#Pastebin Client
import socket
import sys
sys.path.append("..")
from ColorText import ColorText
class Client(object):
def __init__(self):
self.userId = None
self.s = socket.socket()
self.text = ""
self.fileName = "DefaultFileName"
#Not giving user this option currently
self.expiryDate = '1 minute'
self.folderName = "DefaultFolderName"
self.sizeLimitInBytes = 1024
self.port = 8
def displayPage(self):
ct = ColorText()
ct.display(4*"\t"+"Pastebin", "red-highlight")
def getStringSizeInBytes(self, string):
return len(string.encode('utf-8'))
def checkSize(self, string):
stringSize = self.getStringSizeInBytes(string)
if(int(stringSize) > self.sizeLimitInBytes):
return False
return True
def getText(self):
self.text = raw_input("Enter text (limit 1024 bytes): \n")
while(not self.checkSize(self.text)):
print "Text size too large"
self.text = raw_input("Enter text (limit 1024 bytes): \n")
def getFileName(self):
choice = raw_input("Would you like to enter FILE name (y/n): ")
if(choice.lower() != 'y'):
return
self.fileName = raw_input("Enter file name: ")
while(not self.checkSize(self.fileName)):
print "Text size too large"
self.fileName = raw_input("Enter file name: ")
def getFolderName(self):
choice = raw_input("Would you like to enter FOLDER name (y/n): ")
if(choice.lower() != 'y'):
return
self.folderName = raw_input("Enter folder name: ")
while(not self.checkSize(self.folderName)):
print "Text size too large"
self.folderName = raw_input("Enter folder name: ")
def getUserId(self):
self.userId = raw_input("Enter User Id: ")
def run(self):
self.displayPage()
self.getUserId()
self.getText()
self.getFileName()
self.getFolderName()
#To connect to port of server
self.s.connect(('127.0.0.1', self.port))
self.s.send(self.userId)
print self.s.recv(self.sizeLimitInBytes)
self.s.send(self.text)
print self.s.recv(self.sizeLimitInBytes)
self.s.send(self.fileName)
print self.s.recv(self.sizeLimitInBytes)
self.s.send(self.folderName)
print self.s.recv(self.sizeLimitInBytes)
self.s.close()
#Main
obj = Client()
obj.run()