def test_newname2references(): """py.test for newname2references""" # a zone name is changed. It is refered by lights and people. # test if the reference in lights and people also change fname = StringIO("") data, commdct = readidf.readdatacommdct(fname, iddV6_0.theidd, iddV6_0.commdct) theidd = iddV6_0.theidd idd = eplus_functions.Idd(commdct, iddV6_0.commlst, theidd, iddV6_0.block) idfw = eplus_functions.IdfWrapper(data, idd) # - zonekey = 'zone'.upper() lightkey = 'lights'.upper() peoplekey = 'people'.upper() keys = [zonekey, lightkey, peoplekey] keys = keys + keys names = ['z1', 'l1', 'p1', 'z2', 'l2', 'p2'] for key, name in zip(keys, names): anobject = eplus_functions.makeanobject(data, theidd, commdct, key, objname="name") data.dt[key].append(anobject) data.dt[lightkey][0][2] = 'z1' data.dt[peoplekey][0][2] = 'z1' data.dt[lightkey][1][2] = 'z2' data.dt[peoplekey][1][2] = 'z2' oldname, newname = 'z1', 'zz1' # = data.dt[zonekey][0][1] = newname fieldid = 1 eplus_functions.newname2references(idfw, zonekey, fieldid, oldname, newname) assert data.dt[lightkey][0][2] == newname assert data.dt[peoplekey][0][2] == newname assert data.dt[lightkey][1][2] == 'z2' assert data.dt[peoplekey][1][2] == 'z2'
def updatefield(request, keyid, objid, fieldid): """update the field data with data coming from the form""" print request.POST.keys() dt = idfw.idf.dt dtls = idfw.idf.dtls keyid, objid, fieldid = [int(i) for i in [keyid, objid, fieldid]] s = str(request.POST['fieldvalue']) newname = s key = dtls[keyid] oldname = dt[key][objid][fieldid] dt[key][objid][fieldid] = s eplus_functions.newname2references(idfw, key, fieldid, oldname, newname) return HttpResponseRedirect("../../../../anobject/%s/%s/" % (keyid, objid))