Fix: Session-Zugriff außerhalb des Request-Kontexts behoben

Problem: RuntimeError beim Zugriff auf session in Generator-Funktionen
Lösung:
- Liniendaten werden vor dem Generator aus der Session gelesen
- Als Parameter an detect_objects_from_webcam() übergeben
- Als Parameter an detect_objects_from_video() übergeben
- Reset-Button lädt jetzt die Seite neu (mit Bestätigungsdialog)

Technische Details:
- Generator-Funktionen haben keinen Request-Kontext
- Session-Werte müssen vor Generator-Start erfasst werden
- Counter-Reset funktioniert durch Seiten-Reload

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-08 14:48:09 +00:00
parent 504f8c0b69
commit 9145872ef1
3 changed files with 44 additions and 55 deletions

View File

@@ -174,18 +174,18 @@
});
resetCountBtn.addEventListener('click', () => {
fetch('/api/reset_count', {
method: 'POST',
headers: { 'Content-Type': 'application/json' }
})
.then(res => res.json())
.then(data => {
console.log('Count reset:', data);
infoText.textContent = 'Zähler wurde zurückgesetzt!';
setTimeout(() => {
infoText.textContent = 'Klicke auf "Zähllinie setzen" und dann zweimal auf das Video, um die Zähllinie zu definieren.';
}, 2000);
});
if (confirm('Zähler zurücksetzen? Die Seite wird neu geladen.')) {
fetch('/api/reset_count', {
method: 'POST',
headers: { 'Content-Type': 'application/json' }
})
.then(res => res.json())
.then(data => {
console.log('Count reset:', data);
// Reload page to reset the video stream and counter
location.reload();
});
}
});
function drawLine() {

View File

@@ -174,18 +174,18 @@
});
resetCountBtn.addEventListener('click', () => {
fetch('/api/reset_count', {
method: 'POST',
headers: { 'Content-Type': 'application/json' }
})
.then(res => res.json())
.then(data => {
console.log('Count reset:', data);
infoText.textContent = 'Zähler wurde zurückgesetzt!';
setTimeout(() => {
infoText.textContent = 'Klicke auf "Zähllinie setzen" und dann zweimal auf das Video, um die Zähllinie zu definieren.';
}, 2000);
});
if (confirm('Zähler zurücksetzen? Die Seite wird neu geladen.')) {
fetch('/api/reset_count', {
method: 'POST',
headers: { 'Content-Type': 'application/json' }
})
.then(res => res.json())
.then(data => {
console.log('Count reset:', data);
// Reload page to reset the video stream and counter
location.reload();
});
}
});
function drawLine() {