From c6eb143b51b0c105b157e9d408d6e9fcfaa5abfc Mon Sep 17 00:00:00 2001 From: Zach Berwaldt Date: Wed, 19 Feb 2025 20:01:21 -0500 Subject: add new command. Major refactor. --- note_tools/__init__.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'note_tools/__init__.py') diff --git a/note_tools/__init__.py b/note_tools/__init__.py index e69de29..69e6e67 100644 --- a/note_tools/__init__.py +++ b/note_tools/__init__.py @@ -0,0 +1,38 @@ +from datetime import datetime +import os +from typing import List, Optional, Tuple + + +class NoteBaseCommand(object): + date = None + + def file_name(self): + return f"{self.date.strftime('%Y%m%d')}.md" + + def get_formatted_dates(self) -> Tuple[str, str]: + return (self.date.strftime("%Y%m%d"), self.date.strftime("%Y-%m-%d")) + + def get_date(self) -> datetime: + return datetime.now() + + def get_date_parts(self) -> Tuple[str]: + return (self.date.strftime('%Y'), self.date.strftime('%m'), self.date.strftime('%d')) + + def write_file_heading(self, file_path): + date_yyyymmdd = self.date.strftime('%Y-%m-%d') + underline = '=' * len(date_yyyymmdd) + with open(file_path, 'w') as file: + file.write(f"{date_yyyymmdd}\n{underline}\n\n\n") + + def parse_file_date (self, file_name: str) -> Tuple[str, str]: + year = file_name[:4] + month = file_name[4:6] + return year, month + + def get_notes_path(self, project_data) -> Optional[str]: + if project_data and 'folders' in project_data: + for folder in project_data['folders']: + folder_path = folder['path'] + if os.path.basename(folder_path).lower() == "notes": + return folder_path + return None -- cgit v1.1