def __setup_user_id(self, user_id, user_name): if user_name is None: self.user_id = user_id else: self.user_name = user_name names_to_ids = get_name_to_id_dict_from_db() if user_name in names_to_ids.keys(): self.user_id = names_to_ids[user_name]
def __init__(self, user_id=None, user_name=None): self.user_id = None if user_id is not None: self.user_id = user_id elif user_name is not None: user_dict = get_name_to_id_dict_from_db() if user_name in user_dict.keys(): self.user_id = user_dict[user_name] self.principle_to_media_holder_dict = dict()
def plot_data_for_users(users, plot_params_list, plot_title=None): global plot_files_names trace_list = list() max_x = 0 single_user = len(users) == 1 for plot_params in plot_params_list: media_getter = plot_params[0] graph_type = plot_params[1] y_title = media_getter.__name__ for user1 in users: g_title = user1 xme, yme = media_getter(get_name_to_id_dict_from_db()[user1]) max_x = max([len(xme), max_x]) trace = trace_for_plot(graph_type) trace['x'] = xme trace['y'] = yme if single_user: g_title = media_getter.__name__ y_title = user1 trace['name'] = g_title trace_list.append(trace) layout = go.Layout( title=plot_title, xaxis=dict( tickmode="auto", nticks=int(1.5 * max_x) ), yaxis=dict( tickmode="auto", nticks=12, title=y_title ), barmode='group' ) fig = go.Figure(data=trace_list, layout=layout) file_name = dir_html + graph_type + '_' + media_getter.__name__ + ".html" plot_files_names.append(file_name) py.offline.plot(fig, filename=file_name, auto_open=False)
def update_all(): d = get_name_to_id_dict_from_db() for name in d.keys(): updater = DataUpdater(user_name=name, access_token=get_access_token()) updater.update()
def update(user_name=None): d = get_name_to_id_dict_from_db() if user_name in d.keys(): updater = DataUpdater(user_id=d[user_name], access_token=get_access_token()) updater.update()
), yaxis=dict( tickmode="auto", nticks=12, title=y_title ), barmode='group' ) fig = go.Figure(data=trace_list, layout=layout) file_name = dir_html + graph_type + '_' + media_getter.__name__ + ".html" plot_files_names.append(file_name) py.offline.plot(fig, filename=file_name, auto_open=False) target_users = sys.argv[1:] user_dict = get_name_to_id_dict_from_db() for user in target_users: if user not in user_dict.keys(): raise ValueError("User not found: " + user) if len(target_users) == 1: plot_data_for_users(target_users, [(average_like_by_month, 'scatter'), (number_of_media_by_month, 'bar')]) plot_data_for_users(target_users, [(acc_total_like_by_month, 'scatter'), (acc_number_of_media_by_month, 'bar')]) else: plot_data_for_users(target_users, [(average_like_by_month, 'scatter')]) plot_data_for_users(target_users, [(number_of_media_by_month, 'bar')]) plot_data_for_users(target_users, [(acc_number_of_media_by_month, 'bar')]) plot_data_for_users(target_users, [(total_like_by_month, 'bar')])