manage-your-printer/utils/create_test_printers.py
2025-06-04 10:03:22 +02:00

106 lines
3.3 KiB
Python
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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!")