def read_emotions(mode, filter_value):
    databases = ['ms_emotions_db']
    df_list = []
    for db_name in databases:
        client = MongoClient()
        db = client[db_name]
        collections = db.collection_names(include_system_collections=False)
        if mode == 'Fight':
            collections = [x for x in collections if x[-10] != '0']
        else:
            collections = [x for x in collections if x[-10] == '0']
        for collection_name in collections:
            collection = db[collection_name]
            df_list.append(pd.DataFrame(list(collection.find())))
    inst_df = read_instagram_posts(mode)
    inst_df = Filtering.filtering_by_users_on_photo(inst_df, filter_value)
    df = pd.concat(df_list, ignore_index=True)
    df = df[df['post_id'].isin(inst_df['id'].get_values())]
    # df.drop(['_id', 'post_id' ], 1, inplace=True)
    return df
def distrib_graphs(mode, filter_value):
    df = LoadingData.read_instagram_posts_to_dataframe(mode)
    emo_df = LoadingData.read_microsoft_emotions_to_dataframe(mode, include_non_emotions_column=True)
    df = Filtering.filtering_by_users_on_photo(df, filter_value)
    emo_df = emo_df[emo_df['post_id'].isin(df['id'].get_values())]
    data = emo_df.drop(['_id', 'post_id'], axis=1)
    signs = list(data.columns)
    for sign in signs:
        if sign == 'anger':
            distr_data = data[sign].get_values()
            distr_data *= 100
            f, axis = plt.subplots(1, 1, sharex=True)
            plt.title(sign)
            if mode == 'Fight':
                axis.hist(distr_data, color='#DC143C')
                f.savefig(
                    '/media/vasiliy/66E473BDE4738DD5/StadiumProject/Graphs/Microsoft/Emotions_distribution/Filtered_by_users/gh' + str(
                        filter_value) + '/' + mode + '_' + sign + '.png', format='png', orientation='landscape')
            else:
                axis.hist(distr_data, color='#000080')
                f.savefig(
                    '/media/vasiliy/66E473BDE4738DD5/StadiumProject/Graphs/Microsoft/Emotions_distribution/Filtered_by_users/gh' + str(
                        filter_value) + '/' + mode + '_' + sign + '.png', format='png', orientation='landscape')

        elif sign == 'contempt':
            distr_data = data[sign].get_values()
            distr_data *= 100
            f, axis = plt.subplots(1, 1, sharex=True)
            plt.title(sign)
            if mode == 'Fight':
                axis.hist(distr_data, color='#DC143C')
                f.savefig(
                    '/media/vasiliy/66E473BDE4738DD5/StadiumProject/Graphs/Microsoft/Emotions_distribution/Filtered_by_users/gh' + str(
                        filter_value) + '/' + mode + '_' + sign + '.png', format='png', orientation='landscape')
            else:
                axis.hist(distr_data, color='#000080')
                f.savefig(
                    '/media/vasiliy/66E473BDE4738DD5/StadiumProject/Graphs/Microsoft/Emotions_distribution/Filtered_by_users/gh' + str(
                        filter_value) + '/' + mode + '_' + sign + '.png', format='png', orientation='landscape')


        elif sign == 'disgust':
            distr_data = data[sign].get_values()
            distr_data *= 100
            f, axis = plt.subplots(1, 1, sharex=True)
            plt.title(sign)
            if mode == 'Fight':
                axis.hist(distr_data, color='#DC143C')
                f.savefig(
                    '/media/vasiliy/66E473BDE4738DD5/StadiumProject/Graphs/Microsoft/Emotions_distribution/Filtered_by_users/gh' + str(
                        filter_value) + '/' + mode + '_' + sign + '.png', format='png', orientation='landscape')
            else:
                axis.hist(distr_data, color='#000080')
                f.savefig(
                    '/media/vasiliy/66E473BDE4738DD5/StadiumProject/Graphs/Microsoft/Emotions_distribution/Filtered_by_users/gh' + str(
                        filter_value) + '/' + mode + '_' + sign + '.png', format='png', orientation='landscape')

        elif sign == 'fear':
            distr_data = data[sign].get_values()
            distr_data *= 100
            f, axis = plt.subplots(1, 1, sharex=True)
            plt.title(sign)
            if mode == 'Fight':
                axis.hist(distr_data, color='#DC143C')
                f.savefig(
                    '/media/vasiliy/66E473BDE4738DD5/StadiumProject/Graphs/Microsoft/Emotions_distribution/Filtered_by_users/gh' + str(
                        filter_value) + '/' + mode + '_' + sign + '.png', format='png', orientation='landscape')
            else:
                axis.hist(distr_data, color='#000080')
                f.savefig(
                    '/media/vasiliy/66E473BDE4738DD5/StadiumProject/Graphs/Microsoft/Emotions_distribution/Filtered_by_users/gh' + str(
                        filter_value) + '/' + mode + '_' + sign + '.png', format='png', orientation='landscape')

        elif sign == 'neutral':
            distr_data = data[sign].get_values()
            distr_data *= 100
            f, axis = plt.subplots(1, 1, sharex=True)
            plt.title(sign)
            if mode == 'Fight':
                axis.hist(distr_data, color='#DC143C')
                f.savefig(
                    '/media/vasiliy/66E473BDE4738DD5/StadiumProject/Graphs/Microsoft/Emotions_distribution/Filtered_by_users/gh' + str(
                        filter_value) + '/' + mode + '_' + sign + '.png', format='png', orientation='landscape')
            else:
                axis.hist(distr_data, color='#000080')
                f.savefig(
                    '/media/vasiliy/66E473BDE4738DD5/StadiumProject/Graphs/Microsoft/Emotions_distribution/Filtered_by_users/gh' + str(
                        filter_value) + '/' + mode + '_' + sign + '.png', format='png', orientation='landscape')

        elif sign == 'sadness':
            distr_data = data[sign].get_values()
            distr_data *= 100
            f, axis = plt.subplots(1, 1, sharex=True)
            plt.title(sign)
            if mode == 'Fight':
                axis.hist(distr_data, color='#DC143C')
                f.savefig(
                    '/media/vasiliy/66E473BDE4738DD5/StadiumProject/Graphs/Microsoft/Emotions_distribution/Filtered_by_users/gh' + str(
                        filter_value) + '/' + mode + '_' + sign + '.png', format='png', orientation='landscape')
            else:
                axis.hist(distr_data, color='#000080')
                f.savefig(
                    '/media/vasiliy/66E473BDE4738DD5/StadiumProject/Graphs/Microsoft/Emotions_distribution/Filtered_by_users/gh' + str(
                        filter_value) + '/' + mode + '_' + sign + '.png', format='png', orientation='landscape')



        elif sign == 'surprise':
            distr_data = data[sign].get_values()
            distr_data *= 100
            f, axis = plt.subplots(1, 1, sharex=True)
            plt.title(sign)
            if mode == 'Fight':
                axis.hist(distr_data, color='#DC143C')
                f.savefig(
                    '/media/vasiliy/66E473BDE4738DD5/StadiumProject/Graphs/Microsoft/Emotions_distribution/Filtered_by_users/gh' + str(
                        filter_value) + '/' + mode + '_' + sign + '.png', format='png', orientation='landscape')
            else:
                axis.hist(distr_data, color='#000080')
                f.savefig(
                    '/media/vasiliy/66E473BDE4738DD5/StadiumProject/Graphs/Microsoft/Emotions_distribution/Filtered_by_users/gh' + str(
                        filter_value) + '/' + mode + '_' + sign + '.png', format='png', orientation='landscape')

        else:
            f, axis = plt.subplots(1, 1, sharex=True)
            distr_data = data[sign].get_values()
            distr_data *= 100
            plt.title(sign)
            if mode == 'Fight':
                axis.hist(distr_data, color='#DC143C')
                f.savefig(
                    '/media/vasiliy/66E473BDE4738DD5/StadiumProject/Graphs/Microsoft/Emotions_distribution/Filtered_by_users/gh' + str(
                        filter_value) + '/' + mode + '_' + sign + '.png', format='png', orientation='landscape')
            else:
                axis.hist(distr_data, color='#000080')
                f.savefig(
                    '/media/vasiliy/66E473BDE4738DD5/StadiumProject/Graphs/Microsoft/Emotions_distribution/Filtered_by_users/gh' + str(
                        filter_value) + '/' + mode + '_' + sign + '.png', format='png', orientation='landscape')