Files
personnal-accounting/scripts/export_all_csv.py
2026-02-09 14:15:15 +01:00

61 lines
1.9 KiB
Python
Executable File

#!/usr/bin/env python3
"""
Dynamic script to auto-discover and process all financial statements
"""
import os
import subprocess
import sys
def main():
"""
Main function to dynamically discover and process all financial statements
"""
import argparse
parser = argparse.ArgumentParser(description='Dynamically process all financial statements')
parser.add_argument('--output-dir', default=None,
help='Directory to save CSV output files')
args = parser.parse_args()
# Get paths
script_dir = os.path.dirname(os.path.abspath(__file__))
project_root = os.path.dirname(script_dir)
data_dir = os.path.join(project_root, 'data/pdf')
# Set output directory
output_dir = args.output_dir or os.path.join(project_root, 'output/csv')
os.makedirs(output_dir, exist_ok=True)
print(f"\n{'='*60}")
print(f"Dynamic Financial Statement Processor")
print(f"Data Directory: {os.path.abspath(data_dir)}")
print(f"Output Directory: {os.path.abspath(output_dir)}")
# Build command
cmd = [sys.executable, os.path.join(script_dir, 'dynamic_processor.py'),
'--data-dir', data_dir, '--output-dir', output_dir]
# Run the dynamic processor
try:
result = subprocess.run(cmd, check=True, capture_output=True)
print(f"\nDiscovery Results:")
print(result.stdout)
if result.returncode == 0:
print(f"\n{'='*60}")
print(f"Dynamic Processing Complete: CSV files saved to {os.path.abspath(output_dir)}")
else:
print(f"\nError during dynamic processing: exit code {result.returncode}")
except subprocess.CalledProcessError as e:
print(f"\nError running dynamic processor: {e}")
if __name__ == "__main__":
from datetime import datetime
# Add date to print
print(f"Date: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
print(f"{'='*60}")
main()