Compare commits
2 Commits
1bc467ee69
...
8c79c57c58
Author | SHA1 | Date | |
---|---|---|---|
![]() |
8c79c57c58 | ||
![]() |
d41cdf41e9 |
@ -6,9 +6,11 @@ from collections import OrderedDict
|
|||||||
import imageio
|
import imageio
|
||||||
from progress.bar import IncrementalBar
|
from progress.bar import IncrementalBar
|
||||||
from pygifsicle import optimize
|
from pygifsicle import optimize
|
||||||
|
from PIL import Image, ImageFont, ImageDraw, ImageFont
|
||||||
|
import io
|
||||||
|
|
||||||
|
|
||||||
def generate_map_timelapse(token_id, token_secret):
|
def generate_map_timelapse(token_id, token_secret, filename):
|
||||||
print("Getting viewings")
|
print("Getting viewings")
|
||||||
viewings = VCinemaUtils.get_vcinema_viewings(token_id, token_secret, combine_repeat_viewings=False)
|
viewings = VCinemaUtils.get_vcinema_viewings(token_id, token_secret, combine_repeat_viewings=False)
|
||||||
|
|
||||||
@ -23,7 +25,7 @@ def generate_map_timelapse(token_id, token_secret):
|
|||||||
running_country_counts = {}
|
running_country_counts = {}
|
||||||
print(len(date_viewings.keys()))
|
print(len(date_viewings.keys()))
|
||||||
|
|
||||||
with imageio.get_writer('test.gif', mode='I', duration=0.1) as writer:
|
with imageio.get_writer(filename, mode='I', duration=0.1) as writer:
|
||||||
for date, viewings in date_viewings.items():
|
for date, viewings in date_viewings.items():
|
||||||
date_viewings_countries = VCinemaUtils.filter_viewings(viewings, "countries")
|
date_viewings_countries = VCinemaUtils.filter_viewings(viewings, "countries")
|
||||||
|
|
||||||
@ -33,21 +35,34 @@ def generate_map_timelapse(token_id, token_secret):
|
|||||||
else:
|
else:
|
||||||
running_country_counts[country] = date_viewings_countries[country]
|
running_country_counts[country] = date_viewings_countries[country]
|
||||||
|
|
||||||
image = imageio.imread(FilmsByCountry.draw_map(running_country_counts, file_name="map-{}.svg".format(date)))
|
map = FilmsByCountry.draw_map(running_country_counts, file_name="map-{}.svg".format(date))
|
||||||
|
|
||||||
|
stream = io.BytesIO(map)
|
||||||
|
img = Image.open(stream)
|
||||||
|
|
||||||
|
map_editable = ImageDraw.Draw(img)
|
||||||
|
map_editable.text((0, 0), "{}".format(date), (255, 64, 0))
|
||||||
|
|
||||||
|
img_byte_arr = io.BytesIO()
|
||||||
|
img.save(img_byte_arr, format='PNG')
|
||||||
|
img_byte_arr = img_byte_arr.getvalue()
|
||||||
|
|
||||||
|
image = imageio.imread(img_byte_arr)
|
||||||
writer.append_data(image)
|
writer.append_data(image)
|
||||||
|
|
||||||
print("optimizing")
|
print("optimizing")
|
||||||
|
|
||||||
optimize("test.gif")
|
optimize(filename)
|
||||||
|
|
||||||
print("done")
|
print("done")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
parser = argparse.ArgumentParser(description='Update wiki pages.')
|
parser = argparse.ArgumentParser(description='Create timelapse gif of vcinema countries')
|
||||||
parser.add_argument('token_id', help='API token ID.')
|
parser.add_argument('token_id', help='API token ID.')
|
||||||
parser.add_argument('token_secret', help='API token secret.')
|
parser.add_argument('token_secret', help='API token secret.')
|
||||||
|
parser.add_argument('filename', help='Name of output gif')
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
generate_map_timelapse(args.token_id, args.token_secret)
|
generate_map_timelapse(args.token_id, args.token_secret, args.filename)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user