lazy S3 keys

This commit is contained in:
Aaron Gutierrez
2021-06-18 17:17:26 -07:00
parent 595f59aa95
commit f054e5af16

5
pub.py
View File

@@ -4,6 +4,7 @@ import argparse
import os import os
import sys import sys
import subprocess import subprocess
from functools import cache
import boto3 import boto3
@@ -27,6 +28,7 @@ TYPE_MAP = {
'webp': 'image/webp', 'webp': 'image/webp',
} }
@cache
def current_keys(): def current_keys():
print('Fetching existing keys in {}'.format(BUCKET)) print('Fetching existing keys in {}'.format(BUCKET))
existing = s3.list_objects_v2(Bucket=BUCKET) existing = s3.list_objects_v2(Bucket=BUCKET)
@@ -37,10 +39,9 @@ def current_keys():
return keys return keys
EXISTING_KEYS = current_keys()
def upload_file(filename, overwrite=True): def upload_file(filename, overwrite=True):
if not overwrite and filename in EXISTING_KEYS: if not overwrite and filename in current_keys():
print('Skipping existing key {}'.format(filename)) print('Skipping existing key {}'.format(filename))
return return