in pageload-summary/summarize.py [0:0]
def main():
args = summary_parser().parse_args()
# Check data path and setup output
data_path = pathlib.Path(args.data)
if not data_path.exists():
raise Exception(f"The given data file doesn't exist: {args.data}")
output_folder = pathlib.Path(args.output)
output_file = "summary.json"
if output_folder.exists() and output_folder.is_file():
print(f"Deleting existing JSON file at: {output_folder}")
output_folder.unlink()
if not output_folder.exists():
if pathlib.Path(output_folder.parts[-1]).suffixes:
# A JSON file name was given
output_file = output_folder.parts[-1]
output_folder = pathlib.Path(*output_folder.parts[:-1])
output_folder.mkdir(parents=True, exist_ok=True)
# Process the data and visualize the results (after saving)
data = open_csv_data(data_path)
results = summarize(
data,
args.platforms,
args.platform_pattern,
args.timespan,
args.moving_average_window,
args.start_date,
args.end_date,
args.by_site,
args.apps,
)
with pathlib.Path(output_folder, output_file).open("w") as f:
json.dump(results, f)
csv_lines = text_summary(results)
csv_file = pathlib.Path(output_folder, "newest-points.csv")
if csv_file.exists():
print(f"Deleting existing CSV summary file at: {csv_file}")
csv_file.unlink()
with csv_file.open("w") as f:
writer = csv.writer(f, delimiter=",")
for line in csv_lines:
writer.writerow(line)
if args.visualize:
visual_summary(results, args.save_plots, args.save_directory)