61 lines
1.9 KiB
Python
Executable File
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() |