def rename_endnodes(data, commdct, aloop):
    """rename firstbranch inlet to plantinlet
    rename lastbranch outlet to plantoutlet"""
    # - 
    def indx(objkey, fielddesc):
        return eplus_functions.getfieldindex(data, commdct, objkey, fielddesc)
    # - 
    # rename firstbranch inlet to plantinlet
    objkey = "branch".upper()
    objname = aloop.firstbranch
    namefield = idd_fields.ObjectName.name
    firstbranchobj = eplus_functions.getobject(data, commdct, objkey,
                                                                    objname)
    fields = idd_fields.Branch()
    firstbranchobj[indx(objkey, fields.inlet1)] = aloop.plantinlet
    # rename lastbranch outlet to plantoutlet
    objkey = "branch".upper()
    objname = aloop.lastbranch
    namefield = idd_fields.ObjectName.name
    lastbranchobj = eplus_functions.getobject(data, commdct, objkey,
                                                                    objname)
    fields = idd_fields.Branch()
    outlet1_index = indx(objkey, fields.outlet1)
    extsize = eplus_functions.getextensiblesize(data, commdct, objkey)
    extbegin = eplus_functions.getextensibleposition(data, commdct, objkey)
    lastoutletpos = outlet1_index - extbegin - extsize # index in reverse
    lastbranchobj[lastoutletpos] = aloop.plantoutlet
def test_getextensiblesize():
    """py.test for getextensiblesize"""
    thedata = (("branchlist".upper(), 1), # objkey, extensiblesize
        ("branch".upper(), 5), # objkey, extensiblesize
        ("SimulationControl".upper(), None), # objkey, extensiblesize
    )        
    fname = StringIO("")
    data, commdct = readidf.readdatacommdct(fname, iddV6_0.theidd,
                                                        iddV6_0.commdct)
    theidd = iddV6_0.theidd
    for objkey, extensiblesize in thedata:
        result = eplus_functions.getextensiblesize(data, commdct, objkey)
        assert result == extensiblesize
def makebranchlist(data, commdct, aloop):
    """make the baranchlists"""
    # - 
    def indx(objkey, fielddesc):
        return eplus_functions.getfieldindex(data, commdct, objkey, fielddesc)
    # - 
    # branchlist
    objkey = "branchlist".upper()
    objname = aloop.branchlistN
    branchlist = eplus_functions.makeanobject(data, theidd, commdct, objkey,
                                                                objname)
    # add branches to branch list
    fields = idd_fields.BranchList()
    ix = eplus_functions.getextensibleposition(data, commdct, objkey)
    extlength = eplus_functions.getextensiblesize(data, commdct, objkey)
    for i in range(extlength):
        branchlist.pop(-1)
    zlist = zip(range(ix, ix + len(aloop.outbranches)), aloop.outbranches)
    for i, branch in zlist:
        branchlist.append(branch)
    # append the object
    data.dt[objkey].append(branchlist)