Source code for casalith

###########################################################################
########################## generated by setup.py ##########################
###########################################################################
from __future__ import absolute_import
from casatools import logsink as _logsink

__name__ = 'casalith'
__all__ = [ 'version',
            'version_string',
            'compare_version',
            'browsetable' ]

def version( ): return [ 6, 1, 2, 3 ]
def version_string( ): return "6.1.2.3"

def compare_version( op, ver ):
    if not isinstance(op,str) or not isinstance(ver,list):
        return False
    if len(op) > 2 or len(op) < 1:
        return False

    cur = [ 6, 1, 2, 3 ]

    def gt(p):
        if len(p) == 0: return False
        if p[0][0] > p[0][1]: return True
        elif p[0][0] < p[0][1]: return False
        else: return gt(p[1:])

    def lt(p):
        if len(p) == 0: return False
        if p[0][0] > p[0][1]: return False
        elif p[0][0] < p[0][1]: return True
        else: return lt(p[1:])

    def gteq(p):
        if len(p) == 0: return True
        if p[0][0] > p[0][1]: return True
        elif p[0][0] < p[0][1]: return False
        else: return gteq(p[1:])

    def lteq(p):
        if len(p) == 0: return True
        if p[0][0] > p[0][1]: return False
        elif p[0][0] < p[0][1]: return True
        else: return lteq(p[1:])

    def eq(p):
        if len(p) == 0: return True
        if p[0][0] != p[0][1]: return False
        else: return eq(p[1:])

    def ne(p):
        return not eq(p)

    def err( ):
        return False

    return { '>':  gt,
             '<':  lt,
             '>=': gteq,
             '<=': lteq,
             '=':  eq,
             '==': eq,
             '!=': ne   }.get(op,err)(list(zip(cur,ver[:4] + [0] * (len(cur) - len(ver)))))


from .browsetable import browsetable