def create_insertion_map(self, samples, rules): '''Returns a dict: keys are positions in the sample_list, values an array of items to insert at that position''' insertion_map = {} for rule in rules: sample_count = rule.sample_count start_idxs = range(0, len(samples), sample_count) end_idxs = range(sample_count, len(samples), sample_count) + [len(samples)] for start,end in zip(start_idxs, end_idxs): position = end if rule.in_random_position: position = random.randint(start+1, end) arr = insertion_map.setdefault(position, []) for i in range(rule.count): arr.append(RunSample.create(self.run, rule.component)) return insertion_map
def create_insertion_map(self, samples, rules): '''Returns a dict: keys are positions in the sample_list, values an array of items to insert at that position''' insertion_map = {} for rule in rules: sample_count = rule.sample_count start_idxs = range(0, len(samples), sample_count) end_idxs = range(sample_count, len(samples), sample_count) + [len(samples)] for start, end in zip(start_idxs, end_idxs): position = end if rule.in_random_position: position = random.randint(start + 1, end) arr = insertion_map.setdefault(position, []) for i in range(rule.count): arr.append(RunSample.create(self.run, rule.component)) return insertion_map
def create_end_block(self): end_block = [] for rule in self.run.rule_generator.end_block_rules: for i in range(rule.count): end_block.append(RunSample.create(self.run, rule.component)) return end_block