sketch-a-day/admin_scripts/generate_entries.py

50 wiersze
1.5 KiB
Python
Czysty Zwykły widok Historia

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
YEAR = "2020"
base_path = "/media/villares/VolumeD/GitHub/sketch-a-day"
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-08 20:47:50 +00:00
# open the readme markdown index
with open(readme_path, 'rt') as readme:
2020-07-09 23:36:08 +00:00
lines = readme.readlines()
2020-07-08 20:47:50 +00:00
# find date of the first image
imagens = (line[line.find(YEAR):line.find(']')]
for line in lines
2020-07-06 02:37:57 +00:00
if '![' in line)
2020-07-08 20:47:50 +00:00
last_done = next(imagens)[:10]
2020-07-05 22:41:14 +00:00
# find folders after the last_done
2020-07-05 22:16:26 +00:00
new_folders = []
for f in reversed(folders):
2020-07-09 01:18:31 +00:00
if last_done not in f:
new_folders.append(f)
2020-07-05 22:16:26 +00:00
else:
2020-07-09 01:18:31 +00:00
break
# find insertion point
2020-07-08 20:47:50 +00:00
for insert_point, line in enumerate(lines):
if last_done in line:
break
# iterate on new folders
2020-07-19 03:11:50 +00:00
for folder in reversed(new_folders):
imgs = get_image_names(year_path, folder)
2020-07-09 01:18:31 +00:00
if imgs: # insert entry if matching image found
2020-07-08 20:47:50 +00:00
lines.insert(insert_point - 3,
build_entry(imgs[0], YEAR))
2020-07-19 03:14:03 +00:00
print('adding: '+ folder)
2020-07-08 20:47:50 +00:00
# overwrite the readme markdown index
with open(readme_path, 'wt') as readme:
content = "".join(lines)
2020-07-09 01:18:31 +00:00
readme.write(content)