def __copy__(self): c = Context() c.names = dict(**self.context.names) c.connections = list(self.context.connections) c.fnames = list(self.context.fnames) c.rnames = list(self.context.rnames) return CompositeNamedDP(c)
def from_parts(name2ndp, connections, fnames, rnames): c = Context() c.names = name2ndp c.connections = connections c.fnames = fnames c.rnames = rnames return CompositeNamedDP(c)
def clone_context(c): c2 = Context() c2.names = dict(**c.names) c2.connections = list(c.connections) c2.fnames = list(c.fnames) c2.rnames = list(c.rnames) return c2
def dpgraph_translate_rn(context, name, rn, rn2): def translate_connections(c): if c.dp1 == name and c.s1 == rn: c = Connection(name, rn2, c.dp2, c.s2) return c connections2 = map(translate_connections, context.connections) names2 = context.names.copy() names2[name] = wrap_change_name_resource(context.names[name], rn, rn2) c2 = Context() c2.rnames = context.rnames c2.fnames = context.fnames c2.connections = connections2 c2.names = names2 return dpgraph_making_sure_no_reps(c2)
def dpgraph_translate_fn(context, name, fn, fn2): def translate_connections(c): if c.dp2 == name and c.s2 == fn: c = Connection(c.dp1, c.s1, name, fn2) return c connections2 = map(translate_connections, context.connections) names2 = context.names.copy() names2[name] = wrap_change_name_function(context.names[name], fn, fn2) c2 = Context() c2.rnames = context.rnames c2.fnames = context.fnames c2.connections = connections2 c2.names = names2 return dpgraph_making_sure_no_reps(c2)