def format(self, name): thisDrive = Drive(name) thisDrive.format() thisDrive.write_block(0, "+" + "-" * 127 + ("f:" + " " * 9 + "0000:" + "000 " * 12) * 6) global availableBlocksList availableBlocksList = ['+'] + ['-' for x in range(127)] global availableBlockIndices availableBlockIndices = list(range(1, 128)) self.currentDrive = thisDrive self.rootDirectory = Directory(self.currentDrive, None, 0, None, None) #drive, fileNum, parentBlockNum, parent, name self.blocksAvailability = thisDrive.read_block(0)[:127]
class Volume: def __init__(self): self.currentDrive = None self.rootDirectory = None self.blocksAvailability = None def format(self, name): thisDrive = Drive(name) thisDrive.format() thisDrive.write_block(0, "+" + "-" * 127 + ("f:" + " " * 9 + "0000:" + "000 " * 12) * 6) global availableBlocksList availableBlocksList = ['+'] + ['-' for x in range(127)] global availableBlockIndices availableBlockIndices = list(range(1, 128)) self.currentDrive = thisDrive self.rootDirectory = Directory(self.currentDrive, None, 0, None, None) #drive, fileNum, parentBlockNum, parent, name self.blocksAvailability = thisDrive.read_block(0)[:127] def mkfile(self, path): try: nodes = path.strip('/').split('/') lastNode = self.rootDirectory for node in nodes[:-1]: lastNode = lastNode.getChild(node) except: print("Um there is some problem with your input") lastNode.addFile(nodes[-1]) def mkdir(self, path): try: nodes = path.strip('/').split('/') lastNode = self.rootDirectory for node in nodes[:-1]: lastNode = lastNode.getChild(node) except: print("Um there is some problem with your input") lastNode.addDirectory(nodes[-1]) def reconnect(self, name): self.currentDrive = Drive(name) self.rootDirectory = Directory(self.currentDrive, None, 0, None, name) self.currentDrive.reconnect() self.blocksAvailability = self.currentDrive.read_block(0)[:127] def append(self, path, data): try: nodes = path.strip('/').split('/') lastNode = self.rootDirectory for node in nodes: lastNode = lastNode.getChild(node) except: print("Um there is some problem with your input") lastNode.appendData(data) def ls(self, path): try: nodes = path.strip('/').split('/') lastNode = self.rootDirectory for node in nodes: if node != "": lastNode = lastNode.getChild(node) lastNode.list() except: print("Um there is some problem with your input") def print(self, path): try: nodes = path.strip('/').split('/') lastNode = self.rootDirectory for node in nodes: if node != "": lastNode = lastNode.getChild(node) lastNode.print() except: print("Um there is some problem with your input") def delfile(self, path): try: nodes = path.strip('/').split('/') lastNode = self.rootDirectory for node in nodes: if node != "": lastNode = lastNode.getChild(node) lastNode.delete() except: print("Um there is some problem with your input") def deldir(self, path): try: nodes = path.strip('/').split('/') lastNode = self.rootDirectory for node in nodes: if node != "": lastNode = lastNode.getChild(node) lastNode.delete() except: print("Um there is some problem with your input")