/
sync.py
executable file
·103 lines (82 loc) · 2.92 KB
/
sync.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
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import communicator
import discoverer
import fileManager
import controller
import fileTransporter
from time import sleep
import getIP
import logger
import time
logList = [str(time.time()), "START"]
logger.log(str(logList))
PEER_IP = "192.168.10.102"
PEER_PORT = 55555
PEER_ID = 'DB'
FOLDER_PATH = 'sync'
print PEER_IP
def controlRouter(target, command, message, address):
# print target, command, message, address
if(target == 'controller'):
getattr(Controller, command)(message, address)
if(target == 'fileTransporter'):
getattr(FileTransporter, command)(message, address)
if(target == 'folderReceiver'):
getattr(FolderReceiver, command)(message, address)
def discoveryHandler(peerId, peerData, state):
print peerId, peerData, state
if(state == 1):
status = "DISCOVERED-NODE"
else:
status = "LOST-NODE"
logList = [str(time.time()), str(status), str(peerId), str(peerData)]
logger.log(str(logList))
# -------------------------------------------------------------------------
Communicator = communicator.communicator(controlRouter, PEER_IP, PEER_PORT)
# -------------------------------------------------------------------------
Discoverer = discoverer.discoverer(
PEER_IP, PEER_PORT, PEER_ID, discoveryHandler, '192.168.10.255')
# --------------------------------------------------------------------------
FileManager = fileManager.fileManager(FOLDER_PATH, Discoverer)
#---------------------------------------------------------------------------
FolderReceiver = fileTransporter.folderReceiver(
FOLDER_PATH, Communicator, FileManager)
# ---------------------------------------------------------------------------
Controller = controller.controller(Communicator, Discoverer, FileManager, FolderReceiver)
# --------------------------------------------------------------------------
FileTransporter = fileTransporter.fileTransporter(
Controller, FOLDER_PATH, Communicator, FileManager)
Communicator.run()
Discoverer.startDiscovery()
FileManager.start()
FileTransporter.startSendFromQ()
sleep(5)
print Discoverer.dbPresent()
while 1:
a = raw_input()
if(a == 'remote'):
Controller.updateRemoteFiles()
print Controller.allRemoteFiles
if(a == 'missing'):
Controller.updateMissingFiles()
print Controller.missingFiles
if(a == 'sync'):
Controller.startSync()
if(a == 'show'):
FileManager.showFiles()
if(a == 'autosync'):
logList = [str(time.time()), "AUTOSYNC"]
logger.log(str(logList))
while 1:
Controller.startSync()
sleep(5)
#print "syncing"
if(a == "update"):
FileManager.updateFromFolder()
if(a == 'active'):
print FolderReceiver.activeFiles
if(a == 'setttl'):
b = raw_input('fileID:') # fileid
c = raw_input('ttl: ') # ttl
FileManager.setTTL(b, c)
logList = [str(time.time()), "INTERRUPT"]
logger.log(str(logList))