From 5645c4e575b539eb8c3391ba7ea2ca2b949a5435 Mon Sep 17 00:00:00 2001 From: Sarah Date: Fri, 25 Mar 2022 22:17:11 +0000 Subject: [PATCH] simplify scripts for big script --- .../update_films_by_country.cpython-37.pyc | Bin 0 -> 4178 bytes .../update_films_by_year.cpython-37.pyc | Bin 0 -> 2200 bytes update_films_by_country.py | 78 ++++++------------ update_films_by_year.py | 40 ++------- 4 files changed, 32 insertions(+), 86 deletions(-) create mode 100644 __pycache__/update_films_by_country.cpython-37.pyc create mode 100644 __pycache__/update_films_by_year.cpython-37.pyc diff --git a/__pycache__/update_films_by_country.cpython-37.pyc b/__pycache__/update_films_by_country.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..38084cec97492eb246e06dfd45ddcfb767a763ac GIT binary patch literal 4178 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 literal 0 HcmV?d00001 diff --git a/update_films_by_country.py b/update_films_by_country.py index 654658d..eb1bc48 100644 --- a/update_films_by_country.py +++ b/update_films_by_country.py @@ -1,7 +1,5 @@ -from bookstack import Bookstack from vcinema_utils import VCinemaUtils -import argparse import base64 from collections import Counter, OrderedDict import csv @@ -12,6 +10,31 @@ import worldmap import warnings warnings.filterwarnings("ignore") +# Page ID of https://wiki.jacknet.io/books/vcinema/page/films-by-country +FILMS_BY_COUNTRY_PAGE_ID = 34 + + +def get_films_by_country(viewings): + viewings_filtered_by_country = VCinemaUtils.filter_viewings(viewings, "countries") + + return viewings_filtered_by_country + + +def build_page(films_by_country): + country_count = len(films_by_country.keys()) + with IncrementalBar('Generating table', max=country_count, suffix='%(percent).1f%% - %(eta)ds remaining', check_tty=False) as bar: + film_by_country_table = build_table(films_by_country, bar) + + print("Drawing map") + country_counter = Counter(films_by_country) + png_data = draw_map(country_counter) + encoded = base64.b64encode(png_data).decode("utf-8") + image_html = "".format(encoded) + + page = image_html + film_by_country_table + + return page + def get_flags_dict(): flags = {} @@ -75,7 +98,7 @@ def draw_map(counter, file_name="vcinema_map.svg"): opacity = [0.5 + (x / (float(max_count))/2.0) for x in counts] - worldmap.plot(countries, cmap=["#49E20E"], opacity=opacity, filename=file_name, verbose=False) + worldmap.plot(countries, cmap=["#FF4000"], opacity=opacity, filename=file_name, verbose=False) with Image(filename=file_name, width=1000, height=655) as i: png_data = i.make_blob("png") @@ -83,52 +106,3 @@ def draw_map(counter, file_name="vcinema_map.svg"): os.remove(file_name) return png_data - - -def update_page(map_png, table, wiki_url, token_id, token_secret): - page_id = 34 - - encoded = base64.b64encode(map_png).decode("utf-8") - - image_html = "".format(encoded) - - page_contents = image_html + table - - Bookstack.update_page(wiki_url, token_id, token_secret, page_id, html=page_contents) - - -def update_films_by_country(token_id, token_secret): - print("Retrieving VCinema viewings") - viewings = VCinemaUtils.get_vcinema_viewings(token_id, token_secret) - - viewing_count = len(viewings) - - with IncrementalBar('Retrieving movie data', max=viewing_count, suffix='%(percent).1f%% - %(eta)ds remaining', check_tty=False) as bar: - VCinemaUtils.add_imdb_data_to_viewings(viewings, ['countries'], bar) - - with IncrementalBar('Processing viewing data', max=viewing_count, suffix='%(percent).1f%% - %(eta)ds remaining', check_tty=False) as bar: - viewings_by_country = VCinemaUtils.filter_viewings(viewings, 'countries', bar) - - country_count = len(viewings_by_country.keys()) - with IncrementalBar('Generating table', max=country_count, suffix='%(percent).1f%% - %(eta)ds remaining', check_tty=False) as bar: - film_by_country_table = build_table(viewings_by_country, bar) - - print("Drawing map") - country_counter = Counter(viewings_by_country) - png_data = draw_map(country_counter) - - print("Updating page") - - update_page(png_data, film_by_country_table, VCinemaUtils.JACKNET_WIKI_URL, token_id, token_secret) - - print("Done!") - - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description='Update page displaying VCinema films sorted by country.') - parser.add_argument('token_id', help='API token ID.') - parser.add_argument('token_secret', help='API token secret.') - - args = parser.parse_args() - - update_films_by_country(args.token_id, args.token_secret) diff --git a/update_films_by_year.py b/update_films_by_year.py index 6902f06..583dfaf 100644 --- a/update_films_by_year.py +++ b/update_films_by_year.py @@ -1,14 +1,17 @@ -import argparse from collections import OrderedDict -from progress.bar import IncrementalBar -from bookstack import Bookstack from vcinema_utils import VCinemaUtils # Page ID of https://wiki.jacknet.io/books/vcinema/page/films-by-release-year FILMS_BY_YEAR_PAGE_ID = 24 +def get_films_by_year(viewings): + viewings_filtered_by_year = VCinemaUtils.filter_viewings(viewings, "year") + + return viewings_filtered_by_year + + def build_page(films_by_year, progressbar=None): films_by_year_sorted = OrderedDict(sorted(films_by_year.items(), key=lambda t: t[0], reverse=True)) @@ -26,34 +29,3 @@ def build_page(films_by_year, progressbar=None): progressbar.finish() return page_table - - -def update_films_by_year(token_id, token_secret): - print("Retrieving VCinema viewings") - viewings = VCinemaUtils.get_vcinema_viewings(token_id, token_secret) - - viewing_count = len(viewings) - with IncrementalBar('Retrieving movie data', max=viewing_count, suffix='%(percent).1f%% - %(eta)ds remaining', check_tty=False) as bar: - VCinemaUtils.add_imdb_data_to_viewings(viewings, ['year'], bar) - - with IncrementalBar('Processing viewing data', max=viewing_count, suffix='%(percent).1f%% - %(eta)ds remaining', check_tty=False) as bar: - viewings_by_year = VCinemaUtils.filter_viewings(viewings, 'year', bar) - - year_count = len(viewings_by_year) - with IncrementalBar('Generating table', max=year_count, suffix='%(percent).1f%% - %(eta)ds remaining', check_tty=False) as bar: - films_by_year_page = build_page(viewings_by_year, bar) - - print("Updating page") - Bookstack.update_page(VCinemaUtils.JACKNET_WIKI_URL, token_id, token_secret, FILMS_BY_YEAR_PAGE_ID, markdown=films_by_year_page) - - print("Done!") - - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description='Update page displaying VCinema films sorted by release year.') - parser.add_argument('token_id', help='API token ID.') - parser.add_argument('token_secret', help='API token secret.') - - args = parser.parse_args() - - update_films_by_year(args.token_id, args.token_secret)