def __init__(self, sponsor_name, package_yaml, sponsor_yaml): yaml_packages = report_generatoryaml.read_yaml(package_yaml) yaml_sponsors = report_generatoryaml.read_yaml(sponsor_yaml) self.yaml_sponsors = yaml_sponsors self.name = sponsor_name self.package_name = yaml_sponsors[sponsor_name]["package"] self.content = yaml_sponsors[self.name] self.package_content_flag = yaml_packages[self.package_name] self.package_content_generic_flag = yaml_packages["generic"]
def main(csv, interactive, cjk_support, conf, yaml, package_yaml, sponsor_yaml, output_path): conf_singlet = report_generatorconfig.Configuration.get_instance() conf_singlet.read_configuration(template) if conf: logger.debug("User customized conf is specified: %s" % conf_singlet) conf_singlet.read_configuration(conf) # welcome user, ask year of data year = vtext.welcome_ask_year(interactive) frames = [] for csv_single in csv: csv_index = csv.index(csv_single) df = report_generatorcsv.csv_to_dataframe(csv_single) # select necessary columns from df df = vtext.select_column(df, interactive, csv_index) frames.append(df) df_all = pd.concat(frames, join="outer", axis=0, ignore_index=True) # all raw data is imported. let's call analyzer to do something df_all = ag.add_cat_title(df_all) df_all = df_all.fillna(value="No Record") df_all = ag.get_sanity_data(df_all, cjk_support) # all datafram general data object df_all_g_data_obj = attendee.Attendee(df_all) # analyzed data frame is ready. let's plot figs = plotter.plot_counts(df_all, year, cjk_support) # read the other report data report_yaml = report_generatoryaml.read_yaml(yaml) sponsors = apsponsor.get_all_sponsors(package_yaml, sponsor_yaml) # generate the report # general info (everyone could see it): # figs: plots from attendee dataframe # df_all_g_data_obj: numbers from attendee dataframe # report_yaml: plot description of figs # sponsors: # sponsor specific information based on yaml descriptor exporter_html.generate(figs, report_yaml, df_all_g_data_obj, sponsors, output_path) print("Analysis process finished completely.")
def get_all_sponsors(package_yaml, sponsor_yaml): yaml_sponsors = report_generatoryaml.read_yaml(sponsor_yaml) sponsors = [] for entry in yaml_sponsors: sponsor = Sponsor(entry, package_yaml, sponsor_yaml) # TODO: to port these debug information to be a part of test scripts # description = sponsor.description # # flag_promotion = sponsor.if_one_true_promotion # # flag_web = sponsor.if_one_true_web # web_click = sponsor.web_click # web_click_rank = sponsor.web_click_rank # # flag_facebook = sponsor.if_one_true_facebook # flag_facebook_reach = sponsor.flag_facebook_reach # facebook_reach = sponsor.facebook_reach # flag_facebook_reach_rank = sponsor.flag_facebook_reach_rank # facebook_reach_rank = sponsor.facebook_reach_rank # # flag_facebook_engagement = sponsor.flag_facebook_engagement # facebook_engagement = sponsor.facebook_engagement # flag_facebook_engagement_rank = sponsor.flag_facebook_engagement_rank # facebook_engagement_rank = sponsor.facebook_engagement_rank # # flag_booth = sponsor.if_one_true_booth # flag_booth_participant = sponsor.flag_booth_participant # booth_participant = sponsor.boot_participant # # flag_booth_participant_rank = sponsor.flag_booth_participant_rank # # booth_participant_rank = sponsor.booth_participant_rank # # flag_workshop = sponsor.if_one_true_workshop # workshop_pictures = sponsor.flag_workshop_pictures # workshop_description = sponsor.workshop_description # workshop_event_url = sponsor.workshop_event_url # pass sponsors.append(sponsor) return sponsors
def main( csv, talks_csv, proposed_talks_csv, booth_csv, interactive, cjk_support, conf, yaml, package_yaml, sponsor_yaml, output_path, ): conf_singlet = report_generatorconfig.Configuration.get_instance() conf_singlet.read_configuration(template) if conf: logger.debug("User customized conf is specified: %s" % conf_singlet) conf_singlet.read_configuration(conf) # welcome user, ask year of data year = vtext.welcome_ask_year(interactive) frames = [] for csv_single in csv: csv_index = csv.index(csv_single) df = report_generatorcsv.csv_to_dataframe(csv_single) # select necessary columns from df df = vtext.select_column(df, interactive, csv_index) frames.append(df) df_all = pd.concat(frames, join="outer", axis=0, ignore_index=True) # all raw data is imported. let's call analyzer to do something df_all = ag.add_cat_title(df_all) df_all = df_all.fillna(value="No Record") df_all = ag.get_sanity_data(df_all, cjk_support) # all datafram general data object df_all_g_data_obj = attendee.Attendee(df_all) # analyzed data frame is ready. let's plot attendee data figs = plotter.plot_attendee_counts(df_all, year, cjk_support) # prepared the selected topic pie chart talks_df = report_generatorcsv.csv_to_dataframe(talks_csv) talks_fig = plotter.plot_talk_categories(talks_df) figs.update(talks_fig) # prepared the proposed topic pie chart p_talks_df = report_generatorcsv.csv_to_dataframe(proposed_talks_csv) p_talks_fig = plotter.plot_talk_categories(p_talks_df, fig_title="Proposed_Topics") figs.update(p_talks_fig) booth_df = report_generatorcsv.csv_to_dataframe(booth_csv) # TODO: if we want to enhance the issue #11 in the future like #23, we may start here by using the returned value plotter.plot_booth(booth_df, "booth") # read the other report data report_yaml = report_generatoryaml.read_yaml(yaml) sponsors = apsponsor.get_all_sponsors(package_yaml, sponsor_yaml) accepted_talk_number = talks_df["category"].value_counts().sum() all_talk_number = p_talks_df["category"].value_counts().sum() talk_info_ratio = accepted_talk_number / all_talk_number talk_info = "{:.1%}".format(talk_info_ratio) # generate the report # general info (everyone could see it): # figs: plots from attendee dataframe and talks # df_all_g_data_obj: numbers from attendee dataframe # report_yaml: plot description of figs # sponsors: # sponsor specific information based on yaml descriptor exporter_html.generate(figs, report_yaml, df_all_g_data_obj, sponsors, talk_info, "sponsor.html", output_path=output_path) # summary for internal review exporter_html.generate_summary(figs, report_yaml, df_all_g_data_obj, sponsors, talk_info, "internal.html", "internal-post-event", output_path) print("Analysis process finished completely.")