def keytest2(self, x): self.failIf(x <= 0) name = es.keypgetname(x) self.failIf(name != "justice") es.keypsetname(x, "justice2") name = es.keypgetname(x) self.failIf(name != "justice2") y = es.keypfindsubkey(x, "subkey", False) self.failUnless(y is None) y = es.keypfindsubkey(x, "subkey", True) subname = es.keypgetname(y) self.failUnless(subname == "subkey") r = es.keypfindsubkey(x, "subkey", True) self.failUnless(r == y) q = es.keypfindsubkey(x, "subkey2", True) subname = es.keypgetname(q) self.failIf(subname != "subkey2") w = es.keypfindsubkey(x, "subkey3", True) e = es.keypfindsubkey(x, "subkey3", True) p = es.keypgetfirstsubkey(x) n = 0 while p: n += 1 p = es.keypgetnextkey(p) self.failUnless(n == 3) self.failUnless(w == e) es.keypdetachsubkey(x, w) e = es.keypfindsubkey(x, "subkey3", False) self.failUnless(e is None) es.keypdelete(w) p = es.keypgetfirstsubkey(x) n = 0 while p: n += 1 p = es.keypgetnextkey(p) self.failUnless(n == 2) self.failUnless(es.keypisempty(r)) # setstring es.keypsetstring(r, "hello", "1.3") self.failIf(es.keypisempty(r)) outcome = es.keypgetstring(y, "hello") self.failUnless(outcome == "1.3") outcome = es.keypgetint(y, "hello") self.failUnless(outcome == 1) outcome = es.keypgetfloat(y, "hello") self.failUnless(round(outcome, 1) == 1.3) # setint es.keypsetint(y, "hello", 99) outcome = es.keypgetint(y, "hello") self.failUnless(outcome == 99) # setfloat es.keypsetint(y, "hello", 99) outcome = es.keypgetint(y, "hello") self.failUnless(outcome == 99) # save to file es.keypsavetofile( x, server_var['eventscripts_addondir'] + "/pyunittest/myfile.vdf")
def keytest2(self, x): self.failIf(x <= 0) name = es.keypgetname(x) self.failIf(name != "justice") es.keypsetname(x, "justice2") name = es.keypgetname(x) self.failIf(name != "justice2") y = es.keypfindsubkey(x, "subkey", False) self.failUnless(y is None) y = es.keypfindsubkey(x, "subkey", True) subname = es.keypgetname(y) self.failUnless(subname == "subkey") r = es.keypfindsubkey(x, "subkey", True) self.failUnless(r==y) q = es.keypfindsubkey(x, "subkey2", True) subname = es.keypgetname(q) self.failIf(subname != "subkey2") w = es.keypfindsubkey(x, "subkey3", True) e = es.keypfindsubkey(x, "subkey3", True) p = es.keypgetfirstsubkey(x) n = 0 while p: n+=1 p = es.keypgetnextkey(p) self.failUnless(n==3) self.failUnless(w==e) es.keypdetachsubkey(x, w) e = es.keypfindsubkey(x, "subkey3", False) self.failUnless(e is None) es.keypdelete(w) p = es.keypgetfirstsubkey(x) n = 0 while p: n+=1 p = es.keypgetnextkey(p) self.failUnless(n==2) self.failUnless(es.keypisempty(r)) # setstring es.keypsetstring(r, "hello", "1.3") self.failIf(es.keypisempty(r)) outcome = es.keypgetstring(y, "hello") self.failUnless(outcome=="1.3") outcome = es.keypgetint(y, "hello") self.failUnless(outcome == 1) outcome = es.keypgetfloat(y, "hello") self.failUnless(round(outcome,1) == 1.3) # setint es.keypsetint(y, "hello", 99) outcome = es.keypgetint(y, "hello") self.failUnless(outcome==99) # setfloat es.keypsetint(y, "hello", 99) outcome = es.keypgetint(y, "hello") self.failUnless(outcome==99) # save to file es.keypsavetofile(x, server_var['eventscripts_addondir'] + "/pyunittest/myfile.vdf")
def __getitem__(self, name): ''' Look up a value by name, a lot like a dictionary. Can return a value or a subkey, depending on what is returned. ''' x = es.keypfindsubkey(self._id_, str(name), False) if x is None or x == 0: raise KeyError("%s not found in keyvalues object" % name) else: typ = es.keypgetdatatype(x) if types[typ] == "TYPE_NONE": return KeyValues(parent=self, existingid=x) elif types[typ] == "TYPE_STRING" or types[typ] == "TYPE_WSTRING": return es.keypgetstring(self._id_, str(name)) elif types[typ] == "TYPE_INT": return es.keypgetint(self._id_, str(name)) elif types[typ] == "TYPE_FLOAT": return es.keypgetfloat(self._id_, str(name)) ## types[4] = "TYPE_PTR" ## types[6] = "TYPE_COLOR" ## types[7] = "TYPE_NUMTYPES" else: raise NotImplemented("KeyValues does not yet support type: %s" % types[typ])
def __getitem__(self, name): ''' Look up a value by name, a lot like a dictionary. Can return a value or a subkey, depending on what is returned. ''' x = es.keypfindsubkey(self._id_, str(name), False) if x is None or x == 0: raise KeyError(f"{name} not found in keyvalues object") else: typ = es.keypgetdatatype(x) if types[typ] == "TYPE_NONE": return KeyValues(parent=self, existingid=x) elif types[typ] == "TYPE_STRING" or types[typ] == "TYPE_WSTRING": return es.keypgetstring(self._id_, str(name)) elif types[typ] == "TYPE_INT": return es.keypgetint(self._id_, str(name)) elif types[typ] == "TYPE_FLOAT": return es.keypgetfloat(self._id_, str(name)) ## types[4] = "TYPE_PTR" ## types[6] = "TYPE_COLOR" ## types[7] = "TYPE_NUMTYPES" else: raise NotImplemented(f"KeyValues does not yet support type: {types[typ]}")
def getString(self, var=""): return es.keypgetstring(self._id_, var)