def checklock(pth):

    lock_msg = ""
    lock_type = NO_LOCK
    lock_token = None
    last_token = None

    url = geturl(pth)

    for obj in [pth, url]:
        output = info(pth)
        search_targets = ["owner", "created", "token"]
        keys = searchinfo(output, *search_targets)
        owner = keys.get(search_targets[0])
        when = keys.get(search_targets[1])
        lock_token = keys.get(search_targets[2])

        if owner is not None:
            msg = "SVN (checklock): %s was locked by '%s' at %s" % (pth, owner, when)
            if obj == pth:
                lock_type = ORPHAN_LOCK
                last_token = lock_token
                lock_token = None
                lock_msg = msg + " : BAD LOCK"
            elif obj == url and last_token is not None and last_token == lock_token:
                lock_type = LOCAL_LOCK
                lock_msg = msg + " : LOCAL LOCK"
            elif obj == url and last_token is None:
                lock_type = REMOTE_LOCK
                lock_msg = msg + " : REMOTE LOCK"

    return lock_msg, lock_type
Check that the spectral estimators are normalized in the
dataset/ETHPy150Open facelessuser/EasyDiff/lib/svn.py/checklock--crossover with--dataset/ETHPy150Open nipy/nitime/nitime/algorithms/tests/test_spectral.py/test_multitaper_spectral_normalization