sketch-a-day/admin_scripts/generate_entries.py

60 wiersze
1.8 KiB
Python
Czysty Zwykły widok Historia

2020-07-20 23:55:48 +00:00
#! /usr/bin/python3
2020-07-05 22:41:14 +00:00
# reads folder
# finds missing folders from last_done
# gets images, checks image types
# build markdown for entries
## TO DO:
2020-07-06 02:37:57 +00:00
# [X] find last entry for me
2020-07-09 01:18:31 +00:00
# [X] insert new entries in propper place
2020-07-06 02:37:57 +00:00
# [ ] insert docstrings as text on .md file
2020-07-05 22:16:26 +00:00
from os import listdir
from os.path import isfile, join
2020-07-19 03:14:03 +00:00
from helpers import get_image_names, build_entry
2020-07-05 22:16:26 +00:00
2021-01-03 01:58:07 +00:00
YEAR = "2021"
2021-01-23 02:54:23 +00:00
base_path = "/home/villares/GitHub/sketch-a-day"
# base_path = "/Users/villares/sketch-a-day" # 01046-10
2020-07-20 22:35:56 +00:00
year_path = join(base_path, YEAR)
2020-07-05 22:16:26 +00:00
folders = listdir(year_path)
2020-07-08 20:47:50 +00:00
readme_path = join(base_path, 'README.md')
2020-07-05 22:16:26 +00:00
2020-07-20 23:55:48 +00:00
if __name__ == "__main__":
# open the readme markdown index
with open(readme_path, 'rt') as readme:
lines = readme.readlines()
# find date of the first image
imagens = (line[line.find(YEAR):line.find(']')]
for line in lines
if '![' in line)
last_done = next(imagens)[:10]
print("Last entry: " + last_done)
2020-07-20 23:55:48 +00:00
# find folders after the last_done
new_folders = []
2021-01-23 02:54:23 +00:00
for f in reversed(sorted(folders)):
2020-07-20 23:55:48 +00:00
if last_done not in f:
new_folders.append(f)
else:
break
# find insertion point
for insert_point, line in enumerate(lines):
if last_done in line:
break
# iterate on new folders
for folder in reversed(new_folders):
if folder.endswith('flat'):
kind = 'flat'
else:
kind = 'pyde'
2020-07-20 23:55:48 +00:00
imgs = get_image_names(year_path, folder)
if imgs: # insert entry if matching image found
lines.insert(insert_point - 3,
build_entry(imgs[0], YEAR, kind))
print('Adding: '+ folder)
2020-07-20 23:55:48 +00:00
# overwrite the readme markdown index
with open(readme_path, 'wt') as readme:
content = "".join(lines)
readme.write(content)