def create_regions(self, region_defs, functions=None): output('creating regions...') tt = time.clock() self.reset_regions() ## # Sort region definitions by dependencies. graph, name_to_sort_name = get_dependency_graph(region_defs) sorted_regions = sort_by_dependency(graph) ## # Define regions. for name in sorted_regions: sort_name = name_to_sort_name[name] rdef = region_defs[sort_name] region = self.create_region(name, rdef.select, kind=rdef.get('kind', 'cell'), parent=rdef.get('parent', None), check_parents=False, functions=functions) output(' ', region.name) output('...done in %.2f s' % (time.clock() - tt)) return self.regions
def create_regions(self, region_defs, functions=None, allow_empty=False): output('creating regions...') timer = Timer(start=True) self.reset_regions() ## # Sort region definitions by dependencies. graph, name_to_sort_name = get_dependency_graph(region_defs) sorted_regions = sort_by_dependency(graph) ## # Define regions. for name in sorted_regions: sort_name = name_to_sort_name[name] rdef = region_defs[sort_name] region = self.create_region(name, rdef.select, kind=rdef.get('kind', 'cell'), parent=rdef.get('parent', None), check_parents=False, extra_options=rdef.get( 'extra_options', None), functions=functions, allow_empty=allow_empty) output(' ', region.name) output('...done in %.2f s' % timer.stop()) return self.regions