diff --git a/__pycache__/app.cpython-313.pyc b/__pycache__/app.cpython-313.pyc index 05c01a1..7fff259 100644 Binary files a/__pycache__/app.cpython-313.pyc and b/__pycache__/app.cpython-313.pyc differ diff --git a/app.py b/app.py index dc16d02..32e8a8a 100644 --- a/app.py +++ b/app.py @@ -2867,4 +2867,225 @@ def get_science_mindmap(): except Exception as e: app.logger.error(f"Fehler beim Abrufen der Wissenschafts-Mindmap-Daten: {str(e)}") + return jsonify({"error": "Fehler beim Abrufen der Mindmap-Daten"}), 500 + +@app.route('/api/mindmap/root') +def get_root_mindmap(): + """ + Gibt die Root-Mindmap zurück, um Kompatibilität mit dem Frontend sicherzustellen. + """ + app.logger.info("Root-Mindmap-Daten werden angefordert.") + + try: + # Fallback-Daten + nodes = [ + { + "id": "center", + "name": "Wissenskarte", + "description": "Zentrale Wissenskarte mit allen Hauptthemen", + "is_center": True, + "color_code": "#f5f5f5", + "has_children": True + }, + { + "id": "philosophy", + "name": "Philosophie", + "description": "Die Lehre vom Denken und der Erkenntnis", + "category": "Philosophie", + "has_children": True, + "color_code": "#9F7AEA" + }, + { + "id": "science", + "name": "Wissenschaft", + "description": "Systematische Erforschung der Natur und Gesellschaft", + "category": "Wissenschaft", + "has_children": True, + "color_code": "#f4b400" + }, + { + "id": "technology", + "name": "Technologie", + "description": "Anwendung wissenschaftlicher Erkenntnisse", + "category": "Technologie", + "has_children": True, + "color_code": "#0d47a1" + }, + { + "id": "arts", + "name": "Künste", + "description": "Kreativer Ausdruck und künstlerische Gestaltung", + "category": "Künste", + "has_children": True, + "color_code": "#c2185b" + } + ] + + edges = [ + {"source_id": "center", "target_id": "philosophy", "strength": 0.9}, + {"source_id": "center", "target_id": "science", "strength": 0.9}, + {"source_id": "center", "target_id": "technology", "strength": 0.9}, + {"source_id": "center", "target_id": "arts", "strength": 0.9} + ] + + response = { + "nodes": nodes, + "edges": edges + } + + return jsonify(response) + + except Exception as e: + app.logger.error(f"Fehler beim Abrufen der Root-Mindmap-Daten: {str(e)}") + app.logger.error(f"Stack Trace: {traceback.format_exc()}") + return jsonify({"error": "Fehler beim Abrufen der Mindmap-Daten"}), 500 + +@app.route('/api/mindmap/technology') +def get_technology_mindmap(): + """ + Gibt die Technologie-Mindmap zurück für Frontend-Kompatibilität. + """ + app.logger.info("Technologie-Mindmap-Daten werden angefordert.") + + try: + nodes = [ + { + "id": "ai", + "name": "Künstliche Intelligenz", + "description": "Maschinelles Lernen und intelligente Systeme", + "category": "Technologie", + "has_children": True, + "color_code": "#0d47a1" + }, + { + "id": "robotics", + "name": "Robotik", + "description": "Entwicklung und Steuerung von Robotern", + "category": "Technologie", + "has_children": True, + "color_code": "#0d47a1" + }, + { + "id": "quantum_computing", + "name": "Quantencomputing", + "description": "Computer basierend auf Quantenmechanik", + "category": "Technologie", + "has_children": True, + "color_code": "#0d47a1" + } + ] + + edges = [ + {"source_id": "technology", "target_id": "ai", "strength": 0.8}, + {"source_id": "technology", "target_id": "robotics", "strength": 0.8}, + {"source_id": "technology", "target_id": "quantum_computing", "strength": 0.8} + ] + + return jsonify({ + "nodes": nodes, + "edges": edges + }) + + except Exception as e: + app.logger.error(f"Fehler beim Abrufen der Technologie-Mindmap-Daten: {str(e)}") + return jsonify({"error": "Fehler beim Abrufen der Mindmap-Daten"}), 500 + +@app.route('/api/mindmap/arts') +def get_arts_mindmap(): + """ + Gibt die Künste-Mindmap zurück für Frontend-Kompatibilität. + """ + app.logger.info("Künste-Mindmap-Daten werden angefordert.") + + try: + nodes = [ + { + "id": "visual_arts", + "name": "Bildende Kunst", + "description": "Malerei, Bildhauerei und andere visuelle Kunstformen", + "category": "Künste", + "has_children": True, + "color_code": "#c2185b" + }, + { + "id": "music", + "name": "Musik", + "description": "Tonkunst und musikalische Komposition", + "category": "Künste", + "has_children": True, + "color_code": "#c2185b" + }, + { + "id": "literature", + "name": "Literatur", + "description": "Schriftliche Kunstwerke und Poesie", + "category": "Künste", + "has_children": True, + "color_code": "#c2185b" + } + ] + + edges = [ + {"source_id": "arts", "target_id": "visual_arts", "strength": 0.8}, + {"source_id": "arts", "target_id": "music", "strength": 0.8}, + {"source_id": "arts", "target_id": "literature", "strength": 0.8} + ] + + return jsonify({ + "nodes": nodes, + "edges": edges + }) + + except Exception as e: + app.logger.error(f"Fehler beim Abrufen der Künste-Mindmap-Daten: {str(e)}") + return jsonify({"error": "Fehler beim Abrufen der Mindmap-Daten"}), 500 + +@app.route('/api/mindmap/philosophy') +def get_philosophy_mindmap(): + """ + Gibt die Philosophie-Mindmap zurück für Frontend-Kompatibilität. + """ + app.logger.info("Philosophie-Mindmap-Daten werden angefordert.") + + try: + nodes = [ + { + "id": "epistemology", + "name": "Erkenntnistheorie", + "description": "Untersuchung der Natur und Grenzen menschlicher Erkenntnis", + "category": "Philosophie", + "has_children": True, + "color_code": "#9F7AEA" + }, + { + "id": "ethics", + "name": "Ethik", + "description": "Lehre vom moralisch richtigen Handeln", + "category": "Philosophie", + "has_children": True, + "color_code": "#9F7AEA" + }, + { + "id": "metaphysics", + "name": "Metaphysik", + "description": "Grundfragen des Seins und der Wirklichkeit", + "category": "Philosophie", + "has_children": True, + "color_code": "#9F7AEA" + } + ] + + edges = [ + {"source_id": "philosophy", "target_id": "epistemology", "strength": 0.8}, + {"source_id": "philosophy", "target_id": "ethics", "strength": 0.8}, + {"source_id": "philosophy", "target_id": "metaphysics", "strength": 0.8} + ] + + return jsonify({ + "nodes": nodes, + "edges": edges + }) + + except Exception as e: + app.logger.error(f"Fehler beim Abrufen der Philosophie-Mindmap-Daten: {str(e)}") return jsonify({"error": "Fehler beim Abrufen der Mindmap-Daten"}), 500 \ No newline at end of file diff --git a/logs/app.log b/logs/app.log index f09d30e..6a8b47d 100644 --- a/logs/app.log +++ b/logs/app.log @@ -1654,3 +1654,45 @@ Traceback (most recent call last): raise NotFound() from None werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:92] +2025-05-11 00:25:16,218 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:25:16,341 INFO: Anwendung gestartet [in c:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:25:18,084 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:25:18,084 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:25:18,150 INFO: Anwendung gestartet [in c:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:25:18,150 INFO: Anwendung gestartet [in c:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:25:50,265 INFO: Anwendung gestartet [in c:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:25:50,550 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:25:52,203 INFO: Anwendung gestartet [in c:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:25:52,203 INFO: Anwendung gestartet [in c:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:25:52,540 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:25:52,540 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:08,171 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:08,723 INFO: Anwendung gestartet [in c:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:09,921 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:09,921 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:10,531 INFO: Anwendung gestartet [in c:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:10,531 INFO: Anwendung gestartet [in c:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:17,600 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:19,401 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:19,401 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:23,252 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:24,981 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:24,981 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:34,600 INFO: Anwendung gestartet [in c:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:34,665 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:34,883 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:36,383 INFO: Anwendung gestartet [in c:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:36,383 INFO: Anwendung gestartet [in c:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:36,545 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:36,545 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:36,795 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:26:36,795 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:27:34,510 INFO: Anwendung gestartet [in c:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:27:34,734 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:27:34,822 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:27:36,344 INFO: Anwendung gestartet [in c:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:27:36,344 INFO: Anwendung gestartet [in c:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:27:36,676 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:27:36,676 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:27:36,724 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76] +2025-05-11 00:27:36,724 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:76]