-
Notifications
You must be signed in to change notification settings - Fork 0
/
DownloadRegistration.py
32 lines (28 loc) · 1.29 KB
/
DownloadRegistration.py
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
# -*- coding:utf-8 -*-
from Registration import Registration
from database import Database
import network
import messages
class DownloadRegistration(Registration) :
def __init__(self, key, users) :
Registration.__init__(self, key, users)
self.database = Database()
def run(self, body, socket) :
messages.begin_registration(self.key, socket)
file_name = body["content"]["file_name"]
download_type = body["content"]["download_type"]
username = body["content"]["username"]
password = body["content"]["password"]
if username not in self.users or self.users[username] != password:
status = "0000"
content = "ERROR: The server had problems with the user identification, please try log in again."
else :
status = "1014"
file_download = self.database.download_file(download_type, file_name, username)
content = "SUCCESS: The file was downloaded successfully."
if not file_download :
status = "0000"
content = "ERROR: The typed file doesn't exist in your account."
msg = self.ack_construct(file_download, status, self.response_type)
network.send(socket, msg)
messages.end_registration(self.key, socket, content)