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

Method close_directory

recipes/Python/492211_dal3py/recipe-492211.py:201–239  ·  view source on GitHub ↗
(self, block)

Source from the content-addressed store, hash-verified

199
200 # Close A Directory
201 def close_directory(self, block):
202 assert type(block) is int and 1 <= block <= self.__blocks
203 status = self.__disk.status(block)
204 assert self.STATUS.d1 <= status <= self.STATUS.dZ
205 if status == self.STATUS.dA:
206 temp = self.__disk.read(block)
207 self.__disk.close(block)
208 block = (ord(temp[-2]) << 8) + ord(temp[-1])
209 while self.__disk.status(block) == self.STATUS.dB:
210 temp = self.__disk.read(block)
211 self.__disk.close(block)
212 block = (ord(temp[-2]) << 8) + ord(temp[-1])
213 self.__disk.close(block)
214 elif status == self.STATUS.dB:
215 temp = self.__disk.read(block)
216 self.__disk.close(block)
217 dirA = (ord(temp[0]) << 8) + ord(temp[1])
218 dirZ = (ord(temp[-2]) << 8) + ord(temp[-1])
219 while self.__disk.status(dirA) == self.STATUS.dB:
220 temp = self.__disk.read(dirA)
221 self.__disk.close(dirA)
222 dirA = (ord(temp[0]) << 8) + ord(temp[1])
223 self.__disk.close(dirA)
224 while self.__disk.status(dirZ) == self.STATUS.dB:
225 temp = self.__disk.read(dirZ)
226 self.__disk.close(dirZ)
227 dirZ = (ord(temp[-2]) << 8) + ord(temp[-1])
228 self.__disk.close(dirZ)
229 elif status == self.STATUS.dZ:
230 temp = self.__disk.read(block)
231 self.__disk.blose(block)
232 block = (ord(temp[0]) << 8) + ord(temp[1])
233 while self.__disk.status(block) == self.STATUS.dB:
234 temp = self.__disk.read(block)
235 self.__disk.close(block)
236 block = (ord(temp[0]) << 8) + ord(temp[1])
237 self.__disk.close(block)
238 else:
239 self.__disk.close(block)
240
241 # Open A File
242 def open_file(self):

Callers 1

remove_directoryMethod · 0.80

Calls 3

statusMethod · 0.45
readMethod · 0.45
closeMethod · 0.45

Tested by

no test coverage detected