From 55706b1b2ca79ccb71a344007b215145a4da59a6 Mon Sep 17 00:00:00 2001 From: Aaron Gutierrez Date: Mon, 26 Dec 2022 10:54:38 -0700 Subject: [PATCH] cleanup publish script --- pub.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pub.py b/pub.py index 72c50a1..25cbe92 100755 --- a/pub.py +++ b/pub.py @@ -9,13 +9,16 @@ from functools import cache import boto3 + BUCKET='ski.aarongutierrez.com' DISTRIBUTION='ELFNI2LSHJUNK' + session = boto3.Session(profile_name='push') s3 = session.client('s3') cloudfront = session.client('cloudfront') + TYPE_MAP = { 'css': 'text/css', 'gif': 'image/gif', @@ -27,9 +30,11 @@ TYPE_MAP = { 'webp': 'image/webp', } + CSS_FILE = 'site.css' BUNDLE_FILE = 'dist/bundle.js' + def cache_length(ext): if ext == 'html': return '86400' @@ -38,6 +43,7 @@ def cache_length(ext): else: return '31536000' + @cache def current_keys(): print('Fetching existing keys in {}'.format(BUCKET)) @@ -49,6 +55,7 @@ def current_keys(): return keys + def upload_file(filename, overwrite=True): ext = filename.split('.')[-1] @@ -64,6 +71,7 @@ def upload_file(filename, overwrite=True): }) print('\tDone.') + def set_default_object(key): config = cloudfront.get_distribution_config(Id=DISTRIBUTION) @@ -79,17 +87,18 @@ def set_default_object(key): print('\tDone.') - def filter_filenames(filenames, ext): for f in filenames: if (isinstance(ext, (list,)) and (f.split('.')[-1] in ext) \ or f.split('.')[-1] == ext): yield f + def file_sha(filename): output = subprocess.check_output(['shasum', '-a', '256', filename]) return output.decode().split(' ')[0] + def upload_root(): subprocess.check_call(['webpack']) @@ -124,19 +133,19 @@ def upload_root(): set_default_object(index_filename) -def upload_bundle(): - upload_file('dist/bundle.js') def upload_original(): files = filter_filenames(os.listdir('img'), ['jpg', 'webp']) for f in files: upload_file('img/{}'.format(f), overwrite=False) + def upload_thumbnail(size): files = filter_filenames(os.listdir('img/{}'.format(size)), ['jpg', 'webp']) for f in files: upload_file('img/{0}/{1}'.format(size, f), overwrite=False) + def upload_images(): upload_original() upload_thumbnail(200)