def parse_crypt_table(zephyr_class, instance):
    try:
        crypt_table = open(os.path.join(os.environ["HOME"], ".crypt-table"))
    except __HOLE__:
        return None

    for line in crypt_table.readlines():
        if line.strip() == "":
            # Ignore blank lines
            continue
        match = re.match("^crypt-(?P<class>[^:]+):\s+((?P<algorithm>(AES|DES)):\s+)?(?P<keypath>\S+)$", line)
        if match is None:
            # Malformed crypt_table line
            logger.debug("Invalid crypt_table line!")
            continue
        groups = match.groupdict()
        if groups['class'].lower() == zephyr_class and 'keypath' in groups and \
                groups.get("algorithm") == "AES":
            return groups["keypath"]
    return None
dataset/ETHPy150Open zulip/zulip/bots/zephyr_mirror_backend.py/parse_crypt_table