def main(): with open('./../../dont_commit.json') as f: data = json.load(f) for user in get_participants(data): write_all_messages(data, user) for user in get_participants(data): create_json_wordcloud(data, user)
def set_nickname(data): # warning: does not work for users json (your nickname) mydict = {} changed_names = {} name_got_changed = {} messages = data["messages"] for message in messages: if ("content" in message.keys() and "set the nickname for" in message["content"]): for changer in get_participants(data): key_phrase = "set the nickname for" if (changer) in message["sender_name"] and ( key_phrase) in message["content"]: for user in get_participants(data): if (user in message["content"]): nickname = message["content"].split("to", 1)[1] if (changer in changed_names.keys()): changed_names[changer] += 1 else: changed_names[changer] = 1 if (user in name_got_changed.keys()): name_got_changed[user] += 1 else: name_got_changed[user] = 1 return name_got_changed, changed_names
def time_range_analysis(data, start, end): num_messages = {} for user in get_participants(data): num_messages[user] = 0 for message in get_messages(data, user): hour = datetime.datetime.fromtimestamp( message["timestamp_ms"] / 1000.0).strftime( '%Y-%m-%d %H:%M:%S.%f').split()[1].split(":")[0] if int(hour) >= start and int(hour) <= (end - 1): num_messages[user] += 1 return num_messages
def created_poll(data): mydict = {} messages = data["messages"] for message in messages: if ("content" in message.keys() and "created a poll" in message["content"]): for user in get_participants(data): if (user) in message["sender_name"]: if (user in mydict.keys()): mydict[user] += 1 else: mydict[user] = 1 return mydict
def most_mentioned(data): mydict = {} messages = data["messages"] for message in messages: if ("content" in message.keys() and '@' in message["content"]): for user in get_participants(data): first = user.split(' ', 1)[0] if ('@' + first) in message["content"] or ( '@' + first.lower()) in message["content"]: if (user in mydict.keys()): mydict[user] += 1 else: mydict[user] = 1 return mydict
def set_emoji(data): mydict = {} messages = data["messages"] for message in messages: if ("content" in message.keys() and "set the emoji to" in message["content"]): for user in get_participants(data): if (user) in message["sender_name"]: emoji = message["content"].split("to", 1)[1] if (user in mydict.keys()): mydict[user] += 1 else: mydict[user] = 1 print(mydict) return mydict
def revaultd_manager(bitcoind, directory): datadir = os.path.join(directory, "revaultd") os.makedirs(datadir, exist_ok=True) stakeholders, managers = get_participants(2, 3) ourselves = { "manager_xpub": managers[0]["xpub"], } csv = 35 revaultd = RevaultD(datadir, ourselves, stakeholders, managers, csv, bitcoind) revaultd.start() yield revaultd revaultd.cleanup()