示例#1
0
 def __init__(self, name=None, parent=None, existingid=None, filename=None):
     '''
     You can create a new KeyValues object by passing in different
     combinations of arguments:
     With only an existingid, KeyValues returns a wrapper around that
     existing id (i.e. C++ pointer). With only a parent, we'll create a
     new randomly named subkey. With a parent and name, we'll find/make a
     subkey of that name. With a name only, we'll create an unparented key
     with that name. With a filename, we'll load the KeyValues tree from
     disk and return it as the parent.
     '''
     if existingid is not None:
         #print "kv", existingid, parent
         self._id_ = existingid
         self._parent_ = parent
     else:
         if parent is None:
             self._id_ = es.keypcreate()
             if filename is not None:
                 self.load(filename)
             if name is not None:
                 es.keypsetname(self._id_, str(name))
         else:
             self._parent_ = parent
             if name is None:
                 self._id_ = es.keypcreatesubkey(parent._id_)
             else:
                 self._id_ = es.keypfindsubkey(parent._id_, str(name))
 def __init__(self, name=None, parent=None, existingid=None, filename=None):
     '''
     You can create a new KeyValues object by passing in different
     combinations of arguments:
     With only an existingid, KeyValues returns a wrapper around that
     existing id (i.e. C++ pointer). With only a parent, we'll create a
     new randomly named subkey. With a parent and name, we'll find/make a
     subkey of that name. With a name only, we'll create an unparented key
     with that name. With a filename, we'll load the KeyValues tree from
     disk and return it as the parent.
     '''
     if existingid is not None:
         #print "kv", existingid, parent
         self._id_ = existingid
         self._parent_ = parent
     else:
         if parent is None:
             self._id_ = es.keypcreate()
             if filename is not None:
                 self.load(filename)
             if name is not None:
                 es.keypsetname(self._id_, str(name))
         else:
             self._parent_ = parent
             if name is None:
                 self._id_ = es.keypcreatesubkey(parent._id_)
             else:
                 self._id_ = es.keypfindsubkey(parent._id_, str(name))
 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")
示例#4
0
 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")
示例#5
0
 def testNewkey(self):
     x = es.keypcreate()
     es.keypsetname(x, "justice")
     self.keytest2(x)
     es.keypdelete(x)
     x = es.keypcreate()
     es.keypsetname(x, "justice2")
     self.keytest3(x)
     es.keypdelete(x)
     return
 def testNewkey(self):
     x = es.keypcreate()
     es.keypsetname(x, "justice")
     self.keytest2(x)
     es.keypdelete(x)
     x = es.keypcreate()
     es.keypsetname(x, "justice2")
     self.keytest3(x)
     es.keypdelete(x)
     return