#!/usr/bin/env python3 """ Script zum Erstellen von Test-Druckern für die MYP Plattform """ import sys import os sys.path.append('.') from models import * from datetime import datetime def create_test_printers(): """Erstellt Test-Drucker in der Datenbank.""" # Verbindung zur Datenbank db_session = get_db_session() # Test-Drucker Daten test_printers = [ { 'name': 'Mercedes-Benz FDM Pro #01', 'model': 'Ultimaker S5 Pro', 'location': 'Werkhalle Sindelfingen', 'plug_ip': '192.168.10.101', 'status': 'available', 'active': True }, { 'name': 'Mercedes-Benz FDM #02', 'model': 'Prusa MK3S+', 'location': 'Entwicklungszentrum Stuttgart', 'plug_ip': '192.168.10.102', 'status': 'printing', 'active': True }, { 'name': 'Mercedes-Benz SLA #01', 'model': 'Formlabs Form 3+', 'location': 'Prototypenlabor', 'plug_ip': '192.168.10.103', 'status': 'available', 'active': True }, { 'name': 'Mercedes-Benz Industrial #01', 'model': 'Stratasys F370', 'location': 'Industriehalle Bremen', 'plug_ip': '192.168.10.104', 'status': 'maintenance', 'active': False }, { 'name': 'Mercedes-Benz Rapid #01', 'model': 'Bambu Lab X1 Carbon', 'location': 'Designabteilung', 'plug_ip': '192.168.10.105', 'status': 'offline', 'active': True }, { 'name': 'Mercedes-Benz SLS #01', 'model': 'HP Jet Fusion 5200', 'location': 'Produktionszentrum Berlin', 'plug_ip': '192.168.10.106', 'status': 'available', 'active': True } ] try: created_count = 0 for printer_data in test_printers: # Prüfen ob Drucker bereits existiert existing = db_session.query(Printer).filter_by(name=printer_data['name']).first() if not existing: printer = Printer( name=printer_data['name'], model=printer_data['model'], location=printer_data['location'], plug_ip=printer_data['plug_ip'], status=printer_data['status'], active=printer_data['active'], created_at=datetime.now() ) db_session.add(printer) created_count += 1 print(f"✅ Drucker '{printer_data['name']}' erstellt") else: print(f"ℹ️ Drucker '{printer_data['name']}' existiert bereits") db_session.commit() total_count = db_session.query(Printer).count() print(f"\n🎉 {created_count} neue Test-Drucker erstellt!") print(f"📊 Insgesamt {total_count} Drucker in der Datenbank.") except Exception as e: print(f"❌ Fehler beim Erstellen der Test-Drucker: {str(e)}") db_session.rollback() finally: db_session.close() if __name__ == "__main__": print("🚀 Erstelle Test-Drucker für MYP Plattform...") create_test_printers() print("✅ Fertig!")