refactor countries script

This commit is contained in:
Sarah 2022-12-18 19:12:46 +00:00
parent eab311ad9a
commit c0ec007fae

View File

@ -1,40 +1,39 @@
import argparse import argparse
from datetime import datetime from datetime import datetime, timedelta
import json import json
from progress.bar import IncrementalBar from progress.bar import IncrementalBar
from vcinema_utils import VCinemaUtils 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") print("Getting viewings")
viewings = VCinemaUtils.get_vcinema_viewings(token_id, token_secret) 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: 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) 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)) pre_range_viewings = VCinemaUtils.get_viewings_in_date_range(viewings, datetime.min, start_date - timedelta(days=1))
viewings_end_of_year = VCinemaUtils.get_viewings_before_date(viewings, datetime(day=31, month=12, year=year)) 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") pre_range_countries = set(list(VCinemaUtils.filter_viewings(pre_range_viewings, "countries").keys()))
viewings_end_of_year_filtered_by_year = VCinemaUtils.filter_viewings(viewings_end_of_year, "countries") in_range_countries = set(list(VCinemaUtils.filter_viewings(in_range_viewings, "countries").keys()))
years_before = set(list(viewings_before_year_filtered_by_year.keys())) new_countries = in_range_countries - pre_range_countries
years_after = set(list(viewings_end_of_year_filtered_by_year.keys()))
years_diff = years_after - years_before print(f"New countries in range {start_date.strftime('%d-%m-%Y')} - {end_date.strftime('%d-%m-%Y')}:")
print("\n".join(new_countries))
print(years_diff)
if __name__ == '__main__': 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() args = parser.parse_args()
with open('../token.json') as json_file: with open('../token.json') as json_file:
token = json.load(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)