"feat: Implement test printer functionality in admin system"

This commit is contained in:
2025-05-29 19:09:47 +02:00
parent f2bc72988b
commit ae74f4fc0c
6 changed files with 425 additions and 30 deletions

View File

@@ -0,0 +1,99 @@
#!/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': 'Ultimaker S3 #01',
'model': 'Ultimaker S3',
'location': 'Produktionshalle A',
'plug_ip': '192.168.1.100',
'status': 'available',
'active': True
},
{
'name': 'Prusa MK3S+ #02',
'model': 'Prusa MK3S+',
'location': 'Produktionshalle B',
'plug_ip': '192.168.1.101',
'status': 'offline',
'active': True
},
{
'name': 'Bambu Lab X1 #03',
'model': 'Bambu Lab X1 Carbon',
'location': 'Labor R&D',
'plug_ip': '192.168.1.102',
'status': 'available',
'active': True
},
{
'name': 'Formlabs Form 3 #04',
'model': 'Formlabs Form 3',
'location': 'Prototyping Lab',
'plug_ip': '192.168.1.103',
'status': 'maintenance',
'active': False
},
{
'name': 'Ender 3 V2 #05',
'model': 'Creality Ender 3 V2',
'location': 'Testbereich',
'plug_ip': '192.168.1.104',
'status': 'offline',
'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!")