Meta: Port several things common to various Python scripts to a new website module

This commit is contained in:
Eryn Wells 2024-11-17 14:49:33 -08:00
parent a30903c8cf
commit 9ce6362402
6 changed files with 70 additions and 34 deletions

View file

@ -9,20 +9,16 @@ import argparse
import datetime
import json
import os.path
import re
import shutil
import subprocess
from PIL import Image
from PIL.ExifTags import TAGS
from typing import Optional
from website.metadata import slugify
PHOTOS_CONTENT_DIR = 'content/photos'
def slugify(s):
s = s.strip().lower()
s = re.sub(r'\s+', '-', s)
s = re.sub(r'[‘’“”"\'()]', '', s)
return s
def parse_args(argv, *a, **kw):
parser = argparse.ArgumentParser(*a, **kw)
@ -34,6 +30,7 @@ def parse_args(argv, *a, **kw):
args = parser.parse_args(argv)
return args
def main(argv):
args = parse_args(argv[1:], prog=argv[0])
@ -145,6 +142,7 @@ def main(argv):
print(f'Failed to copy {photo}', file=sys.stderr)
return -2
if __name__ == '__main__':
import sys
result = main(sys.argv)