(self, block)
| 46 | |
| 47 | # Remove Old Directory |
| 48 | def remove_directory(self, block): |
| 49 | assert type(block) is int and 2 <= block <= self.__blocks |
| 50 | assert self.status(block) == self.STATUS.directory |
| 51 | assert self.empty(block) |
| 52 | temp = self.__disk.read_directory(block) |
| 53 | root = (ord(temp[0]) << 8) + ord(temp[1]) |
| 54 | data = self.__disk.read_directory(root) |
| 55 | size = ord(data[2]) |
| 56 | header = data[:size+3] |
| 57 | contents = data[size+3:] |
| 58 | pointers = [(ord(contents[index*2]) << 8) + ord(contents[index*2+1]) \ |
| 59 | for index in range(len(contents) / 2)] |
| 60 | assert block in pointers |
| 61 | pointers.remove(block) |
| 62 | assert block not in pointers |
| 63 | contents = ''.join([chr(pointer >> 8) + chr(pointer & 0xFF) \ |
| 64 | for pointer in pointers]) |
| 65 | data = header + contents |
| 66 | self.__disk.write_directory(root, data) |
| 67 | self.__disk.close_directory(block) |
| 68 | return root |
| 69 | |
| 70 | # Make New File |
| 71 | def make_file(self, block, name): |
no test coverage detected