MCPcopy Index your code
hub / github.com/subbarayudu-j/TheAlgorithms-Python / FilesArray

Class FilesArray

sorts/external-sort.py:58–86  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

56
57
58class FilesArray(object):
59 def __init__(self, files):
60 self.files = files
61 self.empty = set()
62 self.num_buffers = len(files)
63 self.buffers = {i: None for i in range(self.num_buffers)}
64
65 def get_dict(self):
66 return {i: self.buffers[i] for i in range(self.num_buffers) if i not in self.empty}
67
68 def refresh(self):
69 for i in range(self.num_buffers):
70 if self.buffers[i] is None and i not in self.empty:
71 self.buffers[i] = self.files[i].readline()
72
73 if self.buffers[i] == '':
74 self.empty.add(i)
75 self.files[i].close()
76
77 if len(self.empty) == self.num_buffers:
78 return False
79
80 return True
81
82 def unshift(self, index):
83 value = self.buffers[index]
84 self.buffers[index] = None
85
86 return value
87
88
89class FileMerger(object):

Callers 1

mergeMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected