#!/usr/bin/env python3 import os import re # Path to the folder containing Org mode files org_folder_path = '/mnt/Data/Documents/org-files/org-roam/daily/' # Regular expression pattern to match timestamped headers pattern = r'^\* ([0-9]{2}:[0-9]{2})$' # Function to extract the most recent entry content from an Org mode file def extract_most_recent_entry_content(org_file_path): recent_entry_content = [] recent_entry_timestamp = None in_properties_section = False with open(org_file_path, 'r') as file: for line in file: line = line.strip() match = re.match(pattern, line) if match: # Capture the timestamp of the most recent entry recent_entry_timestamp = match.group(1) recent_entry_content = [] in_properties_section = False # Reset flag for properties section elif line.startswith(':properties:'): in_properties_section = True elif line.startswith(':end:') and in_properties_section: in_properties_section = False elif not in_properties_section and line: # Append non-empty lines outside properties section to recent entry content recent_entry_content.append(line) return recent_entry_timestamp, recent_entry_content # Function to find the most recent Org mode file in a folder def find_most_recent_org_file(folder_path): # Get a list of all files in the folder files = os.listdir(folder_path) org_files = [f for f in files if f.endswith('.org')] if not org_files: print("No Org mode files found in the specified folder.") return None # Sort files by modification time (most recent first) org_files.sort(key=lambda f: os.path.getmtime(os.path.join(folder_path, f)), reverse=True) # Choose the most recent Org mode file most_recent_org_file = os.path.join(folder_path, org_files[0]) return most_recent_org_file # Find the most recent Org mode file in the specified folder most_recent_file_path = find_most_recent_org_file(org_folder_path) # If a recent file is found, extract and display the most recent entry content if most_recent_file_path: recent_entry_timestamp, recent_entry_content = extract_most_recent_entry_content(most_recent_file_path) if recent_entry_content: # Print the header with the timestamp of the most recent entry if recent_entry_timestamp: print(f"Most Recent Entry ({recent_entry_timestamp}):") # Print the content of the most recent entry print('\n'.join(recent_entry_content)) else: print("No recent entry found in the Org mode file.") else: print("No Org mode files found in the specified folder.")