Esempio n. 1
0
 def sendAllFiles(self):
     fileObjectList = []
     for subdir, dirs, files in os.walk(self._dir):
         for file in files:
             fileKey = self.assignHashKey(file)
             fileObjectList.append(fileObject(file,fileKey))
             os.remove(self._dir + "/" + file)
     self._successor.getAllFiles(fileObjectList)
Esempio n. 2
0
 def getFiles(self):
     "Called upon join of a predecessor.Returns a\
     fileObject list of the files that should be moved\
     to the predecessor. Additionally, it removes the files from\
     the local Process."
     fileObjectList= []
     for subdir, dirs, files in os.walk(self._dir):
         for file in files:
             fileKey = self.assignHashKey(file)
             if self.isInRange(self._localClient.getKey(), self._predecessor.getKey(), fileKey):
                 fileObjectList.append(fileObject(file,fileKey))
                 os.remove(self._dir + "/" + file)
     #logging.debug("Returning file list of size {0} to predecessor".format(len(fileObjectList)))
     return fileObjectList
Esempio n. 3
0
 def fileInsert(self,fileName):
     "Given the name of a file, this method inserts the\
      file into the CHORD DHT"
      
     file = fileObject(fileName,self.assignHashKey(fileName)) 
     fileSuccessor = self.lookup(file.getKey())
     print "Key of file {0} is {1}".format(fileName,file.getKey())
     if fileSuccessor.getKey() == self._localClient.getKey():
         self.localFileInsert(fileName)
         logging.debug("File {0} successfully inserted locally".format(file.getName()))
     else:
         logging.debug("Inserting file: {0} to node {1}".format(file.getName(),fileSuccessor.getKey()))
         if fileSuccessor.passFile(file):
             #logging.debug("File copied successfully")
             return True
         else:
             #logging.error("File copy failed")
             return False