from cppy.cp_util import *

# 这个例子没有实际意义，是用来帮助理解其他例子
# 主程序只需要启动第一个动作，后面的顺序逻辑写到各个函数里面了

def readfile(file_path, func):
    data = read_file(file_path)
    func(data, frequencies)

def extractwords(str_data,func):       
    func(extract_str_words(str_data), sort)

def frequencies(word_list, func):
    wf = get_frequencies(word_list)    
    func(wf, printall)

def sort(wf, func):
    func(sort_dict(wf), None)

def printall(word_freqs, _ ):
    print_word_freqs(word_freqs) 

if __name__ == "__main__":
    readfile(testfilepath, extractwords)