import verse as v import time # Command Timeout timer = 0.0 lasttime = 0.0 TIMEOUT = 20.0 class TimeoutWarning(Warning): def __str__(self): global TIMEOUT txt = "Verse command not confirmed within " txt += str(TIMEOUT) + " seconds." return txt def reset_timeout(): global TIMEOUT, timer, lasttime lasttime = time.time() timer = TIMEOUT def timeout(): global TIMEOUT, timer, lasttime curtime = time.time() diff = curtime - lasttime lasttime = curtime timer -= diff timedout = timer <= 0.0 if timedout: raise TimeoutWarning return timedout # Defines PTYPES = { v.O_METHOD_PTYPE_INT8 : "int8", v.O_METHOD_PTYPE_INT16 : "int16", v.O_METHOD_PTYPE_INT32 : "int32", v.O_METHOD_PTYPE_UINT8 : "uint8", v.O_METHOD_PTYPE_UINT16 : "uint16", v.O_METHOD_PTYPE_UINT32 : "uint32", v.O_METHOD_PTYPE_REAL32 : "real32", v.O_METHOD_PTYPE_REAL64 : "real64", v.O_METHOD_PTYPE_REAL32_VEC2 : "real32_vec2", v.O_METHOD_PTYPE_REAL32_VEC3 : "real32_vec3", v.O_METHOD_PTYPE_REAL32_VEC4 : "real32_vec4", v.O_METHOD_PTYPE_REAL64_VEC2 : "real64_vec2", v.O_METHOD_PTYPE_REAL64_VEC3 : "real64_vec3", v.O_METHOD_PTYPE_REAL64_VEC4 : "real64_vec4", v.O_METHOD_PTYPE_REAL32_MAT4 : "real32_mat4", v.O_METHOD_PTYPE_REAL32_MAT9 : "real32_mat9", v.O_METHOD_PTYPE_REAL32_MAT16 : "real32_mat16", v.O_METHOD_PTYPE_REAL64_MAT4 : "real64_mat4", v.O_METHOD_PTYPE_REAL64_MAT9 : "real64_mat9", v.O_METHOD_PTYPE_REAL64_MAT16 : "real64_mat16", v.O_METHOD_PTYPE_STRING : "string", v.O_METHOD_PTYPE_NODE : "node", v.O_METHOD_PTYPE_LAYER : "layer" } TTYPES = { v.TAG_BOOLEAN : "boolean", v.TAG_UINT32 : "uint32", v.TAG_REAL64 : "real64", v.TAG_STRING : "string", v.TAG_REAL64_VEC3 : "real64_vec3", v.TAG_LINK : "link", v.TAG_ANIMATION : "animation", v.TAG_BLOB : "blob" } BLTYPES = { v.B_LAYER_UINT1 : "uint1", v.B_LAYER_UINT8 : "uint8", v.B_LAYER_UINT16 : "uint16", v.B_LAYER_REAL32 : "real32", v.B_LAYER_REAL64 : "real64", }