From c0ec007faeded2755bceac9c7c6f3dfec62775a6 Mon Sep 17 00:00:00 2001 From: Sarah Date: Sun, 18 Dec 2022 19:12:46 +0000 Subject: [PATCH] refactor countries script --- roundup_scripts/get_new_countries.py | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/roundup_scripts/get_new_countries.py b/roundup_scripts/get_new_countries.py index f91188e..d64758e 100644 --- a/roundup_scripts/get_new_countries.py +++ b/roundup_scripts/get_new_countries.py @@ -1,40 +1,39 @@ import argparse -from datetime import datetime +from datetime import datetime, timedelta import json from progress.bar import IncrementalBar from vcinema_utils import VCinemaUtils -def get_new_years(token_id, token_secret, year): +def get_new_countries(token_id, token_secret, start_date, end_date): print("Getting viewings") viewings = VCinemaUtils.get_vcinema_viewings(token_id, token_secret) with IncrementalBar('Retrieving movie data', max=len(viewings), suffix='%(percent).1f%% - %(eta)ds remaining', check_tty=False) as bar: VCinemaUtils.add_imdb_data_to_viewings(viewings, ["countries"], bar) - viewings_before_year = VCinemaUtils.get_viewings_before_date(viewings, datetime(day=31, month=12, year=year-1)) - viewings_end_of_year = VCinemaUtils.get_viewings_before_date(viewings, datetime(day=31, month=12, year=year)) + pre_range_viewings = VCinemaUtils.get_viewings_in_date_range(viewings, datetime.min, start_date - timedelta(days=1)) + in_range_viewings = VCinemaUtils.get_viewings_in_date_range(viewings, start_date, end_date) - viewings_before_year_filtered_by_year = VCinemaUtils.filter_viewings(viewings_before_year, "countries") - viewings_end_of_year_filtered_by_year = VCinemaUtils.filter_viewings(viewings_end_of_year, "countries") + pre_range_countries = set(list(VCinemaUtils.filter_viewings(pre_range_viewings, "countries").keys())) + in_range_countries = set(list(VCinemaUtils.filter_viewings(in_range_viewings, "countries").keys())) - years_before = set(list(viewings_before_year_filtered_by_year.keys())) - years_after = set(list(viewings_end_of_year_filtered_by_year.keys())) + new_countries = in_range_countries - pre_range_countries - years_diff = years_after - years_before - - print(years_diff) + print(f"New countries in range {start_date.strftime('%d-%m-%Y')} - {end_date.strftime('%d-%m-%Y')}:") + print("\n".join(new_countries)) if __name__ == '__main__': - parser = argparse.ArgumentParser(description='Update wiki pages.') + parser = argparse.ArgumentParser() - parser.add_argument('year', type=int) + parser.add_argument('start_date', type=lambda s: datetime.strptime(s, '%d-%m-%Y')) + parser.add_argument('end_date', type=lambda s: datetime.strptime(s, '%d-%m-%Y')) args = parser.parse_args() with open('../token.json') as json_file: token = json.load(json_file) - get_new_years(token['token_id'], token['token_secret'], args.year) + get_new_countries(token['token_id'], token['token_secret'], args.start_date, args.end_date)