Add SQLite passive income dashboard with Excel import and deployment tools
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Usage: python scripts/import_excel.py workbook.xlsx [--db ./data/finance.db]."""
|
||||
import argparse
|
||||
from pathlib import Path
|
||||
import sys
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parents[1] / 'app'))
|
||||
from models import money
|
||||
from services.excel_import import import_excel
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description='Ertragsbuch aus dem ersten XLSX-Blatt nach SQLite importieren.')
|
||||
parser.add_argument('filename', type=Path)
|
||||
parser.add_argument('--db', type=Path, help='Alternativer Datenbankpfad, Standard: FINANCE_DB_PATH oder /data/finance.db')
|
||||
parser.add_argument('--dry-run', action='store_true', help='Transaktion zurückrollen; Datenbank/Seed werden bei Bedarf angelegt.')
|
||||
args = parser.parse_args()
|
||||
try:
|
||||
result = import_excel(args.filename, args.db, args.dry_run)
|
||||
except ImportError:
|
||||
parser.exit(1, 'Importbibliothek fehlt: pip install -r requirements-import.txt\n')
|
||||
except Exception as error:
|
||||
parser.exit(1, f'Import abgebrochen: {error}\n')
|
||||
print(f"{'Vorschau' if result['dry_run'] else 'Import'}: {result['rows']} Buchungen, {result['added']} neu, {result['skipped']} bereits vorhanden.")
|
||||
for warning in result['warnings']:
|
||||
print(warning)
|
||||
print(f"Plausibilitätscheck September 2026: {money(result['september_2026'])} (Referenz 3,71 €).")
|
||||
print(f"Enbridge 02.09.2026 / 0,04 €: {'gefunden' if result['enbridge_check'] else 'nicht gefunden'}.")
|
||||
if result['september_2026'] != 371:
|
||||
print('Hinweis: September-Summe weicht vom historischen Referenzstand ab; Buchungen prüfen.')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user