Create GSSHAPY SuperLink, Pipe, and SuperNode Objects Method

def _createSlink(self, slinks):
        """
        Create GSSHAPY SuperLink, Pipe, and SuperNode Objects Method
        """

        for slink in slinks:
            # Create GSSHAPY SuperLink object
            superLink = SuperLink(slinkNumber=slink['slinkNumber'],
                                  numPipes=slink['numPipes'])

            # Associate SuperLink with StormPipeNetworkFile
            superLink.stormPipeNetworkFile = self

            for node in slink['nodes']:
                # Create GSSHAPY SuperNode objects
                superNode = SuperNode(nodeNumber=node['nodeNumber'],
                                      groundSurfaceElev=node['groundSurfaceElev'],
                                      invertElev=node['invertElev'],
                                      manholeSA=node['manholeSA'],
                                      nodeInletCode=node['inletCode'],
                                      cellI=node['cellI'],
                                      cellJ=node['cellJ'],
                                      weirSideLength=node['weirSideLength'],
                                      orificeDiameter=node['orificeDiameter'])

                # Associate SuperNode with SuperLink
                superNode.superLink = superLink

            for p in slink['pipes']:
                # Create GSSHAPY Pipe objects
                pipe = Pipe(pipeNumber=p['pipeNumber'],
                            xSecType=p['xSecType'],
                            diameterOrHeight=p['diameterOrHeight'],
                            width=p['width'],
                            slope=p['slope'],
                            roughness=p['roughness'],
                            length=p['length'],
                            conductance=p['conductance'],
                            drainSpacing=p['drainSpacing'])

                # Associate Pipe with SuperLink
                pipe.superLink = superLink