MCPcopy Create free account
hub / github.com/ActiveState/code / remove_directory

Method remove_directory

recipes/Python/492212_dal4py/recipe-492212.py:48–68  ·  view source on GitHub ↗
(self, block)

Source from the content-addressed store, hash-verified

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):

Callers 1

rmdirMethod · 0.45

Calls 8

statusMethod · 0.95
emptyMethod · 0.95
rangeFunction · 0.85
read_directoryMethod · 0.80
write_directoryMethod · 0.80
close_directoryMethod · 0.80
removeMethod · 0.45
joinMethod · 0.45

Tested by

no test coverage detected