Exemple #1
0
    def __load(self, filename):
        contents = None

        encoding = Common.get_file_encoding(filename)
        encoding = 'latin1' if encoding is None else encoding

        with open(filename, 'r', encoding=encoding) as f:
            contents = self.__yaml.load(f.read())
        return contents
Exemple #2
0
    def __load(self, filename):
        # 将文件中的内容读取成一个完整的文本
        contents = None

        encoding = Common.get_file_encoding(filename)
        encoding = 'latin1' if encoding is None else encoding

        with open(filename, 'r', encoding=encoding) as f:
            contents = f.read()
        return contents
Exemple #3
0
def get_import_files(filename):
    '''
    提供一个文件检查他是否导入了其他文件, 返回它导入的其他文件名称
    通常是基于仓库根目录的相对路径, 如: conf/msg_conf/map_msg_chs.conf
    '''
    with open(filename, 'rt',
              encoding=Common.get_file_encoding(filename)) as f:
        content = f.readlines()

    import_files = []
    for line in content:
        fields = split_msg(line)
        if fields is None:
            continue
        if fields[0].lower() in ['import', 'import_cht', 'import_chs']:
            import_files.append(fields[1])
    return import_files
Exemple #4
0
def get_mes_dict(filename):
    '''
    给定一个消息文件, 读取其中的所有信息并返回一个字典
    '''
    with open(filename, 'rt',
              encoding=Common.get_file_encoding(filename)) as f:
        content = f.readlines()

    mes_dict = {}
    for line in content:
        fields = split_msg(line)
        if fields is None:
            continue
        if not fields[0].isdigit():
            continue
        mes_dict[int(fields[0])] = {
            'mes': fields[1],
            'fmt': get_format_specifier(fields[1])
        }
    return mes_dict