#!/usr/bin/env python3
"""
# Script ob-file-ideas
## Metadata
**Kind**: #obsidian/ob-script
**Language**: #python
**Parent**:: [[♯ Todoist]], [[Obsidian Chore Scripts]], [[♯ IFTTT]], [[Executable Markdown File]]
## Synopsis
Use Todoist to capture ideas and archive them to Obsidian.
## Script
```python
# """
import os
import platform
import glob
from datetime import datetime, timedelta
DEBUG = os.environ.get("DEBUG", "")
def _date(date_str):
return datetime.strptime(date_str, "%Y-%m-%d").strftime("%a, %b %d, %Y")
def _tomorrow(date_str):
return (datetime.strptime(date_str, "%Y-%m-%d") + timedelta(days=1)).strftime("%Y-%m-%d")
def _yesterday(date_str):
return (datetime.strptime(date_str, "%Y-%m-%d") - timedelta(days=1)).strftime("%Y-%m-%d")
def file_ideas():
for file in glob.glob("robot/Robot Inbox/Todoist Ideas on *.txt"):
print(f"File {file}")
date = os.path.splitext(os.path.basename(file))[0].split()[-1]
journal_file = f"journal/Journal {date}.md"
if not os.path.exists(journal_file):
with open(journal_file, "w", newline="\n") as f:
f.write(f"# Journal on {_date(date)}\n\n")
f.write("## Metadata\n\n")
f.write(f"**Date**:: [[{date}]]\n")
f.write(f"**Next**:: [[Journal {_tomorrow(date)}]]\n")
f.write(f"**Prev**:: [[Journal {_yesterday(date)}]]\n")
f.write("**Kind**:: #journal\n")
with open(journal_file, "a", newline="\n") as f:
f.write("\n")
f.write("## Captured Ideas\n")
f.write("\n")
with open(file, "r") as idea_file:
f.write(idea_file.read())
os.remove(file)
if __name__ == "__main__":
if DEBUG:
print("Debug mode enabled")
file_ideas()
"""
# vim: ft=python
```
"""