
	Using the IsyVar Class
	======================

Set the value if ISY var named 'some other var' to 10

    import ISY
    myisy = ISY.Isy( ) 

    some_other_var = myisy.get_var("some other var")
    some_other_var.value = 10

--

Get the value if ISY var named 'some other var' 
without instantiating a IsyVar class obj

    import ISY
    myisy = ISY.Isy( ) 

    some_other_var = myisy.var_get_value('some other var')

--

Set the value if ISY var named 'some other var' to 10
without instantiating a IsyVar class obj

    import ISY
    myisy = ISY.Isy( ) 

    myisy.var_set_value('some other var', 10)

--

get and compair the value of two vars

    import ISY
    myisy = ISY.Isy( ) 

    some_var = myisy.get_var("some var")
    some_other_var = myisy.get_var("some other var")

    if some_var > some_other_var :
	print "some var is more then some other var" 

--

list all var name and their attributes 

    import ISY
    myisy = ISY.Isy( ) 

    fmt = "{:<4} : {:<19}{:<5}\t{:<5}\t{:}"
    print fmt.format( "ID", "NAME", "VAL", "INIT", "DATE" )
    for var in myisy.var_iter() :
	print fmt.format( var.id, var.name, var.value, var.init, var.ts )

--

Here is a program that get the ISY var named 'somevar',
reports if it's value is over 100

    import ISY
    myisy = ISY.Isy( ) 

    # 
    # Get the Isy varable called "somevar"
    # if is exists and is over 100, divid it by 2
    try:
	some_var = myisy.get_var("somevar")
    except LookupError :
	print "Isy Var 'somevar' does not exist"
    else :
	# if the value of 'somevar' is over 100
	# divide the value in half
	if  some_var > 100 :
	    print "The ISY var 'somevar' is over 30"
	    some_var /= 2



#    def get_var_ts(self):
#    def get_var_type(self):
    def get_var_init(self):
    def set_var_init(self, new_value):
    def get_var_value(self):
    def set_var_value(self, new_value):
#    def get_var_id(self):
#    def get_var_name(self):
    def __cast(self, other):
    def bit_length(self): return bit_length(self._mydict["val"])
    def __str__(self): return str(self._mydict["val"])
    def __long__(self): return long(self._mydict["val"])
    def __float__(self): return float(self._mydict["val"])
    def __int__(self): return int(self._mydict["val"])
    def __bool__(self) : return int( self._mydict["val"]) != 0
    def __abs__(self): return abs(self._mydict["val"])
    def __lt__(self, n): return self._mydict["val"] <  self.__cast(n)
    def __le__(self, n): return self._mydict["val"] <= self.__cast(n)
    def __eq__(self, n): return self._mydict["val"] == self.__cast(n)
    def __ne__(self, n): return self._mydict["val"] != self.__cast(n)
    def __gt__(self, n): return self._mydict["val"] >  self.__cast(n)
    def __ge__(self, n): return self._mydict["val"] >= self.__cast(n)
    def __cmp__(self, n): return cmp(self._mydict["val"], self.__cast(n))
    def __add__(self, n):
    def __iadd__(self, n):
    def __sub__(self, n):
    def __isub__(self, n):
    def __mul__(self, n): return (self._mydict["val"]*n)
    def __imul__(self, n):
    def __floordiv__(self, n): return self._mydict["val"] // self.__cast(n)
    def __ifloordiv__(self, n):
    def __truediv__(self, n): return (self._mydict["val"] / self.__cast(n))
    def __itruediv__(self, n):
    def __imod__(self, n):
    def __ipow__(self, n):
    def __neg__(self): return - self._mydict["val"]
    def __and__(self, n): return self._mydict["val"] & self.__cast(n)
    def __iand__(self, n): 
    def __or__(self, n): return self._mydict["val"] | self.__cast(n)
    def __ior__(self, n):
    def __ixor__(self, n):
    def __xor__(self, n): return self._mydict["val"] ^ self.__cast(n)
    def __invert__(self): return ~ self._mydict["val"] 
    def __irshift__(self, n):
    def __ilshift__(self, n):
    def __repr__(self):
