tree.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:graduate-adventure 作者: dnsdhrj 项目源码 文件源码
def __init__(self, rule_name, metadata):
        """Constructor of TreeLoader.

        Args:
            rule_name: rule file name in ./rules, excluding extension .yml
            metadata: data of any other information needed evaluating tree
        """
        base_dir = os.path.dirname(os.path.abspath(__file__))

        # Open yaml rule file
        try:
            f = open(os.path.join(base_dir, 'rules', rule_name + '.yml'), 'r', encoding='utf-8')
            self.tree = yaml.load(f, Loader)
            f.close()
        except IOError:
            logger.error('Error opening file: ' + rule_name)
            raise TreeLoaderException()

        # Metadata
        self.metadata = metadata

        self.default_properties = {
            # if this value is True, falsy node will be hidden
            'hide_false': False,

            # [currently acquired credit, required credit for True, sum credit of falsy node or not]
            'credit_info': [0, 0, False],
            'main_node': False,
        }

        # base node is GRADUATE
        self.base_node = TreeNode(None, self.default_properties, self.metadata, and_func(), '!GRADUATE')

        # initiate recursive tree loading procedure
        self.load_tree(self.tree, self.base_node)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号