from million.analyze.word_finder import filter_words import million.parse.fb_exports as fb DATA_PATH = './data/' gros_mots = [ '.*merde.*', 'sexe', 'pute', 'pé?dé?', 'putain', 'bite', 'encul.*', 'cul', 'nichon', 'gueule', 'con(ne)?', 'chatte', 'niqu.*', 'chi(é|e).*', 'bais.*' ] export = fb.parse_dirfiles(DATA_PATH) msg_gros_mots = filter_words(export.messages, gros_mots) msg_gros_mots_grp = {} for msg in msg_gros_mots: if msg.sender_name not in msg_gros_mots_grp: msg_gros_mots_grp[msg.sender_name] = [] msg_gros_mots_grp[msg.sender_name].append(msg) for name in sorted(msg_gros_mots_grp, key = lambda k: len(msg_gros_mots_grp[k])): print(name) for msg in msg_gros_mots_grp[name]: time_str = msg.date_time.strftime("%d/%m/%Y %H:%M:%S") print(f"\t{time_str} : {msg.content}")