Author: EricStein
Date: 2007-07-08 15:19:04 -0400 (Sun, 08 Jul 2007)
New Revision: 423

Modified:
   trunk/pysoy/src/_datatypes/HashTable.pxi
   trunk/pysoy/src/_datatypes/soy._datatypes.pxd
Log:
Lookup function, returns 0 if not found (for now)


Modified: trunk/pysoy/src/_datatypes/HashTable.pxi
===================================================================
--- trunk/pysoy/src/_datatypes/HashTable.pxi    2007-07-08 11:40:24 UTC (rev 
422)
+++ trunk/pysoy/src/_datatypes/HashTable.pxi    2007-07-08 19:19:04 UTC (rev 
423)
@@ -38,3 +38,13 @@
     (<float*>d)[0] = data
     k = glib.g_strdup(key)
     glib.g_hash_table_insert(self._hashtable, k, d)
+
+  def lookup(self, key) :
+    return self._lookup(key)
+
+  cdef float _lookup(self, char* key) :
+    cdef float* f
+    f = <float*> glib.g_hash_table_lookup(self._hashtable, key)
+    if f == NULL :
+      return 0
+    return f[0]

Modified: trunk/pysoy/src/_datatypes/soy._datatypes.pxd
===================================================================
--- trunk/pysoy/src/_datatypes/soy._datatypes.pxd       2007-07-08 11:40:24 UTC 
(rev 422)
+++ trunk/pysoy/src/_datatypes/soy._datatypes.pxd       2007-07-08 19:19:04 UTC 
(rev 423)
@@ -50,6 +50,7 @@
 cdef class HashTable :
   cdef glib.GHashTable*  _hashtable
   cdef void              _insert(self, char*, float)
+  cdef float             _lookup(self, char*)
 
 
 cdef class FaceList :

_______________________________________________
PySoy-SVN mailing list
[email protected]
http://www.pysoy.org/mailman/listinfo/pysoy-svn

Reply via email to