Add year summary script

master
trémeur 2 years ago
parent d300f90298
commit b220032d6b

@ -5,3 +5,4 @@
- =randomline.py= returns a random line from a file - =randomline.py= returns a random line from a file
- =sponge.py= fOrMaTs tExT LiKe tHiS - =sponge.py= fOrMaTs tExT LiKe tHiS
- =workdown.py= downloads something from AO3 based on ID - =workdown.py= downloads something from AO3 based on ID
- =year-summary.py= extracts lists of books read and films watched in a year from a filetree

@ -0,0 +1,73 @@
import os
from pathlib import Path
from random import randint
from datetime import datetime
thisyear = datetime.now().strftime("%Y")
home = str(Path.home())
stats = []
def iterate(category,action,year=thisyear,date=False):
basedir = home + "/Documents/drive/org/journal/" + str(year)
count = 0
print("* " + category)
print("** " + action)
month = 1
while True:
if month < 13:
if month < 10:
monthname = basedir + "/0" + str(month)
else:
monthname = basedir + "/" + str(month)
if os.path.exists(monthname):
for file in sorted(os.listdir(monthname)):
filename = monthname + "/" + str(file)
if filename.endswith(".org"):
with open(filename, "r") as file:
lines = file.readlines()
for num, line in enumerate (lines, 0):
if str("** " + str(action)) in line:
num += 1
if num + 1 < len(lines):
if "*** " in lines[num]:
while True:
if "*** " in lines[num]:
if date == True:
print(lines[num].strip() + " " + lines[0].strip())
else:
print(lines[num].strip())
count += 1
else:
break
if num + 1 < len(lines):
num += 1
else:
break
else:
break
else:
break
else:
if num < len(lines):
if "*** " in lines[num]:
if date == True:
print(lines[num].strip() + " " + lines[0].strip())
else:
print(lines[num].strip())
count += 1
else:
break
else:
break
month += 1
stats.append(count)
def yeargrab(year=thisyear):
iterate("books","read",year)
iterate("films","watched",year)
print("* stats")
print("** books read: " + str(stats[0]))
print("** films watched: " + str(stats[1]))
if __name__ == "__main__":
yeargrab()
Loading…
Cancel
Save