diff --git a/backend/FRONTEND_ASSETS_ANALYSE.md b/backend/FRONTEND_ASSETS_ANALYSE.md deleted file mode 100644 index f37de1af0..000000000 --- a/backend/FRONTEND_ASSETS_ANALYSE.md +++ /dev/null @@ -1,276 +0,0 @@ -# Frontend Assets Analyse - MYP Backend - -## Zusammenfassung der Analyse - -Diese umfassende Analyse identifiziert ungenutzte Templates, redundante Assets und Optimierungsmöglichkeiten im MYP-Backend. - -## 1. Template-Verwendung Analyse - -### ✅ Aktiv verwendete Templates - -**Haupttemplates:** -- `base.html` - Basis-Layout (⭐ Kritisch) -- `admin.html` - Unified Admin Panel -- `dashboard.html` - Haupt-Dashboard -- `login.html` - Login-Seite -- `printers.html` - Drucker-Übersicht -- `jobs.html` - Aufträge-Verwaltung -- `stats.html` - Statistiken -- `calendar.html` - Kalender-Ansicht - -**Error-Templates:** -- `errors/400.html`, `errors/403.html`, `errors/404.html`, `errors/405.html` -- `errors/413.html`, `errors/429.html`, `errors/500.html`, `errors/502.html` -- `errors/503.html`, `errors/505.html` - -**Admin-Templates:** -- `admin_add_user.html`, `admin_add_printer.html` -- `admin_edit_user.html`, `admin_edit_printer.html` -- `admin_guest_requests.html`, `admin_guest_otps.html` -- `admin_tapo_monitoring.html`, `admin_plug_schedules.html` -- `admin_advanced_settings.html` - -**Guest-Templates:** -- `guest_request.html`, `guest_start_job.html`, `guest_job_status.html` -- `guest_status.html`, `guest_status_check.html` -- `guest_requests_overview.html`, `guest_requests_by_email.html` - -**User-Templates:** -- `profile.html`, `settings.html` - -**Legal-Templates:** -- `imprint.html`, `privacy.html`, `terms.html`, `legal.html` -- `system_info.html` - -**Tapo-Templates:** -- `tapo_control.html`, `tapo_manual_control.html` - -### ❌ Ungenutzte Templates (Zum Löschen geeignet) - -**Root-Level (nicht referenziert):** -- `404.html` ❌ (dupliziert durch `errors/404.html`) -- `500.html` ❌ (dupliziert durch `errors/500.html`) -- `admin_modern.html` ❌ (nicht mehr verwendet) -- `admin_manage_printer.html` ❌ (Redundant) -- `admin_printer_settings.html` ❌ (Legacy) -- `admin_settings.html` ❌ (durch unified admin ersetzt) -- `analytics.html` ❌ (nicht implementiert) -- `csrf_test.html` ❌ (nur Debug-Tool) -- `energy_dashboard.html` ❌ (nicht aktiv verwendet) -- `index.html` ❌ (nicht geroutet) -- `new_job.html` ❌ (durch jobs.html ersetzt) -- `socket_test.html` ❌ (nur für Tests) - -**Admin-Templates (Legacy/Redundant):** -- `admin_guest_requests_overview.html` ❌ (redundant) - -**Ungenutzte Verzeichnisse:** -- `jobs/new.html` ❌ (nicht referenziert) -- `macros/ui_components.html` ❌ (nicht verwendet) - -## 2. CSS-Asset Analyse - -### 💾 Größte CSS-Dateien (Optimierungsbedarf) - -**TailwindCSS:** -- `tailwind.min.css` - 212KB ⚠️ -- `tailwind.min.css.gz` - 360KB ⚠️ (Größer als Original!) -- `output.css` - 244KB ⚠️ -- `output.min.css` - 208KB - -**Input-CSS (Redundant):** -- `input.css` - 100KB ❌ -- `input.min.css` - 80KB ❌ -- `input-original-backup.css` - 100KB ❌ -- `input-raspberry-optimized.css` - 20KB ❌ -- `input-raspberry-balanced.css` - 16KB ❌ - -**Redundante CSS-Dateien:** -- `dist/` Verzeichnis - 484KB ❌ (Build-Artefakte) -- `build/` Verzeichnis - 108KB ❌ (Build-Artefakte) -- Alle `.css.gz` Dateien die größer sind als Original ❌ - -### ✅ Wichtige CSS-Dateien (Behalten) - -- `dark-light-unified.css` - 20KB ✅ -- `components.css` - 20KB ✅ -- `glassmorphism.css` - 8KB ✅ -- `professional-theme.css` - 24KB ✅ - -### 🗑️ CSS-Dateien zum Löschen - -```bash -# Redundante Input-Dateien -input.css (100KB) -input.min.css (80KB) -input-original-backup.css (100KB) -input-original-backup.min.css (76KB) -input-raspberry-optimized.css (20KB) -input-raspberry-balanced.css (16KB) - -# Build-Verzeichnisse -dist/ (484KB) -build/ (108KB) - -# Defekte Gzip-Dateien (größer als Original) -tailwind.min.css.gz (360KB vs 212KB Original) -``` - -## 3. JavaScript-Asset Analyse - -### 💾 Größte JS-Dateien - -**Chart Libraries:** -- `charts/` - 936KB ⚠️ (ApexCharts - möglicherweise unused) -- `fullcalendar/` - 392KB ✅ (aktiv verwendet) - -**Große JS-Dateien:** -- `glassmorphism-notifications.js` - 64KB ⚠️ -- `admin-unified.js` - 64KB ✅ -- `admin-panel.js` - 44KB ❌ (redundant durch unified) -- `admin-guest-requests.js` - 44KB ❌ (redundant) -- `job-manager.js` - 36KB ✅ -- `conflict-manager.js` - 32KB ✅ - -### 🗑️ JavaScript-Dateien zum Löschen - -```bash -# Redundante Admin-Dateien -admin-panel.js (44KB) -admin-guest-requests.js (44KB) - -# Überdimensionierte Notification-Datei -glassmorphism-notifications.js (64KB) - -# Möglicherweise ungenutzte Features -charts/ (936KB) - Prüfung erforderlich -optimization-features.js (32KB) -``` - -## 4. Redundante Template-Bereiche - -### Admin-Panel Consolidierung - -Das System verwendet sowohl: -- `admin.html` (Unified) ✅ -- `admin_modern.html` ❌ (Legacy) -- Verschiedene einzelne Admin-Templates ⚠️ - -**Empfehlung:** Alle Admin-Funktionen in `admin.html` konsolidieren. - -### Error-Page Duplikate - -- Root-Level: `404.html`, `500.html` ❌ -- Errors-Verzeichnis: `errors/404.html`, `errors/500.html` ✅ - -**Empfehlung:** Root-Level Error-Pages löschen. - -## 5. Broken Links Analyse - -### Template-Referenzen - -**✅ Korrekte Referenzen (base.html):** -```html - - - - - -``` - -**⚠️ Potenziell problematische Referenzen:** -- HTMX-Integration lädt nur bei Bedarf ✅ -- Chart-Libraries möglicherweise nicht überall genutzt ⚠️ - -## 6. Asset-Optimierungsempfehlungen - -### Sofortige Maßnahmen (Platz sparen) - -**1. Template-Cleanup (ca. 50KB gespart):** -```bash -rm templates/404.html templates/500.html -rm templates/admin_modern.html -rm templates/admin_manage_printer.html -rm templates/admin_settings.html -rm templates/analytics.html -rm templates/energy_dashboard.html -rm templates/index.html -rm templates/new_job.html -rm templates/socket_test.html -rm -rf templates/jobs/ -rm -rf templates/macros/ -``` - -**2. CSS-Cleanup (ca. 800KB gespart):** -```bash -rm static/css/input*.css -rm static/css/input*.min.css -rm -rf static/css/dist/ -rm -rf static/css/build/ -rm static/css/*.css.gz # Defekte Gzip-Dateien -``` - -**3. JavaScript-Cleanup (ca. 200KB gespart):** -```bash -rm static/js/admin-panel.js -rm static/js/admin-guest-requests.js -rm static/js/glassmorphism-notifications.js -``` - -### Mittelfristige Optimierungen - -**1. CSS-Optimierung:** -- TailwindCSS purging aktivieren (von 212KB auf ~50KB) -- Nur benötigte FontAwesome-Icons bundeln -- CSS-Splitting nach Seitenbereichen - -**2. JavaScript-Optimierung:** -- Chart-Library Lazy Loading -- JavaScript-Bundling optimieren -- Tree-shaking für ungenutzte Funktionen - -**3. Asset-Komprimierung:** -- Korrekte Gzip-Komprimierung (aktuell defekt) -- Brotli-Komprimierung hinzufügen -- Cache-Strategien optimieren - -### Langfristige Empfehlungen - -**1. Template-Architektur:** -- Unified Admin-Template weiter ausbauen -- Komponenten-basierte Template-Struktur -- Template-Inheritance optimieren - -**2. Asset-Pipeline:** -- Webpack/Vite für Asset-Bundling -- Automatisches Dead-Code-Removal -- Performance-Monitoring - -**3. Loading-Strategien:** -- Critical CSS inline -- Non-critical CSS deferred -- JavaScript-Module lazy loading - -## 7. Zusammenfassung der Einsparungen - -**Sofortige Einsparungen:** -- Templates: ~50KB -- CSS: ~800KB -- JavaScript: ~200KB -- **Gesamt: ~1MB** (ca. 20% Reduktion) - -**Potenzielle weitere Einsparungen:** -- TailwindCSS Purging: ~150KB -- Chart-Library Optimization: ~500KB -- **Zusätzlich: ~650KB** - -**Gesamtpotenzial: ~1.65MB Reduktion (ca. 35% kleiner)** - -## 8. Nächste Schritte - -1. **Sofort:** Ungenutzte Templates und CSS löschen -2. **Diese Woche:** JavaScript-Cleanup durchführen -3. **Nächste Woche:** TailwindCSS Purging aktivieren -4. **Nächster Monat:** Asset-Pipeline überarbeiten - -Diese Optimierungen verbessern besonders die Performance auf Raspberry Pi-Systemen und reduzieren Ladezeiten erheblich. \ No newline at end of file diff --git a/backend/PROJEKT_ANALYSE_VOLLSTÄNDIGER_BERICHT.md b/backend/PROJEKT_ANALYSE_VOLLSTÄNDIGER_BERICHT.md deleted file mode 100644 index 76830c3db..000000000 --- a/backend/PROJEKT_ANALYSE_VOLLSTÄNDIGER_BERICHT.md +++ /dev/null @@ -1,348 +0,0 @@ -# MYP Backend - Vollständige Projektanalyse - -**Datum:** 19. Juni 2025 -**Projekt:** MYP (Manage Your Printers) Backend-System -**Zielumgebung:** Raspberry Pi mit Debian/Linux -**Analysezeitraum:** Gründliche Codebase-Durchsicht mit 68 Python-Dateien, 66 Templates, 7506 JavaScript-Dateien - ---- - -## 📋 Executive Summary - -Das MYP-Backend ist ein **funktionsfähiges, aber überladenes System** mit erheblichem Optimierungspotential. Durch systematische Bereinigung können **35% des Codes**, **1.5MB Frontend-Assets** und **40% der Import-Zeit** eingespart werden. - -### **Hauptbefunde:** -- ✅ **Solide Architektur** mit modernen Flask-Patterns -- ⚠️ **62% ungenutzte Imports** (788 von 1.271) -- ⚠️ **29% redundante Funktionen** (326 von 1.126) -- ⚠️ **35% optimierbare Frontend-Assets** (1.7MB von 5MB) -- ❌ **Massive Legacy-Code-Belastung** (3.849 Zeilen löschbar) - ---- - -## 🔍 Detaillierte Analyseergebnisse - -### **1. Projektstruktur (✅ Gut organisiert)** - -``` -Backend-Dateien: 68 Python-Dateien -Frontend-Assets: 66 Templates, 7506 JS-Dateien -Gesamtcodezeilen: ~35.000 Zeilen -Datenbankmodelle: 11 (10 aktiv, 1 ungenutzt) -Blueprints: 15 Module -Utils: 24 Dateien (überdimensioniert) -``` - -**Bewertung:** Die Projektstruktur folgt Flask-Best-Practices mit klarer Trennung von Blueprints, Models und Utils. Jedoch deutliche Überorganisation in einigen Bereichen. - ---- - -### **2. Import-Hygiene (❌ Kritisches Problem)** - -#### **Quantifizierte Ergebnisse:** -- **1.271 Imports insgesamt** -- **788 ungenutzte Imports (62%)** -- **65 von 68 Dateien betroffen (96%)** -- **142 redundante Import-Typen** - -#### **Kritische Problembereiche:** -```python -# app.py - 59 ungenutzte Imports -from uuid import uuid4 # ❌ Nie verwendet -from contextlib import contextmanager # ❌ Nie verwendet -from utils.permissions import * # ❌ Wildcard-Import - -# models.py - 32 ungenutzte Imports -from typing import Optional, List, Dict # ❌ Typing nie verwendet -from sqlalchemy import text # ❌ Nur in Kommentaren - -# Jede Blueprint-Datei - ~20-30 ungenutzte Imports -from flask import session, jsonify # ❌ Oft nicht verwendet -``` - -#### **Erwartete Verbesserungen nach Cleanup:** -- **30-40% schnellere App-Start-Zeit** -- **5-10% weniger Speicherverbrauch** -- **Bessere IDE-Performance** -- **Klarere Abhängigkeiten** - ---- - -### **3. Funktionale Redundanz (⚠️ Erhebliche Probleme)** - -#### **Dead Code (Legacy-Belastung):** -```python -# legacy/app_original.py - 2.262 Zeilen -# ❌ Komplette alte App-Version noch vorhanden -# 💡 EMPFEHLUNG: Sofort löschen (0% Risiko) - -# 10 Tool-/Analysedateien in Production - 1.587 Zeilen -form_test_automator.py -template_analysis_tool.py -template_problem_analysis.py -# 💡 EMPFEHLUNG: Nach /tools/ verschieben -``` - -#### **Blueprint-Redundanz:** -```python -# api.py vs api_simple.py -@app.route('/api/printers') # ❌ Doppelt implementiert -@app.route('/simple/printers') # ❌ Nicht verwendet - -# 💡 EMPFEHLUNG: api_simple.py entfernen (-130 Zeilen) -``` - -#### **Utils-Chaos (24 Dateien für ~8 Kategorien):** -``` -Aktuell: 24 Utils-Dateien -Optimal: 8 konsolidierte Module -Einsparung: ~2.000 Zeilen Code -``` - -#### **Funktionale Dopplungen:** -```python -# Status-Checking (3x implementiert) -get_printer_status() # printers.py -check_printer_status() # admin_unified.py -printer_status_check() # tapo_control.py - -# Permission-System (3x implementiert) -# ⚠️ Sicherheitsrisiko durch Inkonsistenz -``` - ---- - -### **4. Frontend-Assets (⚠️ Optimierungsbedarf)** - -#### **Template-Status:** -- ✅ **42 aktiv verwendete Templates** -- ❌ **13 ungenutzte Templates** (löschbar) -- ⚠️ **Redundante Error-Pages** (404.html, 500.html doppelt) - -#### **Asset-Größen und Probleme:** -``` -CSS: 47 Dateien, größte tailwind.min.css (212KB) - ❌ TailwindCSS nicht gepurged - ❌ Redundante Build-Dateien - -JavaScript: 84 Dateien, charts/ (936KB) - ❌ Chart-Library möglicherweise oversized - ❌ admin-panel.js ersetzt durch admin-unified.js - -Gzip-Files: Mehrere defekte .gz-Dateien (größer als Original!) -``` - -#### **Optimierungspotential:** -``` -Aktuelle Größe: ~5MB Frontend-Assets -Nach Cleanup: ~3.35MB (35% Einsparung) -Kritisch für Raspberry Pi Performance -``` - ---- - -### **5. Datenbank-Performance (⚠️ Verbesserungsbedarf)** - -#### **Modell-Status:** -- ✅ **10 aktive Modelle** (User, Printer, Job, etc.) -- ❌ **1 ungenutztes Modell** (SystemTimer - 23 Felder, 0 Verwendungen) - -#### **Performance-Probleme:** -```python -# 78+ ineffiziente Queries -printers = db_session.query(Printer).all() # ❌ Lädt ALLE ohne Limit -jobs = db_session.query(Job).all() # ❌ Potentiell tausende Jobs - -# 10+ N+1 Query-Probleme -for job in jobs: - print(job.user.name) # ❌ Separate Query pro Job - print(job.printer.name) # ❌ Separate Query pro Job - -# 32+ fehlende Indizes -# ❌ Foreign Keys ohne Index -# ❌ Status-Felder ohne Index -# ❌ Datum-Felder ohne Index -``` - -#### **Kritische fehlende Indizes:** -```sql --- Höchste Priorität -CREATE INDEX ix_jobs_user_id ON jobs(user_id); -CREATE INDEX ix_jobs_printer_id ON jobs(printer_id); -CREATE INDEX ix_jobs_status ON jobs(status); -CREATE INDEX ix_guest_requests_email ON guest_requests(email); -CREATE INDEX ix_notifications_user_id ON notifications(user_id); -``` - ---- - -## 🎯 Priorisierte Empfehlungen - -### **Phase 1: Sofortige Gewinne (1-2 Tage, 0% Risiko)** - -#### **Legacy-Code-Entfernung:** -```bash -# Sofort löschbar (3.849 Zeilen) -rm legacy/app_original.py # -2.262 Zeilen -mkdir tools/ -mv form_test_automator.py tools/ # -1.587 Zeilen -mv template_analysis*.py tools/ -rm blueprints/api_simple.py # -130 Zeilen - -# Erwartete Verbesserung: 15% Code-Reduktion, 200KB weniger -``` - -#### **Defekte Assets-Bereinigung:** -```bash -# Frontend-Cleanup (1MB Einsparung) -rm static/css/input*.css # Redundante TailwindCSS -rm -rf static/build/ static/dist/ # Build-Artifacts -rm static/js/admin-panel.js # Ersetzt durch admin-unified.js - -# Gzip-Dateien reparieren -find static/ -name "*.gz" -exec bash -c 'test $(stat -c%s "$1") -gt $(stat -c%s "${1%.gz}") && rm "$1"' _ {} \; -``` - -### **Phase 2: Import-Bereinigung (2-3 Tage, niedriges Risiko)** - -#### **Automatische Bereinigung sicherer Imports:** -```bash -# Nutze bereitgestellte Tools -python cleanup_imports.py --safe-mode -# Bereinigt ~400 sichere typing/unused imports -``` - -#### **Manuelle Bereinigung kritischer Dateien:** -```python -# app.py - Entferne diese Imports: -# from uuid import uuid4 -# from contextlib import contextmanager -# from utils.permissions import * - -# models.py - Entferne alle typing.*-Imports -# from typing import Optional, List, Dict, Any -``` - -### **Phase 3: Datenbank-Optimierung (3-4 Tage, mittleres Risiko)** - -#### **Index-Erstellung:** -```python -# Migration script -def add_critical_indexes(): - with get_db_session() as session: - session.execute(text("CREATE INDEX ix_jobs_user_id ON jobs(user_id)")) - session.execute(text("CREATE INDEX ix_jobs_printer_id ON jobs(printer_id)")) - session.execute(text("CREATE INDEX ix_jobs_status ON jobs(status)")) - session.commit() -``` - -#### **Query-Optimierung:** -```python -# Ersetze alle .all()-Queries mit .limit() -# Aktiviere Eager Loading für Relationships -# Implementiere Query-Result-Caching -``` - -### **Phase 4: Langfristige Architektur (1-2 Wochen)** - -#### **Utils-Konsolidierung:** -``` -24 Utils-Dateien → 8 konsolidierte Module: -- security_manager.py (5 Dateien zusammenfassen) -- hardware_manager.py (4 Dateien zusammenfassen) -- data_manager.py (6 Dateien zusammenfassen) -- system_manager.py (5 Dateien zusammenfassen) -``` - -#### **Service-Layer-Pattern:** -```python -# Zentrale Business-Logic-Services -class PrinterService: - def get_status(self, printer_id) # Vereinheitlicht 3 Implementierungen - def control_power(self, printer_id) # Zentralisiert Tapo-Integration - -class JobService: - def create_job(self, user_id, printer_id) # Einheitliche Job-Erstellung - def get_jobs_with_relations(self) # Optimierte Queries -``` - ---- - -## 📊 Erwartete Verbesserungen - -### **Performance-Metriken:** - -| Bereich | Vorher | Nachher | Verbesserung | -|---------|--------|---------|--------------| -| **App-Start-Zeit** | ~8s | ~5s | **37% schneller** | -| **Speicherverbrauch** | ~180MB | ~140MB | **22% weniger** | -| **Frontend-Assets** | 5MB | 3.35MB | **35% kleiner** | -| **Codezeilen** | 35.000 | 28.000 | **20% weniger** | -| **Import-Zeit** | ~2.5s | ~1.5s | **40% schneller** | -| **Datenbankzugriff** | ~150ms | ~80ms | **47% schneller** | - -### **Wartbarkeits-Verbesserungen:** -- **50% bessere IDE-Performance** durch weniger Imports -- **Klarere Abhängigkeiten** durch Import-Hygiene -- **Einfachere Debugging** durch weniger redundanten Code -- **Bessere Testbarkeit** durch konsolidierte Services - -### **Raspberry Pi-spezifische Gewinne:** -- **Schnellerer Boot** durch weniger Code-Laden -- **Weniger SD-Karten-I/O** durch optimierte Assets -- **Bessere RAM-Effizienz** durch Database-Optimierungen -- **Stabilere Performance** durch Index-Nutzung - ---- - -## 🔧 Risikomanagement - -### **Backup-Strategie:** -```bash -# Vor jeder Änderung -cp -r backend/ backup_$(date +%Y%m%d_%H%M%S)/ -git commit -am "Backup vor Optimierung" -``` - -### **Rollback-Plan:** -```bash -# Bei Problemen - automatische Wiederherstellung -python cleanup_imports.py --restore -git reset --hard HEAD~1 # Letzte Änderung rückgängig -``` - -### **Stufenweise Einführung:** -1. **Erst Development-Server** testen -2. **Staging-Environment** validieren -3. **Production-Rollout** mit Blue-Green-Deployment - ---- - -## 🏁 Fazit und nächste Schritte - -Das MYP-Backend zeigt eine **solide Grundarchitektur** mit **modernen Flask-Patterns**, leidet jedoch unter typischen Problemen gewachsener Systeme: - -### **Positiv:** -- ✅ Klare Blueprint-Struktur -- ✅ Moderne SQLAlchemy-Nutzung -- ✅ Gute Sicherheitsimplementierung -- ✅ Raspberry Pi-spezifische Optimierungen bereits vorhanden - -### **Verbesserungsbedarf:** -- ❌ Massive Import-Verschwendung (62% ungenutzt) -- ❌ Legacy-Code-Belastung (11% der Codebase) -- ❌ Frontend-Asset-Bloat (35% optimierbar) -- ❌ Fehlende Datenbank-Indizes (kritisch für Performance) - -### **Empfohlene Sofortmaßnahme:** -**Beginnen Sie mit Phase 1 (Legacy-Code-Entfernung)** - dies bietet den größten Nutzen bei null Risiko und reduziert die Codebase sofort um 15%. - -### **Langfristige Vision:** -Ein **schlankes, performantes System** mit ~28.000 Zeilen Code statt 35.000, optimiert für Raspberry Pi-Hardware und mit klarer, wartbarer Architektur. - -**Die Analyse zeigt: Das System ist grundsätzlich gut gebaut, benötigt aber systematisches Refactoring um sein volles Potential auf der Zielplattform zu entfalten.** - ---- - -**Analysiert von:** Claude Code -**Vollständige Analyse-Dateien verfügbar in:** `/backend/` (import_analysis_report.json, REDUNDANZ_ANALYSE_FINAL.md, FRONTEND_ASSETS_ANALYSE.md, database_analysis_detailed.md) \ No newline at end of file diff --git a/backend/REDUNDANZ_ANALYSE_FINAL.md b/backend/REDUNDANZ_ANALYSE_FINAL.md deleted file mode 100644 index 76ff6bc34..000000000 --- a/backend/REDUNDANZ_ANALYSE_FINAL.md +++ /dev/null @@ -1,250 +0,0 @@ -# Detaillierte Redundanz- und Dead-Code-Analyse - MYP Backend - -**Analysedatum:** 19. Juni 2025 -**Analysierte Dateien:** 70 Python-Dateien -**Gefundene Funktionen:** 1.126 - -## Executive Summary - -Das MYP Backend zeigt typische Anzeichen eines gewachsenen Projekts mit erheblicher Code-Redundanz und strukturellen Überlappungen. Die Analyse identifiziert **kritische Bereiche für Refactoring** ohne dabei die Funktionalität zu beeinträchtigen. - -## 🔴 Kritische Dead-Code-Probleme - -### 1. Ungenutzte Error-Handler (app.py) - -**Funktion:** `handle_exception()` (Zeile 1728-1760) -- **Problem:** Allgemeiner Exception-Handler, aber Flask nutzt spezifische Error-Handler -- **Empfehlung:** Entfernen - wird nie erreicht -- **Dateigröße-Einsparung:** 33 Zeilen - -**Funktion:** `internal_error()` (Zeile 1662-1688) -- **Problem:** Doppelt mit handle_exception() - redundant -- **Empfehlung:** Konsolidierung mit handle_exception() - -### 2. Ungenutzte Utility-Funktionen - -#### utils/drag_drop_system.py -**Funktion:** `validate_file_upload()` (Zeile 402-414) -- **Problem:** Nie aufgerufen, Upload-Validierung erfolgt in blueprints/uploads.py -- **Empfehlung:** Löschen oder in uploads.py integrieren - -#### utils/job_scheduler.py -**Funktion:** `update_task()` (Zeile 81-89) -- **Problem:** Nicht implementiert, nur TODO-Kommentar -- **Empfehlung:** Implementieren oder entfernen - -## 🔄 Massive Redundanz-Probleme - -### 1. Mehrfache API-Blueprints - -**Problem:** Zwei separate API-Blueprints mit überlappender Funktionalität - -| Datei | URL-Prefix | Hauptzweck | Status | -|-------|------------|------------|--------| -| `blueprints/api.py` | `/api` | Allgemeine APIs, WebSocket-Fallback | ✅ Behalten | -| `blueprints/api_simple.py` | `/api/v1` | Tapo-spezifische APIs | 🔄 **Konsolidieren** | - -**Empfehlung:** -- Tapo-Endpunkte aus `api_simple.py` nach `blueprints/tapo_control.py` verschieben -- `api_simple.py` entfernen -- **Dateieinsparung:** Komplette Datei (130+ Zeilen) - -### 2. Printer-Status-Funktionen (3x implementiert) - -**Redundante Implementierungen:** -1. `blueprints/printers.py:213` - `get_printer_status()` -2. `blueprints/jobs.py:51` - `check_printer_status()` -3. `legacy/app_original.py:2190` - `check_printer_status()` - -**Empfehlung:** -- Nutze `utils/hardware_integration.py` als Single Source of Truth -- Entferne die 3 redundanten Funktionen -- **Codezeilen-Einsparung:** ~50 Zeilen - -### 3. Permission-Checking (3x implementiert) - -**Redundante Implementierungen:** -1. `utils/security_suite.py:111` - `check_permission()` -2. `models.py:512` - `has_permission()` -3. `utils/security_suite.py:73` - `has_permission()` - -**Problem:** Inkonsistente Permission-Prüfung führt zu Sicherheitslücken - -**Empfehlung:** -- Konsolidiere in `utils/permissions.py` -- Verwende einheitliche Decorator: `@require_permission()` - -## 📁 Strukturelle Redundanz - -### 1. Utils-Verzeichnis Chaos (24 Dateien!) - -**Redundante Kategorien:** - -#### Database-Handling (3 Dateien) -- `database_cleanup.py` - Alte Daten löschen -- `database_suite.py` - DB-Operationen -- `data_management.py` - Backup/Restore - -**Empfehlung:** Konsolidiere zu `utils/database.py` - -#### Security (3 Dateien) -- `security_suite.py` - Allgemeine Sicherheit -- `ip_security.py` - IP-Validierung -- `ip_validation.py` - IP-Prüfung - -**Empfehlung:** Konsolidiere zu `utils/security.py` - -#### SSL-Management (2 Dateien) -- `ssl_manager.py` - SSL-Zertifikate -- `ssl_suite.py` - SSL-Konfiguration - -**Empfehlung:** Konsolidiere zu `utils/ssl.py` - -#### Job-Management (2 Dateien) -- `job_scheduler.py` - Cron-Jobs -- `job_queue_system.py` - Job-Queue - -**Empfehlung:** Konsolidiere zu `utils/jobs.py` - -### 2. Backup-Funktionen (3x implementiert) - -**Redundante Implementierungen:** -1. `cleanup_imports.py:74` - `create_backup()` -2. `blueprints/admin_unified.py:923` - `create_backup()` -3. `utils/data_management.py:290` - `create_backup()` - -**Empfehlung:** Nutze nur `utils/data_management.py` Version - -## 🗑️ Legacy-Code-Probleme - -### 1. Veraltete Dateien - -**legacy/app_original.py (2.262 Zeilen!)** -- **Problem:** Komplette alte App-Version noch vorhanden -- **Empfehlung:** **SOFORT LÖSCHEN** -- **Dateigröße-Einsparung:** 2.262 Zeilen, ~80KB - -### 2. Test-/Debug-Dateien in Production - -**Nicht-productive Dateien die entfernt werden können:** -- `function_analysis_tool.py` (316 Zeilen) -- `manual_redundancy_analysis.py` (266 Zeilen) -- `template_analysis_tool.py` (194 Zeilen) -- `template_problem_analysis.py` (155 Zeilen) -- `import_analyzer.py` (348 Zeilen) -- `cleanup_imports.py` (308 Zeilen) - -**Empfehlung:** Verschiebe in separates `/tools` Verzeichnis - -## 📊 Quantitative Einsparungen - -### Sofort löschbare Dateien/Funktionen: - -| Kategorie | Dateien/Funktionen | Zeilen | Einsparung | -|-----------|-------------------|--------|------------| -| Legacy-Code | 1 Datei | 2.262 | 🔴 **HOCH** | -| Tool-Dateien | 6 Dateien | 1.587 | 🟡 **MITTEL** | -| Redundante APIs | 1 Datei | 130 | 🟡 **MITTEL** | -| Dead-Code-Funktionen | ~15 Funktionen | ~200 | 🟢 **NIEDRIG** | -| **GESAMT** | **23 Dateien/Funktionen** | **4.179** | **~150KB** | - -### Konsolidierungen (mittelfristig): - -| Kategorie | Dateien | Aktuelle Zeilen | Nach Konsolidierung | Einsparung | -|-----------|---------|----------------|-------------------|------------| -| Utils-Kategorien | 16 → 8 | ~4.500 | ~2.500 | **44%** | -| Blueprint-Redundanz | 2 → 1 | 280 | 200 | **29%** | -| Status-Funktionen | 3 → 1 | 150 | 50 | **67%** | - -## 🎯 Priorisierte Empfehlungen - -### Phase 1: Sofortmaßnahmen (< 1 Tag) -1. **🔴 KRITISCH:** `legacy/app_original.py` löschen (-2.262 Zeilen) -2. **🔴 KRITISCH:** Tool-Dateien nach `/tools` verschieben (-1.587 Zeilen) -3. **🟡 WICHTIG:** `blueprints/api_simple.py` entfernen (-130 Zeilen) - -### Phase 2: Konsolidierungen (2-3 Tage) -1. **Utils-Kategorien** zusammenfassen (8 Dateien → 4 Dateien) -2. **Permission-System** vereinheitlichen -3. **Status-Checking** konsolidieren - -### Phase 3: Architektur-Cleanup (1 Woche) -1. **Einheitliche API-Struktur** implementieren -2. **Service-Layer** für Hardware-Integration -3. **Konsistente Error-Handling** Strategie - -## 💡 Langfristige Architektur-Verbesserungen - -### 1. Service-Layer-Pattern -``` -/services - ├── printer_service.py # Zentrale Drucker-Logik - ├── tapo_service.py # Hardware-Integration - ├── user_service.py # User-Management - └── job_service.py # Job-Verarbeitung -``` - -### 2. Einheitliche Utils-Struktur -``` -/utils - ├── database.py # Konsolidiert: database_*, data_management - ├── security.py # Konsolidiert: security_*, ip_* - ├── ssl.py # Konsolidiert: ssl_* - └── jobs.py # Konsolidiert: job_* -``` - -### 3. Clean API-Architektur -``` -/api - ├── v1/ # Versionierte API - │ ├── printers.py - │ ├── jobs.py - │ └── users.py - └── internal/ # Interne APIs - ├── status.py - └── monitoring.py -``` - -## ⚠️ Risiko-Assessment - -### Geringe Risiken (Sofort umsetzbar): -- Legacy-Dateien löschen -- Tool-Dateien verschieben -- Ungenutzte Error-Handler entfernen - -### Mittlere Risiken (Testing erforderlich): -- API-Blueprint-Konsolidierung -- Utils-Zusammenlegung -- Permission-System-Vereinheitlichung - -### Hohe Risiken (Umfangreiches Testing): -- Service-Layer-Einführung -- Database-Layer-Refactoring - -## 🔍 Code-Quality-Metriken - -**Vor Cleanup:** -- Zeilen of Code: ~35.000 -- Funktionen: 1.126 -- Duplizierte Logik: ~25% -- Dead Code: ~8% - -**Nach Cleanup (Prognose):** -- Zeilen of Code: ~28.000 (-20%) -- Funktionen: ~800 (-29%) -- Duplizierte Logik: ~10% (-60%) -- Dead Code: ~2% (-75%) - ---- - -## Fazit - -Das MYP Backend zeigt typische Symptome eines gewachsenen Projekts, ist aber durch **systematisches Refactoring erheblich verbesserbar**. Die größten Einsparungen ergeben sich durch: - -1. **Legacy-Code-Entfernung** (2.262 Zeilen) -2. **Utils-Konsolidierung** (2.000+ Zeilen) -3. **API-Strukturbereinigung** (300+ Zeilen) - -**Gesamteinsparung:** ~20% des Codes bei **verbesserter Maintainability** und **reduzierter technischer Schuld**. - -Die empfohlene **3-Phasen-Strategie** minimiert Risiken und ermöglicht kontinuierliche Verbesserung ohne Produktionsstörungen. \ No newline at end of file diff --git a/backend/app.py.backup_manual_20250619_205758 b/backend/app.py.backup_manual_20250619_205758 deleted file mode 100644 index f2f0cbbdf..000000000 --- a/backend/app.py.backup_manual_20250619_205758 +++ /dev/null @@ -1,2000 +0,0 @@ -""" -Hauptanwendung für das 3D-Druck-Management-System - -Diese Datei initialisiert die Flask-Anwendung und registriert alle Blueprints. -Die eigentlichen Routen sind in den jeweiligen Blueprint-Modulen definiert. -""" - -import os -import sys -import logging -import atexit -import signal -import pickle -import hashlib -from datetime import datetime, timedelta -from flask import Flask, render_template, request, jsonify, redirect, url_for, session, abort, send_from_directory, flash -from flask_login import LoginManager, current_user, logout_user, login_required -from flask_wtf import CSRFProtect -from flask_wtf.csrf import CSRFError -from sqlalchemy import event -from contextlib import contextmanager -import threading -import uuid - -# ===== MINIMALE SESSION-DATENKLASSE ===== -class MinimalSessionInterface: - """Minimale Session-Implementierung zur Reduzierung der Cookie-Größe""" - - @staticmethod - def reduce_session_data(): - """Reduziert Session-Daten auf absolutes Minimum""" - from flask import session - - # Nur kritische Daten behalten - essential_keys = ['_user_id', '_id', '_fresh', 'csrf_token'] - - # Alle nicht-essentiellen Keys entfernen - keys_to_remove = [] - for key in session.keys(): - if key not in essential_keys: - keys_to_remove.append(key) - - for key in keys_to_remove: - session.pop(key, None) - - @staticmethod - def get_minimal_session_data(): - """Gibt nur minimale Session-Daten zurück""" - from flask import session - return { - 'user_id': session.get('_user_id'), - 'session_id': session.get('_id'), - 'is_fresh': session.get('_fresh', False) - } - -# Globale Session-Interface-Instanz -minimal_session = MinimalSessionInterface() - -# ===== SESSION-OPTIMIERUNG ===== -class SessionManager: - """Optimierter Session-Manager für große Session-Daten""" - - def __init__(self, app=None): - self.app = app - self.session_storage_path = None - - def init_app(self, app): - """Initialisiert den Session-Manager für die Flask-App""" - self.app = app - self.session_storage_path = os.path.join( - app.instance_path, 'sessions' - ) - os.makedirs(self.session_storage_path, exist_ok=True) - - def store_large_session_data(self, key, data): - """Speichert große Session-Daten im Dateisystem""" - if not self.session_storage_path: - return False - - try: - session_id = session.get('session_id') - if not session_id: - session_id = hashlib.md5( - f"{request.remote_addr}_{datetime.now().isoformat()}".encode() - ).hexdigest() - session['session_id'] = session_id - - file_path = os.path.join( - self.session_storage_path, - f"{session_id}_{key}.pkl" - ) - - with open(file_path, 'wb') as f: - pickle.dump(data, f) - - # Nur Referenz in Session speichern - session[f"{key}_ref"] = True - - return True - except Exception as e: - logging.error(f"Fehler beim Speichern der Session-Daten: {e}") - return False - - def load_large_session_data(self, key): - """Lädt große Session-Daten aus dem Dateisystem""" - if not self.session_storage_path: - return None - - try: - session_id = session.get('session_id') - if not session_id or not session.get(f"{key}_ref"): - return None - - file_path = os.path.join( - self.session_storage_path, - f"{session_id}_{key}.pkl" - ) - - if not os.path.exists(file_path): - return None - - with open(file_path, 'rb') as f: - return pickle.load(f) - - except Exception as e: - logging.error(f"Fehler beim Laden der Session-Daten: {e}") - return None - - def cleanup_expired_sessions(self): - """Bereinigt abgelaufene Session-Dateien""" - if not self.session_storage_path: - return - - try: - current_time = datetime.now() - for filename in os.listdir(self.session_storage_path): - file_path = os.path.join(self.session_storage_path, filename) - file_time = datetime.fromtimestamp(os.path.getmtime(file_path)) - - # Lösche Dateien älter als 24 Stunden - if current_time - file_time > timedelta(hours=24): - os.remove(file_path) - - except Exception as e: - logging.error(f"Fehler bei Session-Cleanup: {e}") - -# Globaler Session-Manager -session_manager = SessionManager() - -# ===== PRODUCTION-KONFIGURATION ===== -class ProductionConfig: - """Production-Konfiguration für Mercedes-Benz TBA Marienfelde Air-Gapped Environment - - Enthält alle Performance-Optimierungen, die vorher in OptimizedConfig waren, - plus Production-spezifische Sicherheits- und Compliance-Einstellungen. - """ - - # Umgebung - ENV = 'production' - DEBUG = False - TESTING = False - - # Performance-Optimierungen (ehemals OptimizedConfig) - OPTIMIZED_MODE = True - USE_MINIFIED_ASSETS = True - DISABLE_ANIMATIONS = True - LIMIT_GLASSMORPHISM = True - - # Sicherheit (SECRET_KEY wird später gesetzt) - WTF_CSRF_ENABLED = True - WTF_CSRF_TIME_LIMIT = 3600 # 1 Stunde - - # Session-Sicherheit - SESSION_COOKIE_SECURE = True # HTTPS erforderlich - SESSION_COOKIE_HTTPONLY = True - SESSION_COOKIE_SAMESITE = 'Strict' - # PERMANENT_SESSION_LIFETIME wird später gesetzt - - # Performance-Optimierungen - SEND_FILE_MAX_AGE_DEFAULT = 31536000 # 1 Jahr Cache für statische Dateien - TEMPLATES_AUTO_RELOAD = False - EXPLAIN_TEMPLATE_LOADING = False - - # Upload-Beschränkungen - MAX_CONTENT_LENGTH = 100 * 1024 * 1024 # 100MB für Production - - # JSON-Optimierungen - JSON_SORT_KEYS = False - JSONIFY_PRETTYPRINT_REGULAR = False - JSONIFY_MIMETYPE = 'application/json' - - # Logging-Level - LOG_LEVEL = 'INFO' - - # Air-Gapped Einstellungen - OFFLINE_MODE = True - DISABLE_EXTERNAL_APIS = True - USE_LOCAL_ASSETS_ONLY = True - - # Datenbank-Performance - SQLALCHEMY_TRACK_MODIFICATIONS = False - SQLALCHEMY_POOL_RECYCLE = 3600 - SQLALCHEMY_POOL_TIMEOUT = 20 - SQLALCHEMY_ENGINE_OPTIONS = { - 'pool_pre_ping': True, - 'pool_recycle': 3600, - 'echo': False - } - - # Security Headers - SECURITY_HEADERS = { - 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains', - 'X-Content-Type-Options': 'nosniff', - 'X-Frame-Options': 'DENY', - 'X-XSS-Protection': '1; mode=block', - 'Referrer-Policy': 'strict-origin-when-cross-origin', - 'Content-Security-Policy': "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self';" - } - - # Mercedes-Benz Corporate Compliance - COMPANY_NAME = "Mercedes-Benz TBA Marienfelde" - ENVIRONMENT_NAME = "Production Air-Gapped" - COMPLIANCE_MODE = True - AUDIT_LOGGING = True - - # Monitoring - ENABLE_METRICS = True - ENABLE_HEALTH_CHECKS = True - ENABLE_PERFORMANCE_MONITORING = True - -# ===== DEVELOPMENT-KONFIGURATION ===== -class DevelopmentConfig: - """Development-Konfiguration für lokale Entwicklung - - Konsolidiert alle Nicht-Production-Modi (development, default, fallback). - Optimiert für Entwicklerfreundlichkeit und Debugging. - """ - - # Umgebung - ENV = 'development' - DEBUG = True - TESTING = False - - # Performance (moderat optimiert für bessere Entwicklererfahrung) - OPTIMIZED_MODE = False - USE_MINIFIED_ASSETS = False - DISABLE_ANIMATIONS = False - LIMIT_GLASSMORPHISM = False - - # Sicherheit (relaxed für Development) - WTF_CSRF_ENABLED = True - WTF_CSRF_TIME_LIMIT = 7200 # 2 Stunden für längere Dev-Sessions - - # Session-Sicherheit (relaxed) - SESSION_COOKIE_SECURE = False # HTTP OK für Development - SESSION_COOKIE_HTTPONLY = True - SESSION_COOKIE_SAMESITE = 'Lax' - - # Performance (Developer-freundlich) - SEND_FILE_MAX_AGE_DEFAULT = 1 # Keine Cache für Development - TEMPLATES_AUTO_RELOAD = True - EXPLAIN_TEMPLATE_LOADING = True - - # Upload-Beschränkungen (generous für Testing) - MAX_CONTENT_LENGTH = 50 * 1024 * 1024 # 50MB für Development - - # JSON (Pretty für Debugging) - JSON_SORT_KEYS = True - JSONIFY_PRETTYPRINT_REGULAR = True - JSONIFY_MIMETYPE = 'application/json' - - # Logging-Level - LOG_LEVEL = 'DEBUG' - - # Entwicklungs-Einstellungen - OFFLINE_MODE = False - DISABLE_EXTERNAL_APIS = False - USE_LOCAL_ASSETS_ONLY = False - - # Datenbank (Developer-freundlich) - SQLALCHEMY_TRACK_MODIFICATIONS = True # Für Debugging - SQLALCHEMY_POOL_RECYCLE = 1800 # 30 Minuten - SQLALCHEMY_POOL_TIMEOUT = 30 - SQLALCHEMY_ENGINE_OPTIONS = { - 'pool_pre_ping': True, - 'pool_recycle': 1800, - 'echo': True # SQL-Logging für Development - } - - # Development-spezifische Einstellungen - COMPANY_NAME = "MYP Development Environment" - ENVIRONMENT_NAME = "Development/Testing" - COMPLIANCE_MODE = False - AUDIT_LOGGING = False - - # Monitoring (minimal für Development) - ENABLE_METRICS = False - ENABLE_HEALTH_CHECKS = False - ENABLE_PERFORMANCE_MONITORING = False - -def detect_raspberry_pi(): - """Erkennt ob das System auf einem Raspberry Pi läuft""" - try: - with open('/proc/cpuinfo', 'r') as f: - cpuinfo = f.read() - if 'Raspberry Pi' in cpuinfo or 'BCM' in cpuinfo: - return True - except: - pass - - try: - import platform - machine = platform.machine().lower() - if 'arm' in machine or 'aarch64' in machine: - return True - except: - pass - - return os.getenv('FORCE_OPTIMIZED_MODE', '').lower() in ['true', '1', 'yes'] - -def detect_production_environment(): - """Erkennt ob das System in der Production-Umgebung läuft""" - # Command-line Argument - if '--production' in sys.argv: - return True - - # Umgebungsvariable - env = os.getenv('FLASK_ENV', '').lower() - if env in ['production', 'prod']: - return True - - # Spezifische Production-Variablen - if os.getenv('USE_PRODUCTION_CONFIG', '').lower() in ['true', '1', 'yes']: - return True - - # Mercedes-Benz spezifische Erkennung - if os.getenv('MERCEDES_ENVIRONMENT', '').lower() == 'production': - return True - - # Air-Gapped Environment Detection - if os.getenv('AIR_GAPPED_MODE', '').lower() in ['true', '1', 'yes']: - return True - - # Hostname-basierte Erkennung - try: - import socket - hostname = socket.gethostname().lower() - if any(keyword in hostname for keyword in ['prod', 'production', 'live', 'mercedes', 'tba']): - return True - except: - pass - - # Automatische Production-Erkennung für Raspberry Pi oder Low-Memory-Systeme - if detect_raspberry_pi(): - return True - - try: - import psutil - memory_gb = psutil.virtual_memory().total / (1024**3) - if memory_gb < 2.0: # Unter 2GB RAM = wahrscheinlich Production-Umgebung - return True - except: - pass - - return False - -def get_environment_type(): - """Bestimmt den Umgebungstyp - nur noch production oder development""" - if detect_production_environment(): - return 'production' - else: - return 'development' - -# ===== GLOBALE KONFIGURATIONSVARIABLEN ===== -# Diese werden später nach den Funktionsdefinitionen gesetzt - -# Windows-spezifische Fixes -if os.name == 'nt': - try: - from utils.core_system import get_windows_thread_manager - print("[OK] Windows-Fixes (sichere Version) geladen") - except ImportError as e: - get_windows_thread_manager = None - print(f"[WARN] Windows-Fixes nicht verfügbar: {str(e)}") -else: - get_windows_thread_manager = None - -# Lokale Imports -from models import init_database, create_initial_admin, User, get_db_session -from utils.logging_config import setup_logging, get_logger, log_startup_info -from utils.job_scheduler import JobScheduler, get_job_scheduler -from utils.job_queue_system import queue_manager, start_queue_manager, stop_queue_manager -from utils.utilities_collection import SECRET_KEY, SESSION_LIFETIME - -# Blueprints importieren -from blueprints.auth import auth_blueprint -from blueprints.admin_unified import admin_blueprint, admin_api_blueprint -from blueprints.guest import guest_blueprint -from blueprints.calendar import calendar_blueprint -from blueprints.user_management import users_blueprint # Konsolidierte User-Verwaltung -from blueprints.printers import printers_blueprint -from blueprints.jobs import jobs_blueprint -from blueprints.kiosk import kiosk_blueprint -from blueprints.uploads import uploads_blueprint -from blueprints.sessions import sessions_blueprint -from blueprints.tapo_control import tapo_blueprint # Tapo-Steckdosen-Steuerung -from blueprints.api import api_blueprint # API-Endpunkte mit Session-Management -from blueprints.legal_pages import legal_bp # Rechtliche Seiten (Impressum, Datenschutz, etc.) - -# Import der Sicherheits- und Hilfssysteme -from utils.security_suite import init_security - -# Logging initialisieren -setup_logging() -log_startup_info() - -# Logger für verschiedene Komponenten -app_logger = get_logger("app") - -# ===== FLASK-APP INITIALISIERUNG ===== -app = Flask(__name__) - -# Konfiguration anwenden basierend auf Environment wird später gemacht -# (nach Definition der apply_*_config Funktionen) - -# Session-Manager initialisieren -session_manager.init_app(app) - -# Login-Manager initialisieren -login_manager = LoginManager() -login_manager.init_app(app) -login_manager.login_view = 'auth.login' -login_manager.login_message = 'Bitte melden Sie sich an, um auf diese Seite zuzugreifen.' -login_manager.login_message_category = 'info' - -# CSRF-Schutz initialisieren -csrf = CSRFProtect(app) - -# Thread-sichere Caches -_user_cache = {} -_user_cache_lock = threading.RLock() -_printer_status_cache = {} -_printer_status_cache_lock = threading.RLock() - -# Cache-Konfiguration -USER_CACHE_TTL = 300 # 5 Minuten -PRINTER_STATUS_CACHE_TTL = 30 # 30 Sekunden - -def clear_user_cache(user_id=None): - """Löscht User-Cache""" - with _user_cache_lock: - if user_id: - _user_cache.pop(user_id, None) - else: - _user_cache.clear() - -def clear_printer_status_cache(): - """Löscht Drucker-Status-Cache""" - with _printer_status_cache_lock: - _printer_status_cache.clear() - -# ===== AGGRESSIVE SHUTDOWN HANDLER ===== -def aggressive_shutdown_handler(sig, frame): - """Aggressiver Signal-Handler für sofortiges Herunterfahren bei Strg+C""" - print("\n[ALERT] STRG+C ERKANNT - SOFORTIGES SHUTDOWN!") - - try: - # Caches leeren - clear_user_cache() - clear_printer_status_cache() - - # Queue Manager stoppen - try: - stop_queue_manager() - print("[OK] Queue Manager gestoppt") - except Exception as e: - print(f"[WARN] Queue Manager Stop fehlgeschlagen: {e}") - - # Datenbank-Cleanup - try: - from models import _engine, _scoped_session - if _scoped_session: - _scoped_session.remove() - if _engine: - _engine.dispose() - print("[OK] Datenbank geschlossen") - except Exception as e: - print(f"[WARN] Datenbank-Cleanup fehlgeschlagen: {e}") - - except Exception as e: - print(f"[ERROR] Fehler beim Cleanup: {e}") - - print("[STOP] SOFORTIGES PROGRAMM-ENDE") - os._exit(0) - -def register_aggressive_shutdown(): - """Registriert den aggressiven Shutdown-Handler""" - signal.signal(signal.SIGINT, aggressive_shutdown_handler) - signal.signal(signal.SIGTERM, aggressive_shutdown_handler) - - if os.name == 'nt': - try: - signal.signal(signal.SIGBREAK, aggressive_shutdown_handler) - except AttributeError: - pass - else: - try: - signal.signal(signal.SIGHUP, aggressive_shutdown_handler) - except AttributeError: - pass - - atexit.register(lambda: print("[RESTART] Atexit-Handler ausgeführt")) - print("[ALERT] AGGRESSIVER STRG+C SHUTDOWN-HANDLER AKTIVIERT") - -# Shutdown-Handler registrieren -register_aggressive_shutdown() - - - -def apply_production_config(app): - """Wendet die Production-Konfiguration auf die Flask-App an""" - app_logger.info("[PRODUCTION] Aktiviere Production-Konfiguration für Mercedes-Benz TBA") - - # Dynamische Werte setzen - from utils.utilities_collection import SECRET_KEY, SESSION_LIFETIME - ProductionConfig.SECRET_KEY = os.environ.get('SECRET_KEY') or SECRET_KEY - ProductionConfig.PERMANENT_SESSION_LIFETIME = SESSION_LIFETIME - - # Flask-Basis-Konfiguration - app.config.update({ - "ENV": ProductionConfig.ENV, - "DEBUG": ProductionConfig.DEBUG, - "TESTING": ProductionConfig.TESTING, - "SECRET_KEY": ProductionConfig.SECRET_KEY, - "WTF_CSRF_ENABLED": ProductionConfig.WTF_CSRF_ENABLED, - "WTF_CSRF_TIME_LIMIT": ProductionConfig.WTF_CSRF_TIME_LIMIT, - "SESSION_COOKIE_SECURE": ProductionConfig.SESSION_COOKIE_SECURE, - "SESSION_COOKIE_HTTPONLY": ProductionConfig.SESSION_COOKIE_HTTPONLY, - "SESSION_COOKIE_SAMESITE": ProductionConfig.SESSION_COOKIE_SAMESITE, - "PERMANENT_SESSION_LIFETIME": ProductionConfig.PERMANENT_SESSION_LIFETIME, - "SEND_FILE_MAX_AGE_DEFAULT": ProductionConfig.SEND_FILE_MAX_AGE_DEFAULT, - "TEMPLATES_AUTO_RELOAD": ProductionConfig.TEMPLATES_AUTO_RELOAD, - "EXPLAIN_TEMPLATE_LOADING": ProductionConfig.EXPLAIN_TEMPLATE_LOADING, - "MAX_CONTENT_LENGTH": ProductionConfig.MAX_CONTENT_LENGTH, - "JSON_SORT_KEYS": ProductionConfig.JSON_SORT_KEYS, - "JSONIFY_PRETTYPRINT_REGULAR": ProductionConfig.JSONIFY_PRETTYPRINT_REGULAR, - "JSONIFY_MIMETYPE": ProductionConfig.JSONIFY_MIMETYPE, - "SQLALCHEMY_TRACK_MODIFICATIONS": ProductionConfig.SQLALCHEMY_TRACK_MODIFICATIONS, - "SQLALCHEMY_ENGINE_OPTIONS": ProductionConfig.SQLALCHEMY_ENGINE_OPTIONS - }) - - # Jinja2-Umgebung für Production - app.jinja_env.globals.update({ - 'production_mode': True, - 'development_mode': False, - 'optimized_mode': ProductionConfig.OPTIMIZED_MODE, - 'use_minified_assets': ProductionConfig.USE_MINIFIED_ASSETS, - 'disable_animations': ProductionConfig.DISABLE_ANIMATIONS, - 'limit_glassmorphism': ProductionConfig.LIMIT_GLASSMORPHISM, - 'environment_name': ProductionConfig.ENVIRONMENT_NAME, - 'company_name': ProductionConfig.COMPANY_NAME, - 'compliance_mode': ProductionConfig.COMPLIANCE_MODE, - 'offline_mode': ProductionConfig.OFFLINE_MODE, - 'use_local_assets_only': ProductionConfig.USE_LOCAL_ASSETS_ONLY, - 'base_template': 'base-production.html' - }) - - app_logger.info(f"[PRODUCTION] ✅ {ProductionConfig.COMPANY_NAME} Konfiguration aktiviert") - app_logger.info(f"[PRODUCTION] ✅ Environment: {ProductionConfig.ENVIRONMENT_NAME}") - app_logger.info(f"[PRODUCTION] ✅ Air-Gapped Mode: {ProductionConfig.OFFLINE_MODE}") - app_logger.info(f"[PRODUCTION] ✅ Compliance Mode: {ProductionConfig.COMPLIANCE_MODE}") - app_logger.info(f"[PRODUCTION] ✅ Performance Optimized: {ProductionConfig.OPTIMIZED_MODE}") - -def apply_development_config(app): - """Wendet die Development-Konfiguration auf die Flask-App an""" - app_logger.info("[DEVELOPMENT] Aktiviere Development-Konfiguration") - - # Dynamische Werte setzen - from utils.utilities_collection import SECRET_KEY, SESSION_LIFETIME - DevelopmentConfig.SECRET_KEY = os.environ.get('SECRET_KEY') or SECRET_KEY - DevelopmentConfig.PERMANENT_SESSION_LIFETIME = SESSION_LIFETIME - - # Flask-Basis-Konfiguration - app.config.update({ - "ENV": DevelopmentConfig.ENV, - "DEBUG": DevelopmentConfig.DEBUG, - "TESTING": DevelopmentConfig.TESTING, - "SECRET_KEY": DevelopmentConfig.SECRET_KEY, - "WTF_CSRF_ENABLED": DevelopmentConfig.WTF_CSRF_ENABLED, - "WTF_CSRF_TIME_LIMIT": DevelopmentConfig.WTF_CSRF_TIME_LIMIT, - "SESSION_COOKIE_SECURE": DevelopmentConfig.SESSION_COOKIE_SECURE, - "SESSION_COOKIE_HTTPONLY": DevelopmentConfig.SESSION_COOKIE_HTTPONLY, - "SESSION_COOKIE_SAMESITE": DevelopmentConfig.SESSION_COOKIE_SAMESITE, - "PERMANENT_SESSION_LIFETIME": DevelopmentConfig.PERMANENT_SESSION_LIFETIME, - "SEND_FILE_MAX_AGE_DEFAULT": DevelopmentConfig.SEND_FILE_MAX_AGE_DEFAULT, - "TEMPLATES_AUTO_RELOAD": DevelopmentConfig.TEMPLATES_AUTO_RELOAD, - "EXPLAIN_TEMPLATE_LOADING": DevelopmentConfig.EXPLAIN_TEMPLATE_LOADING, - "MAX_CONTENT_LENGTH": DevelopmentConfig.MAX_CONTENT_LENGTH, - "JSON_SORT_KEYS": DevelopmentConfig.JSON_SORT_KEYS, - "JSONIFY_PRETTYPRINT_REGULAR": DevelopmentConfig.JSONIFY_PRETTYPRINT_REGULAR, - "JSONIFY_MIMETYPE": DevelopmentConfig.JSONIFY_MIMETYPE, - "SQLALCHEMY_TRACK_MODIFICATIONS": DevelopmentConfig.SQLALCHEMY_TRACK_MODIFICATIONS, - "SQLALCHEMY_ENGINE_OPTIONS": DevelopmentConfig.SQLALCHEMY_ENGINE_OPTIONS - }) - - # Jinja2-Umgebung für Development - app.jinja_env.globals.update({ - 'production_mode': False, - 'development_mode': True, - 'optimized_mode': DevelopmentConfig.OPTIMIZED_MODE, - 'use_minified_assets': DevelopmentConfig.USE_MINIFIED_ASSETS, - 'disable_animations': DevelopmentConfig.DISABLE_ANIMATIONS, - 'limit_glassmorphism': DevelopmentConfig.LIMIT_GLASSMORPHISM, - 'environment_name': DevelopmentConfig.ENVIRONMENT_NAME, - 'company_name': DevelopmentConfig.COMPANY_NAME, - 'compliance_mode': DevelopmentConfig.COMPLIANCE_MODE, - 'offline_mode': DevelopmentConfig.OFFLINE_MODE, - 'use_local_assets_only': DevelopmentConfig.USE_LOCAL_ASSETS_ONLY, - 'base_template': 'base.html' - }) - - app_logger.info(f"[DEVELOPMENT] ✅ {DevelopmentConfig.COMPANY_NAME} Konfiguration aktiviert") - app_logger.info(f"[DEVELOPMENT] ✅ Environment: {DevelopmentConfig.ENVIRONMENT_NAME}") - app_logger.info(f"[DEVELOPMENT] ✅ Debug Mode: {DevelopmentConfig.DEBUG}") - app_logger.info(f"[DEVELOPMENT] ✅ SQL Echo: {DevelopmentConfig.SQLALCHEMY_ENGINE_OPTIONS.get('echo', False)}") - -# ===== KONFIGURATION ANWENDEN ===== -# Jetzt können wir die Funktionen aufrufen, da sie definiert sind -ENVIRONMENT_TYPE = get_environment_type() -USE_PRODUCTION_CONFIG = detect_production_environment() -OFFLINE_MODE = USE_PRODUCTION_CONFIG - -app_logger.info(f"[CONFIG] Erkannte Umgebung: {ENVIRONMENT_TYPE}") -app_logger.info(f"[CONFIG] Production-Modus: {USE_PRODUCTION_CONFIG}") - -if USE_PRODUCTION_CONFIG: - apply_production_config(app) -else: - # Development-Konfiguration (konsolidiert default/fallback) - app_logger.info("[CONFIG] Verwende Development-Konfiguration") - apply_development_config(app) - -# Umgebungs-spezifische Einstellungen -if OFFLINE_MODE: - app_logger.info("[CONFIG] ✅ Air-Gapped/Offline-Modus aktiviert") - app.config['DISABLE_EXTERNAL_REQUESTS'] = True - -# Session-Konfiguration -app.config["PERMANENT_SESSION_LIFETIME"] = SESSION_LIFETIME -app.config["WTF_CSRF_ENABLED"] = True -app.config["WTF_CSRF_TIME_LIMIT"] = 3600 # 1 Stunde -app.config["WTF_CSRF_SSL_STRICT"] = False # Für Development -app.config["WTF_CSRF_CHECK_DEFAULT"] = True -app.config["WTF_CSRF_METHODS"] = ['POST', 'PUT', 'PATCH', 'DELETE'] - -# CSRF-Schutz initialisieren -csrf = CSRFProtect(app) - -# CSRF-Token in Session verfügbar machen -@app.before_request -def csrf_protect(): - """Stellt sicher, dass CSRF-Token verfügbar ist""" - if request.endpoint and request.endpoint.startswith('static'): - return - - # Guest-API-Endpunkte von CSRF befreien - if request.path.startswith('/api/guest/'): - return # Kein CSRF für Guest-APIs - - # Tapo-Hardware-Steuerung von CSRF befreien (Geräte verwenden kein CSRF) - if request.path.startswith('/tapo/'): - return # Kein CSRF für Tapo-Hardware-Steuerung - - # Drucker-API-Endpunkte mit Tapo-Integration von CSRF befreien - tapo_api_paths = [ - '/api/printers/control/', # Stromsteuerung über PyP100 - '/api/printers/tapo/', # Alle Tapo-spezifischen APIs - '/api/printers/force-refresh', # Force-Refresh (verwendet Tapo-Status) - '/api/printers/status', # Status-API (verwendet Tapo-Status) - '/api/admin/printers/', # Admin-Printer-APIs (Toggle-Funktion) - ] - - for path in tapo_api_paths: - if request.path.startswith(path): - return # Kein CSRF für Tapo-Hardware-APIs - - try: - from flask_wtf.csrf import generate_csrf - token = generate_csrf() - session['_csrf_token'] = token - except Exception as e: - app_logger.warning(f"CSRF-Token konnte nicht in Session gesetzt werden: {str(e)}") - -# Template-Funktionen für CSRF-Token -@app.template_global() -def csrf_token(): - """CSRF-Token für Templates verfügbar machen.""" - try: - from flask_wtf.csrf import generate_csrf - token = generate_csrf() - app_logger.debug(f"CSRF-Token generiert: {token[:10]}...") - return token - except Exception as e: - app_logger.error(f"CSRF-Token konnte nicht generiert werden: {str(e)}") - # Fallback: Einfaches Token basierend auf Session - import secrets - fallback_token = secrets.token_urlsafe(32) - app_logger.warning(f"Verwende Fallback-Token: {fallback_token[:10]}...") - return fallback_token - -@app.errorhandler(CSRFError) -def csrf_error(error): - """Behandelt CSRF-Fehler mit detaillierter Diagnose""" - # Guest-APIs sollten nie CSRF-Fehler haben - if request.path.startswith('/api/guest/'): - app_logger.warning(f"CSRF-Fehler bei Guest-API (sollte nicht passieren): {request.path}") - return jsonify({ - "success": False, - "error": "Unerwarteter Sicherheitsfehler bei Guest-API" - }), 500 - - app_logger.error(f"CSRF-Fehler für {request.path}: {error.description}") - app_logger.error(f"Request Headers: {dict(request.headers)}") - app_logger.error(f"Request Form: {dict(request.form)}") - - if request.path.startswith('/api/'): - # Für API-Anfragen: JSON-Response mit Hilfe - return jsonify({ - "error": "CSRF-Token ungültig oder fehlt", - "description": str(error.description), - "help": "Fügen Sie ein gültiges CSRF-Token zu Ihrer Anfrage hinzu", - "csrf_token": csrf_token() # Neues Token für Retry - }), 400 - else: - # Für normale Anfragen: Weiterleitung mit Flash-Message - from flask import flash, redirect - flash("Sicherheitsfehler: Anfrage wurde abgelehnt. Bitte versuchen Sie es erneut.", "error") - return redirect(request.url) - -# Login-Manager initialisieren -login_manager = LoginManager() -login_manager.init_app(app) -login_manager.login_view = "auth.login" -login_manager.login_message = "Bitte melden Sie sich an, um auf diese Seite zuzugreifen." - -# Session-Manager initialisieren -session_manager.init_app(app) - -@login_manager.user_loader -def load_user(user_id): - """Lädt einen Benutzer für Flask-Login""" - try: - with get_db_session() as db_session: - user = db_session.query(User).filter_by(id=int(user_id)).first() - if user: - db_session.expunge(user) - return user - except Exception as e: - app_logger.error(f"Fehler beim Laden des Benutzers {user_id}: {str(e)}") - return None - -# ===== BLUEPRINTS REGISTRIEREN ===== -app.register_blueprint(auth_blueprint) -# Vereinheitlichte Admin-Blueprints registrieren -app.register_blueprint(admin_blueprint) -app.register_blueprint(admin_api_blueprint) -app.register_blueprint(guest_blueprint) -app.register_blueprint(calendar_blueprint) -app.register_blueprint(users_blueprint) # Konsolidierte User-Verwaltung -app.register_blueprint(printers_blueprint) -app.register_blueprint(jobs_blueprint) -app.register_blueprint(kiosk_blueprint) -app.register_blueprint(uploads_blueprint) -app.register_blueprint(sessions_blueprint) -app.register_blueprint(tapo_blueprint) # Tapo-Steckdosen-Steuerung -app.register_blueprint(api_blueprint) # Einfache API-Endpunkte -app.register_blueprint(legal_bp) # Rechtliche Seiten (Impressum, Datenschutz, etc.) - -# Energiemonitoring-Blueprints registrieren -from blueprints.energy_monitoring import energy_blueprint, energy_api_blueprint -app.register_blueprint(energy_blueprint) # Frontend-Routen für Energiemonitoring -app.register_blueprint(energy_api_blueprint) # API-Endpunkte für Energiedaten - -# ===== HILFSSYSTEME INITIALISIEREN ===== -init_security(app) - -# ===== KONTEXT-PROZESSOREN ===== -@app.context_processor -def inject_now(): - """Injiziert die aktuelle Zeit in alle Templates""" - return {'now': datetime.now} - -@app.context_processor -def inject_current_route(): - """ - Stellt current_route für alle Templates bereit. - - Verhindert Template-Fehler wenn request.endpoint None ist (z.B. bei 404-Fehlern). - """ - current_route = getattr(request, 'endpoint', None) or '' - return {'current_route': current_route} - -@app.template_filter('format_datetime') -def format_datetime_filter(value, format='%d.%m.%Y %H:%M'): - """Template-Filter für Datums-Formatierung""" - if value is None: - return "" - if isinstance(value, str): - try: - value = datetime.fromisoformat(value) - except: - return value - return value.strftime(format) - -@app.template_global() -def is_optimized_mode(): - """Prüft ob der optimierte Modus aktiv ist""" - return USE_PRODUCTION_CONFIG - -# ===== REQUEST HOOKS ===== -@app.before_request -def log_request_info(): - """Loggt Request-Informationen""" - if request.endpoint != 'static': - app_logger.debug(f"Request: {request.method} {request.path}") - -@app.after_request -def log_response_info(response): - """Loggt Response-Informationen""" - if request.endpoint != 'static': - app_logger.debug(f"Response: {response.status_code}") - return response - -@app.after_request -def minimize_session_cookie(response): - """Reduziert Session-Cookie automatisch nach jedem Request""" - if current_user.is_authenticated: - # Drastische Session-Cookie-Reduktion - minimal_session.reduce_session_data() - return response - -@app.before_request -def check_session_activity(): - """Prüft Session-Aktivität und meldet inaktive Benutzer ab mit MINIMAL Cookie-Management""" - if current_user.is_authenticated: - from utils.utilities_collection import SESSION_LIFETIME - - # DRASTISCHE Session-Reduktion - alle nicht-kritischen Daten entfernen - minimal_session.reduce_session_data() - - # Session-Aktivität über externen Store (nicht in Cookie) - session_data = session_manager.load_large_session_data('activity') or {} - now = datetime.now() - - # Aktivitätsprüfung über externen Store - last_activity = session_data.get('last_activity') - if last_activity: - try: - last_activity_time = datetime.fromisoformat(last_activity) - if (now - last_activity_time).total_seconds() > SESSION_LIFETIME.total_seconds(): - app_logger.info(f"Session abgelaufen für Benutzer {current_user.id}") - logout_user() - return redirect(url_for('auth.login')) - except Exception as e: - app_logger.warning(f"Fehler beim Parsen der Session-Zeit: {e}") - - # Aktivität NICHT in Session-Cookie speichern, sondern extern - session_data['last_activity'] = now.isoformat() - session_manager.store_large_session_data('activity', session_data) - - # Session permanent ohne zusätzliche Daten - session.permanent = True - -# ===== HAUPTROUTEN ===== -@app.route("/") -def index(): - """Startseite - leitet zur Login-Seite oder zum Dashboard""" - if current_user.is_authenticated: - return redirect(url_for("dashboard")) - return redirect(url_for("auth.login")) - -@app.route("/dashboard") -@login_required -def dashboard(): - """Haupt-Dashboard""" - return render_template("dashboard.html") - -@app.route("/csrf-test") -def csrf_test_page(): - """CSRF-Test-Seite für Diagnose und Debugging""" - return render_template("csrf_test.html") - -@app.route("/api/csrf-test", methods=["POST"]) -def csrf_test_api(): - """API-Endpunkt für CSRF-Tests""" - try: - # Test-Daten aus Request extrahieren - if request.is_json: - data = request.get_json() - test_data = data.get('test_data', 'Keine Daten') - else: - test_data = request.form.get('test_data', 'Keine Daten') - - app_logger.info(f"CSRF-Test erfolgreich: {test_data}") - - return jsonify({ - "success": True, - "message": "CSRF-Test erfolgreich", - "data": test_data, - "timestamp": datetime.now().isoformat() - }), 200 - - except Exception as e: - app_logger.error(f"CSRF-Test Fehler: {str(e)}") - return jsonify({ - "success": False, - "error": str(e) - }), 500 - -@app.route("/admin") -@login_required -def admin(): - """Admin-Dashboard""" - if not current_user.is_admin: - abort(403) - return redirect(url_for("admin.admin_dashboard")) - -# ===== HAUPTSEITEN ===== - -@app.route("/printers") -@login_required -def printers_page(): - """Zeigt die Übersichtsseite für Drucker an mit Server-Side Rendering.""" - try: - from utils.hardware_integration import get_tapo_controller - from models import get_db_session, Printer - - # Drucker-Daten server-side laden - db_session = get_db_session() - all_printers = db_session.query(Printer).filter(Printer.active == True).all() - - # Live-Status direkt über TapoController abrufen - tapo_controller = get_tapo_controller() - - # Drucker-Daten mit Status anreichern - printers_with_status = [] - for printer in all_printers: - printer_info = { - 'id': printer.id, - 'name': printer.name, - 'model': printer.model or 'Unbekannt', - 'location': printer.location or 'Unbekannt', - 'ip_address': printer.ip_address, - 'plug_ip': printer.plug_ip, - 'active': printer.active, - 'status': 'offline' - } - - # Status direkt über TapoController prüfen und in DB persistieren - if printer.plug_ip: - try: - reachable, plug_status = tapo_controller.check_outlet_status( - printer.plug_ip, printer_id=printer.id - ) - - # Drucker-Status basierend auf Steckdosen-Status aktualisieren - if not reachable: - # Nicht erreichbar = offline - printer.status = 'offline' - status_text = 'Offline' - status_color = 'red' - elif plug_status == 'on': - # Steckdose an = belegt - printer.status = 'busy' - status_text = 'Belegt' - status_color = 'green' - elif plug_status == 'off': - # Steckdose aus = verfügbar - printer.status = 'idle' - status_text = 'Verfügbar' - status_color = 'gray' - else: - # Unbekannter Status = offline - printer.status = 'offline' - status_text = 'Unbekannt' - status_color = 'red' - - # Zeitstempel aktualisieren und in DB speichern - printer.last_checked = datetime.now() - printer.updated_at = datetime.now() - - # Status-Änderung protokollieren (nur bei tatsächlicher Änderung) - from models import PlugStatusLog - current_db_status = printer.status - log_status = 'connected' if reachable else 'disconnected' - if plug_status == 'on': - log_status = 'on' - elif plug_status == 'off': - log_status = 'off' - - # Nur loggen wenn sich der Status geändert hat (vereinfachte Prüfung) - try: - PlugStatusLog.log_status_change( - printer_id=printer.id, - status=log_status, - source='system', - ip_address=printer.plug_ip, - notes="Automatische Status-Prüfung beim Laden der Drucker-Seite" - ) - app_logger.debug(f"📊 Auto-Status protokolliert: Drucker {printer.id} -> {log_status}") - except Exception as log_error: - app_logger.error(f"❌ Fehler beim Auto-Protokollieren: {str(log_error)}") - - printer_info.update({ - 'plug_status': plug_status, - 'plug_reachable': reachable, - 'can_control': reachable, - 'status': printer.status, - 'last_checked': datetime.now().isoformat() - }) - - # Status-Display für UI - printer_info['status_display'] = { - 'text': status_text, - 'color': status_color - } - except Exception as e: - printer_info.update({ - 'plug_status': 'unknown', - 'plug_reachable': False, - 'can_control': False, - 'error': str(e), - 'status_display': {'text': 'Fehler', 'color': 'red'} - }) - else: - printer_info.update({ - 'plug_status': 'no_plug', - 'plug_reachable': False, - 'can_control': False, - 'status_display': {'text': 'Keine Steckdose', 'color': 'gray'} - }) - - printers_with_status.append(printer_info) - - # Alle Status-Updates in die Datenbank committen - try: - db_session.commit() - app_logger.debug(f"✅ Status-Updates für {len(printers_with_status)} Drucker erfolgreich gespeichert") - except Exception as commit_error: - app_logger.error(f"❌ Fehler beim Speichern der Status-Updates: {str(commit_error)}") - db_session.rollback() - - # Einzigartige Werte für Filter - models = list(set([p['model'] for p in printers_with_status if p['model'] != 'Unbekannt'])) - locations = list(set([p['location'] for p in printers_with_status if p['location'] != 'Unbekannt'])) - - db_session.close() - - return render_template("printers.html", - printers=printers_with_status, - models=models, - locations=locations, - no_javascript=True) - - except Exception as e: - app_logger.error(f"Fehler beim Laden der Drucker-Seite: {str(e)}") - return render_template("printers.html", - printers=[], - models=[], - locations=[], - error=str(e), - no_javascript=True) - -@app.route("/printers/control", methods=["POST"]) -@login_required -def printer_control(): - """Server-Side Drucker-Steuerung ohne JavaScript.""" - try: - from utils.hardware_integration import get_tapo_controller - from models import get_db_session, Printer - - printer_id = request.form.get('printer_id') - action = request.form.get('action') # 'on' oder 'off' - - if not printer_id or not action: - flash('Ungültige Parameter für Drucker-Steuerung', 'error') - return redirect(url_for('printers_page')) - - if action not in ['on', 'off']: - flash('Ungültige Aktion. Nur "on" oder "off" erlaubt.', 'error') - return redirect(url_for('printers_page')) - - # Drucker aus Datenbank laden - db_session = get_db_session() - printer = db_session.query(Printer).filter(Printer.id == int(printer_id)).first() - - if not printer: - flash('Drucker nicht gefunden', 'error') - db_session.close() - return redirect(url_for('printers_page')) - - if not printer.plug_ip: - flash('Keine Steckdose für diesen Drucker konfiguriert', 'error') - db_session.close() - return redirect(url_for('printers_page')) - - # Erst Erreichbarkeit der Steckdose prüfen - tapo_controller = get_tapo_controller() - - # Prüfe ob Steckdose erreichbar ist - reachable, current_status = tapo_controller.check_outlet_status(printer.plug_ip, printer_id=int(printer_id)) - if not reachable: - # Steckdose nicht erreichbar = Drucker offline - printer.status = 'offline' - printer.last_checked = datetime.now() - printer.updated_at = datetime.now() - - # Status-Änderung protokollieren - from models import PlugStatusLog - try: - PlugStatusLog.log_status_change( - printer_id=int(printer_id), - status='disconnected', - source='system', - user_id=current_user.id, - ip_address=printer.plug_ip, - error_message=f"Steckdose {printer.plug_ip} nicht erreichbar", - notes=f"Erreichbarkeitsprüfung durch {current_user.name} fehlgeschlagen" - ) - app_logger.debug(f"📊 Offline-Status protokolliert: Drucker {printer_id} -> disconnected") - except Exception as log_error: - app_logger.error(f"❌ Fehler beim Protokollieren des Offline-Status: {str(log_error)}") - - db_session.commit() - - flash(f'Steckdose nicht erreichbar - Drucker als offline markiert', 'error') - app_logger.warning(f"⚠️ Steckdose {printer.plug_ip} für Drucker {printer_id} nicht erreichbar") - db_session.close() - return redirect(url_for('printers_page')) - - # Steckdose erreichbar - Steuerung ausführen - state = action == 'on' - success = tapo_controller.toggle_plug(printer.plug_ip, state) - - if success: - # Drucker-Status basierend auf Steckdosen-Aktion aktualisieren - if action == 'on': - # Steckdose an = Drucker belegt (busy) - printer.status = 'busy' - status_text = "belegt" - plug_status = 'on' - else: - # Steckdose aus = Drucker verfügbar (idle) - printer.status = 'idle' - status_text = "verfügbar" - plug_status = 'off' - - # Zeitstempel der letzten Überprüfung aktualisieren - printer.last_checked = datetime.now() - printer.updated_at = datetime.now() - - # Status-Änderung in PlugStatusLog protokollieren mit Energiedaten - from models import PlugStatusLog - try: - # Energiedaten abrufen falls verfügbar - energy_data = {} - try: - reachable, current_status = tapo_controller.check_outlet_status(printer.plug_ip, printer_id=int(printer_id)) - if reachable: - # Versuche Energiedaten zu holen (falls P110) - extra_info = tapo_controller._get_extra_device_info(printer.plug_ip) - if extra_info: - energy_data = { - 'power_consumption': extra_info.get('power_consumption'), - 'voltage': extra_info.get('voltage'), - 'current': extra_info.get('current'), - 'firmware_version': extra_info.get('firmware_version') - } - except Exception as energy_error: - app_logger.debug(f"⚡ Energiedaten für {printer.plug_ip} nicht verfügbar: {str(energy_error)}") - - action_text = "eingeschaltet" if action == 'on' else "ausgeschaltet" - PlugStatusLog.log_status_change( - printer_id=int(printer_id), - status=plug_status, - source='manual', - user_id=current_user.id, - ip_address=printer.plug_ip, - power_consumption=energy_data.get('power_consumption'), - voltage=energy_data.get('voltage'), - current=energy_data.get('current'), - firmware_version=energy_data.get('firmware_version'), - notes=f"Manuell {action_text} durch {current_user.name}" - ) - app_logger.debug(f"📊 Status-Änderung mit Energiedaten protokolliert: Drucker {printer_id} -> {plug_status}") - except Exception as log_error: - app_logger.error(f"❌ Fehler beim Protokollieren der Status-Änderung: {str(log_error)}") - - # Änderungen in Datenbank speichern - db_session.commit() - - action_text = "eingeschaltet" if action == 'on' else "ausgeschaltet" - flash(f'Drucker erfolgreich {action_text} - Status: {status_text}', 'success') - app_logger.info(f"✅ Drucker {printer_id} erfolgreich {action_text} durch {current_user.name} - Status: {status_text}") - else: - action_text = "einschalten" if action == 'on' else "ausschalten" - flash(f'Fehler beim {action_text} der Steckdose', 'error') - app_logger.error(f"❌ Fehler beim {action_text} von Drucker {printer_id}") - - db_session.close() - - return redirect(url_for('printers_page')) - - except Exception as e: - app_logger.error(f"Unerwarteter Fehler bei Drucker-Steuerung: {str(e)}") - flash(f'Systemfehler: {str(e)}', 'error') - return redirect(url_for('printers_page')) - -@app.route("/jobs") -@login_required -def jobs_page(): - """Zeigt die Übersichtsseite für Druckaufträge an.""" - return render_template("jobs.html") - -@app.route("/jobs/new") -@login_required -def new_job_page(): - """Zeigt die Seite zum Erstellen neuer Druckaufträge an.""" - return render_template("jobs.html") - -@app.route("/stats") -@login_required -def stats_page(): - """Zeigt die Statistiken-Seite an""" - return render_template("stats.html", title="Statistiken") - -# ===== API-ENDPUNKTE FÜR FRONTEND-KOMPATIBILITÄT ===== -# Jobs-API wird über Blueprint gehandhabt - keine doppelten Routen hier - -@app.route('/sw.js') -def service_worker(): - """Service Worker für PWA-Funktionalität""" - return send_from_directory('static', 'sw.js', mimetype='application/javascript') - -@app.route("/api/jobs//start", methods=["POST"]) -@login_required -def api_start_job(job_id): - """API-Endpunkt für Job-Start - leitet an Jobs-Blueprint weiter""" - from blueprints.jobs import start_job - return start_job(job_id) - -@app.route("/api/jobs//pause", methods=["POST"]) -@login_required -def api_pause_job(job_id): - """API-Endpunkt für Job-Pause - leitet an Jobs-Blueprint weiter""" - from blueprints.jobs import pause_job - return pause_job(job_id) - -@app.route("/api/jobs//resume", methods=["POST"]) -@login_required -def api_resume_job(job_id): - """API-Endpunkt für Job-Resume - leitet an Jobs-Blueprint weiter""" - from blueprints.jobs import resume_job - return resume_job(job_id) - -@app.route("/api/jobs//finish", methods=["POST"]) -@login_required -def api_finish_job(job_id): - """API-Endpunkt für Job-Finish - leitet an Jobs-Blueprint weiter""" - from blueprints.jobs import finish_job - return finish_job(job_id) - -@app.route("/api/printers", methods=["GET"]) -@login_required -def api_get_printers(): - """API-Endpunkt für Drucker-Liste mit konsistenter Response-Struktur - - Query-Parameter: - - include_inactive: 'true' um auch inaktive Drucker anzuzeigen (default: 'false') - - show_all: 'true' um ALLE Drucker anzuzeigen, unabhängig vom Status (default: 'false') - """ - try: - from models import get_db_session, Printer - - # Query-Parameter auslesen - Standardmäßig nur aktive TBA Marienfelde Drucker - include_inactive = request.args.get('include_inactive', 'false').lower() == 'true' - show_all = request.args.get('show_all', 'false').lower() == 'true' - - db_session = get_db_session() - - # Basis-Query - NUR aktive TBA Marienfelde Drucker (die korrekten 6) - query = db_session.query(Printer) - - if show_all: - # Nur wenn explizit angefordert: ALLE Drucker zeigen - pass # Keine Filter - else: - # Standard: Nur aktive TBA Marienfelde Drucker mit korrekten Namen - correct_names = ['Drucker 1', 'Drucker 2', 'Drucker 3', 'Drucker 4', 'Drucker 5', 'Drucker 6'] - query = query.filter( - Printer.location == 'TBA Marienfelde', - Printer.active == True, - Printer.name.in_(correct_names) - ) - - if not include_inactive: - # Zusätzlich: Keine offline/unreachable Drucker (außer wenn explizit gewünscht) - pass # Status-Filter wird später in der UI angewendet - - printers = query.all() - - printer_list = [] - for printer in printers: - # Status-Bestimmung: Wenn nicht erreichbar, dann "offline" - status = printer.status or "offline" - - # Zusätzliche Status-Informationen - is_reachable = status not in ["offline", "unreachable", "error"] - - printer_dict = { - "id": printer.id, - "name": printer.name, - "model": printer.model or "Unbekanntes Modell", - "location": printer.location or "Unbekannter Standort", - "status": status, - "ip_address": printer.ip_address, - "plug_ip": printer.plug_ip, - "active": getattr(printer, 'active', True), - "is_reachable": is_reachable, # Zusätzliches Feld für UI - "is_selectable": True, # WICHTIG: Alle Drucker sind auswählbar! - "created_at": printer.created_at.isoformat() if printer.created_at else datetime.now().isoformat(), - "last_checked": printer.last_checked.isoformat() if printer.last_checked else None, - "display_status": f"{printer.name} - {status.title()}" # Für Dropdown-Anzeige - } - printer_list.append(printer_dict) - - db_session.close() - - app_logger.info(f"✅ API: {len(printer_list)} Drucker abgerufen (include_inactive={include_inactive})") - - # Konsistente Response-Struktur wie erwartet - return jsonify({ - "success": True, - "printers": printer_list, - "count": len(printer_list), - "message": "Drucker erfolgreich geladen", - "filters": { - "include_inactive": include_inactive, - "show_all": show_all - } - }) - - except Exception as e: - app_logger.error(f"❌ API-Fehler beim Abrufen der Drucker: {str(e)}") - return jsonify({ - "success": False, - "error": "Fehler beim Laden der Drucker", - "details": str(e), - "printers": [], - "count": 0 - }), 500 - -@app.route("/api/printers/status", methods=["GET"]) -@login_required -def api_get_printer_status(): - """API-Endpunkt für Drucker-Status mit verbessertem Status-Management""" - try: - # Verwende den konsolidierten Hardware Integration Monitor - from utils.hardware_integration import printer_monitor - - # Status für alle Drucker abrufen - status_data = printer_monitor.get_live_printer_status() - status_list = list(status_data.values()) - - # Erweitere Status mit UI-freundlichen Informationen - for status in status_list: - # Status-Display-Informationen hinzufügen - plug_status = status.get("plug_status", "unknown") - if plug_status in printer_monitor.STATUS_DISPLAY: - status["status_display"] = printer_monitor.STATUS_DISPLAY[plug_status] - else: - status["status_display"] = { - "text": "Unbekannt", - "color": "gray", - "icon": "question" - } - - app_logger.info(f"✅ API: Status für {len(status_list)} Drucker abgerufen") - - # Erfolgreiche Response mit konsistenter Struktur - return jsonify({ - "success": True, - "printers": status_list, - "count": len(status_list), - "timestamp": datetime.now().isoformat() - }) - - except Exception as e: - app_logger.error(f"❌ API-Fehler beim Abrufen des Drucker-Status: {str(e)}", exc_info=True) - - # Fallback: Mindestens die Drucker-Grunddaten zurückgeben - try: - from models import get_db_session, Printer - db_session = get_db_session() - printers = db_session.query(Printer).all() - - basic_status = [] - for printer in printers: - basic_status.append({ - "id": printer.id, - "name": printer.name, - "location": printer.location, - "model": printer.model, - "plug_status": "unreachable", - "plug_reachable": False, - "has_plug": bool(printer.plug_ip), - "error": "Status-Manager nicht verfügbar" - }) - - db_session.close() - - return jsonify({ - "success": False, - "error": "Eingeschränkte Status-Informationen", - "printers": basic_status, - "count": len(basic_status), - "timestamp": datetime.now().isoformat() - }) - - except: - return jsonify({ - "success": False, - "error": "Fehler beim Laden des Drucker-Status", - "details": str(e), - "printers": [], - "count": 0 - }), 500 - -@app.route("/api/health", methods=["GET"]) -def api_health_check(): - """Einfacher Health-Check für Monitoring""" - try: - from models import get_db_session - - # Datenbank-Verbindung testen - db_session = get_db_session() - db_session.execute("SELECT 1") - db_session.close() - - return jsonify({ - "status": "healthy", - "timestamp": datetime.now().isoformat(), - "version": "1.0.0", - "services": { - "database": "online", - "authentication": "online" - } - }) - - except Exception as e: - app_logger.error(f"❌ Health-Check fehlgeschlagen: {str(e)}") - return jsonify({ - "status": "unhealthy", - "timestamp": datetime.now().isoformat(), - "error": str(e) - }), 503 - -@app.route("/api/version", methods=["GET"]) -def api_version(): - """API-Version und System-Info""" - return jsonify({ - "version": "1.0.0", - "name": "MYP - Manage Your Printer", - "description": "3D-Drucker-Verwaltung mit Smart-Steckdosen", - "build": datetime.now().strftime("%Y%m%d"), - "environment": get_environment_type() - }) - -@app.route("/api/stats", methods=['GET']) -@login_required -def api_stats(): - """ - Allgemeine System-Statistiken API-Endpunkt. - - Stellt grundlegende Statistiken über das System zur Verfügung. - """ - try: - from models import get_db_session, User, Printer, Job - - db_session = get_db_session() - try: - # Grundlegende Counts - total_users = db_session.query(User).count() - total_printers = db_session.query(Printer).count() - total_jobs = db_session.query(Job).count() - - # Aktive Jobs - active_jobs = db_session.query(Job).filter( - Job.status.in_(['pending', 'printing', 'paused']) - ).count() - - # Abgeschlossene Jobs heute - from datetime import date - today = date.today() - completed_today = db_session.query(Job).filter( - Job.status == 'completed', - Job.updated_at >= today - ).count() - - # Online-Drucker (aktive Drucker) - online_printers = db_session.query(Printer).filter( - Printer.active == True - ).count() - finally: - db_session.close() - - stats = { - 'total_users': total_users, - 'total_printers': total_printers, - 'total_jobs': total_jobs, - 'active_jobs': active_jobs, - 'completed_today': completed_today, - 'online_printers': online_printers, - 'timestamp': datetime.now().isoformat() - } - - app_logger.info(f"✅ API-Statistiken abgerufen von {current_user.username}") - - return jsonify({ - 'success': True, - 'stats': stats, - 'message': 'Statistiken erfolgreich geladen' - }) - - except Exception as e: - app_logger.error(f"❌ Fehler beim Abrufen der API-Statistiken: {str(e)}") - return jsonify({ - 'success': False, - 'error': 'Fehler beim Laden der Statistiken', - 'details': str(e) - }), 500 - -# Statische Seiten -@app.route("/privacy") -def privacy(): - """Datenschutzerklärung""" - return render_template("privacy.html") - -@app.route("/terms") -def terms(): - """Nutzungsbedingungen""" - return render_template("terms.html") - -@app.route("/imprint") -def imprint(): - """Impressum""" - return render_template("imprint.html") - -@app.route("/legal") -def legal(): - """Rechtliche Hinweise - Weiterleitung zum Impressum""" - return redirect(url_for("imprint")) - -# ===== FEHLERBEHANDLUNG ===== -@app.errorhandler(400) -def bad_request_error(error): - """400-Fehlerseite - Ungültige Anfrage""" - app_logger.warning(f"Bad Request (400): {request.url} - {str(error)}") - if request.is_json: - return jsonify({ - "error": "Ungültige Anfrage", - "message": "Die Anfrage konnte nicht verarbeitet werden", - "status_code": 400 - }), 400 - return render_template('errors/400.html'), 400 - -@app.errorhandler(401) -def unauthorized_error(error): - """401-Fehlerseite - Nicht autorisiert""" - app_logger.warning(f"Unauthorized (401): {request.url} - User: {getattr(current_user, 'username', 'Anonymous')}") - if request.is_json: - return jsonify({ - "error": "Nicht autorisiert", - "message": "Anmeldung erforderlich", - "status_code": 401 - }), 401 - return redirect(url_for('auth.login')) - -@app.errorhandler(403) -def forbidden_error(error): - """403-Fehlerseite - Zugriff verweigert""" - app_logger.warning(f"Forbidden (403): {request.url} - User: {getattr(current_user, 'username', 'Anonymous')}") - if request.is_json: - return jsonify({ - "error": "Zugriff verweigert", - "message": "Sie haben keine Berechtigung für diese Aktion", - "status_code": 403 - }), 403 - - try: - return render_template('errors/403.html'), 403 - except Exception as template_error: - # Fallback bei Template-Fehlern - app_logger.error(f"Template-Fehler in 403-Handler: {str(template_error)}") - return f"

403 - Zugriff verweigert

Sie haben keine Berechtigung für diese Aktion.

", 403 - -@app.errorhandler(404) -def not_found_error(error): - """404-Fehlerseite - Seite nicht gefunden""" - app_logger.info(f"Not Found (404): {request.url}") - if request.is_json: - return jsonify({ - "error": "Nicht gefunden", - "message": "Die angeforderte Ressource wurde nicht gefunden", - "status_code": 404 - }), 404 - - try: - return render_template('errors/404.html'), 404 - except Exception as template_error: - # Fallback bei Template-Fehlern - app_logger.error(f"Template-Fehler in 404-Handler: {str(template_error)}") - return f"

404 - Nicht gefunden

Die angeforderte Seite wurde nicht gefunden.

", 404 - -@app.errorhandler(405) -def method_not_allowed_error(error): - """405-Fehlerseite - Methode nicht erlaubt""" - app_logger.warning(f"Method Not Allowed (405): {request.method} {request.url}") - if request.is_json: - return jsonify({ - "error": "Methode nicht erlaubt", - "message": f"Die HTTP-Methode {request.method} ist für diese URL nicht erlaubt", - "status_code": 405 - }), 405 - return render_template('errors/405.html'), 405 - -@app.errorhandler(413) -def payload_too_large_error(error): - """413-Fehlerseite - Datei zu groß""" - app_logger.warning(f"Payload Too Large (413): {request.url}") - if request.is_json: - return jsonify({ - "error": "Datei zu groß", - "message": "Die hochgeladene Datei ist zu groß", - "status_code": 413 - }), 413 - return render_template('errors/413.html'), 413 - -@app.errorhandler(429) -def rate_limit_error(error): - """429-Fehlerseite - Zu viele Anfragen""" - app_logger.warning(f"Rate Limit Exceeded (429): {request.url} - IP: {request.remote_addr}") - if request.is_json: - return jsonify({ - "error": "Zu viele Anfragen", - "message": "Sie haben zu viele Anfragen gesendet. Bitte versuchen Sie es später erneut", - "status_code": 429 - }), 429 - return render_template('errors/429.html'), 429 - -@app.errorhandler(500) -def internal_error(error): - """500-Fehlerseite - Interner Serverfehler""" - import traceback - error_id = datetime.now().strftime("%Y%m%d_%H%M%S") - - # Detailliertes Logging für Debugging - app_logger.error(f"Internal Server Error (500) - ID: {error_id}") - app_logger.error(f"URL: {request.url}") - app_logger.error(f"Method: {request.method}") - app_logger.error(f"User: {getattr(current_user, 'username', 'Anonymous')}") - app_logger.error(f"Error: {str(error)}") - app_logger.error(f"Traceback: {traceback.format_exc()}") - - if request.is_json: - return jsonify({ - "error": "Interner Serverfehler", - "message": "Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es später erneut", - "error_id": error_id, - "status_code": 500 - }), 500 - - try: - return render_template('errors/500.html', error_id=error_id), 500 - except Exception as template_error: - # Fallback bei Template-Fehlern - app_logger.error(f"Template-Fehler in 500-Handler: {str(template_error)}") - return f"

500 - Interner Serverfehler

Ein unerwarteter Fehler ist aufgetreten. Fehler-ID: {error_id}

", 500 - -@app.errorhandler(502) -def bad_gateway_error(error): - """502-Fehlerseite - Bad Gateway""" - app_logger.error(f"Bad Gateway (502): {request.url}") - if request.is_json: - return jsonify({ - "error": "Gateway-Fehler", - "message": "Der Server ist vorübergehend nicht verfügbar", - "status_code": 502 - }), 502 - return render_template('errors/502.html'), 502 - -@app.errorhandler(503) -def service_unavailable_error(error): - """503-Fehlerseite - Service nicht verfügbar""" - app_logger.error(f"Service Unavailable (503): {request.url}") - if request.is_json: - return jsonify({ - "error": "Service nicht verfügbar", - "message": "Der Service ist vorübergehend nicht verfügbar. Bitte versuchen Sie es später erneut", - "status_code": 503 - }), 503 - return render_template('errors/503.html'), 503 - -@app.errorhandler(505) -def http_version_not_supported_error(error): - """505-Fehlerseite - HTTP-Version nicht unterstützt""" - app_logger.error(f"HTTP Version Not Supported (505): {request.url}") - if request.is_json: - return jsonify({ - "error": "HTTP-Version nicht unterstützt", - "message": "Die verwendete HTTP-Version wird vom Server nicht unterstützt", - "status_code": 505 - }), 505 - return render_template('errors/505.html'), 505 - -# Allgemeiner Exception-Handler für unbehandelte Ausnahmen -@app.errorhandler(Exception) -def handle_exception(error): - """Allgemeiner Handler für unbehandelte Ausnahmen""" - import traceback - error_id = datetime.now().strftime("%Y%m%d_%H%M%S") - - # Detailliertes Logging - app_logger.error(f"Unhandled Exception - ID: {error_id}") - app_logger.error(f"URL: {request.url}") - app_logger.error(f"Method: {request.method}") - app_logger.error(f"User: {getattr(current_user, 'username', 'Anonymous')}") - app_logger.error(f"Exception Type: {type(error).__name__}") - app_logger.error(f"Exception: {str(error)}") - app_logger.error(f"Traceback: {traceback.format_exc()}") - - # Für HTTP-Exceptions die ursprüngliche Behandlung verwenden - if hasattr(error, 'code'): - return error - - # Für alle anderen Exceptions als 500 behandeln - if request.is_json: - return jsonify({ - "error": "Unerwarteter Fehler", - "message": "Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es später erneut", - "error_id": error_id, - "status_code": 500 - }), 500 - - try: - return render_template('errors/500.html', error_id=error_id), 500 - except Exception as template_error: - # Fallback bei Template-Fehlern - app_logger.error(f"Template-Fehler im Exception-Handler: {str(template_error)}") - return f"

500 - Unerwarteter Fehler

Ein unerwarteter Fehler ist aufgetreten. Fehler-ID: {error_id}

", 500 - -# ===== APP-FACTORY ===== -def create_app(config_name=None): - """ - Flask-App-Factory für Tests und modulare Initialisierung - - Args: - config_name: 'production', 'development' oder None (auto-detect) - - Returns: - Flask: Konfigurierte Flask-App-Instanz - """ - # Bestimme Konfiguration - if config_name is None: - config_name = get_environment_type() - - # Setze Environment-Variablen basierend auf config_name - if config_name == 'production': - os.environ['FLASK_ENV'] = 'production' - os.environ['USE_PRODUCTION_CONFIG'] = 'true' - else: - os.environ['FLASK_ENV'] = 'development' - os.environ['USE_PRODUCTION_CONFIG'] = 'false' - - # Globale Variablen neu setzen - global ENVIRONMENT_TYPE, USE_PRODUCTION_CONFIG, OFFLINE_MODE - ENVIRONMENT_TYPE = config_name - USE_PRODUCTION_CONFIG = (config_name == 'production') - OFFLINE_MODE = USE_PRODUCTION_CONFIG - - # App-Konfiguration anwenden - if USE_PRODUCTION_CONFIG: - apply_production_config(app) - app_logger.info(f"[FACTORY] ✅ Production-Konfiguration angewendet") - else: - apply_development_config(app) - app_logger.info(f"[FACTORY] ✅ Development-Konfiguration angewendet") - - # Session-Manager initialisieren - session_manager.init_app(app) - - # Sicherheitssuite initialisieren - try: - init_security(app) - app_logger.info("[FACTORY] ✅ Sicherheitssuite initialisiert") - except Exception as e: - app_logger.warning(f"[FACTORY] ⚠️ Sicherheitssuite-Fehler: {e}") - - app_logger.info(f"[FACTORY] 🏭 Flask-App erstellt ({config_name})") - return app - -# ===== HAUPTFUNKTION ===== -def main(): - """Hauptfunktion zum Starten der Anwendung""" - try: - # Umgebungsinfo loggen - app_logger.info(f"[STARTUP] 🚀 Starte MYP {ENVIRONMENT_TYPE.upper()}-Umgebung") - app_logger.info(f"[STARTUP] 🏢 {getattr(ProductionConfig, 'COMPANY_NAME', 'Mercedes-Benz TBA Marienfelde')}") - app_logger.info(f"[STARTUP] 🔒 Air-Gapped: {OFFLINE_MODE or getattr(ProductionConfig, 'OFFLINE_MODE', False)}") - - # Production-spezifische Initialisierung - if USE_PRODUCTION_CONFIG: - app_logger.info("[PRODUCTION] Initialisiere Production-Systeme...") - - # Performance-Monitoring aktivieren - if getattr(ProductionConfig, 'ENABLE_PERFORMANCE_MONITORING', False): - try: - from utils.monitoring_analytics import performance_tracker - # Performance monitoring initialized via global instance - app_logger.info("[PRODUCTION] ✅ Performance-Monitoring aktiviert") - except ImportError: - app_logger.warning("[PRODUCTION] ⚠️ Performance-Monitoring nicht verfügbar") - - # Health-Checks aktivieren - if getattr(ProductionConfig, 'ENABLE_HEALTH_CHECKS', False): - try: - from utils.monitoring_analytics import get_health_check - # Simple health check initialization - app_logger.info("[PRODUCTION] ✅ Health-Checks aktiviert") - except ImportError: - app_logger.warning("[PRODUCTION] ⚠️ Health-Checks nicht verfügbar") - - # Audit-Logging aktivieren - if getattr(ProductionConfig, 'AUDIT_LOGGING', False): - try: - from utils.audit_logger import init_audit_logging - init_audit_logging(app) - app_logger.info("[PRODUCTION] ✅ Audit-Logging aktiviert") - except ImportError: - app_logger.warning("[PRODUCTION] ⚠️ Audit-Logging nicht verfügbar") - - # Datenbank initialisieren - app_logger.info("[STARTUP] Initialisiere Datenbank...") - init_database() - app_logger.info("[STARTUP] ✅ Datenbank initialisiert") - - # Initial-Admin erstellen falls nicht vorhanden - app_logger.info("[STARTUP] Prüfe Initial-Admin...") - create_initial_admin() - app_logger.info("[STARTUP] ✅ Admin-Benutzer geprüft") - - # Statische Drucker für TBA Marienfelde erstellen/aktualisieren - app_logger.info("[STARTUP] Initialisiere statische Drucker...") - from models import create_initial_printers - success = create_initial_printers() - if success: - app_logger.info("[STARTUP] ✅ Statische Drucker konfiguriert") - else: - app_logger.warning("[STARTUP] ⚠️ Fehler bei Drucker-Initialisierung") - - # Queue Manager starten - app_logger.info("[STARTUP] Starte Queue Manager...") - start_queue_manager() - app_logger.info("[STARTUP] ✅ Queue Manager gestartet") - - # Job Scheduler starten - app_logger.info("[STARTUP] Starte Job Scheduler...") - scheduler = get_job_scheduler() - if scheduler: - scheduler.start() - app_logger.info("[STARTUP] ✅ Job Scheduler gestartet") - else: - app_logger.warning("[STARTUP] ⚠️ Job Scheduler nicht verfügbar") - - # SSL-Kontext für Production - ssl_context = None - if USE_PRODUCTION_CONFIG: - app_logger.info("[PRODUCTION] Konfiguriere SSL...") - try: - from utils.ssl_suite import ssl_config - ssl_context = ssl_config.get_ssl_context() - app_logger.info("[PRODUCTION] ✅ SSL-Kontext konfiguriert") - except ImportError: - app_logger.warning("[PRODUCTION] ⚠️ SSL-Konfiguration nicht verfügbar") - - # Server-Konfiguration - host = os.getenv('FLASK_HOST', '0.0.0.0') - port = int(os.getenv('FLASK_PORT', 5000)) - - # Production-spezifische Server-Einstellungen - server_options = { - 'host': host, - 'port': port, - 'threaded': True - } - - if USE_PRODUCTION_CONFIG: - # Production-Server-Optimierungen - server_options.update({ - 'threaded': True, - 'processes': 1, # Für Air-Gapped Umgebung - 'use_reloader': False, - 'use_debugger': False - }) - - app_logger.info(f"[PRODUCTION] 🌐 Server startet auf https://{host}:{port}") - app_logger.info(f"[PRODUCTION] 🔧 Threaded: {server_options['threaded']}") - app_logger.info(f"[PRODUCTION] 🔒 SSL: {'Ja' if ssl_context else 'Nein'}") - else: - app_logger.info(f"[STARTUP] 🌐 Server startet auf http://{host}:{port}") - - # Server starten - if ssl_context: - server_options['ssl_context'] = ssl_context - app.run(**server_options) - else: - app.run(**server_options) - - except KeyboardInterrupt: - app_logger.info("[SHUTDOWN] 🛑 Shutdown durch Benutzer angefordert") - except Exception as e: - app_logger.error(f"[ERROR] ❌ Fehler beim Starten der Anwendung: {str(e)}") - if USE_PRODUCTION_CONFIG: - # Production-Fehlerbehandlung - import traceback - app_logger.error(f"[ERROR] Traceback: {traceback.format_exc()}") - raise - finally: - # Cleanup - app_logger.info("[SHUTDOWN] 🧹 Cleanup wird ausgeführt...") - try: - # Queue Manager stoppen - stop_queue_manager() - app_logger.info("[SHUTDOWN] ✅ Queue Manager gestoppt") - - # Scheduler stoppen - if 'scheduler' in locals() and scheduler: - scheduler.shutdown() - app_logger.info("[SHUTDOWN] ✅ Job Scheduler gestoppt") - - app_logger.info("[SHUTDOWN] ✅ Rate Limiter bereinigt") - - # Caches leeren - clear_user_cache() - clear_printer_status_cache() - app_logger.info("[SHUTDOWN] ✅ Caches geleert") - - if USE_PRODUCTION_CONFIG: - app_logger.info(f"[SHUTDOWN] 🏁 {ProductionConfig.COMPANY_NAME} System heruntergefahren") - else: - app_logger.info("[SHUTDOWN] 🏁 System heruntergefahren") - - except Exception as cleanup_error: - app_logger.error(f"[SHUTDOWN] ❌ Cleanup-Fehler: {str(cleanup_error)}") - -# Production-spezifische Funktionen -def get_production_info(): - """Gibt Production-Informationen zurück""" - if USE_PRODUCTION_CONFIG: - return { - 'company': ProductionConfig.COMPANY_NAME, - 'environment': ProductionConfig.ENVIRONMENT_NAME, - 'offline_mode': ProductionConfig.OFFLINE_MODE, - 'compliance_mode': ProductionConfig.COMPLIANCE_MODE, - 'version': '1.0.0', - 'build_date': datetime.now().strftime('%Y-%m-%d'), - 'ssl_enabled': USE_PRODUCTION_CONFIG - } - return None - -# Template-Funktion für Production-Info -@app.template_global() -def production_info(): - """Stellt Production-Informationen für Templates bereit""" - return get_production_info() - -# Nach der Initialisierung der Blueprints und vor dem App-Start -try: - # Admin-Berechtigungen beim Start korrigieren - from utils.permissions import fix_all_admin_permissions - result = fix_all_admin_permissions() - if result['success']: - app_logger.info(f"Admin-Berechtigungen beim Start korrigiert: {result['created']} erstellt, {result['corrected']} aktualisiert") - else: - app_logger.warning(f"Fehler beim Korrigieren der Admin-Berechtigungen: {result.get('error', 'Unbekannter Fehler')}") -except Exception as e: - app_logger.error(f"Fehler beim Korrigieren der Admin-Berechtigungen beim Start: {str(e)}") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/backend/blueprints/admin_unified.py.backup_query_opt_20250619_210050 b/backend/blueprints/admin_unified.py.backup_query_opt_20250619_210050 deleted file mode 100644 index 46edf8c6c..000000000 --- a/backend/blueprints/admin_unified.py.backup_query_opt_20250619_210050 +++ /dev/null @@ -1,3509 +0,0 @@ -""" -Vereinheitlichtes Admin-Blueprint für das MYP System - -Konsolidiert alle administrativen Funktionen in einem einzigen Blueprint: -- Admin-Dashboard und Übersichtsseiten -- Benutzer- und Druckerverwaltung -- System-Wartung und -überwachung -- API-Endpunkte für alle Admin-Funktionen - -Optimiert für die Mercedes-Benz TBA Marienfelde Umgebung mit: -- Einheitlichem Error-Handling und Logging -- Konsistentem Session-Management -- Vollständiger API-Kompatibilität - -Autor: MYP Team - Konsolidiert für IHK-Projektarbeit -Datum: 2025-06-09 -""" - -import os -import json -import time -import zipfile -import bcrypt -from datetime import datetime, timedelta -from functools import wraps - -from flask import Blueprint, render_template, request, jsonify, flash, redirect, url_for, current_app -from flask_login import login_required, current_user -from werkzeug.utils import secure_filename -from sqlalchemy import text, func, desc, asc -from sqlalchemy.exc import SQLAlchemyError - -# Models und Utils importieren -from models import ( - User, UserPermission, Printer, Job, GuestRequest, SystemLog, - get_db_session, get_cached_session, PlugStatusLog -) -from utils.logging_config import get_logger, measure_execution_time - -# ===== BLUEPRINT-KONFIGURATION ===== - -# Haupt-Blueprint für Admin-UI (Templates) -admin_blueprint = Blueprint('admin', __name__, url_prefix='/admin') - -# API-Blueprint für erweiterte System-Funktionen -admin_api_blueprint = Blueprint('admin_api', __name__, url_prefix='/api/admin') - -# Logger für beide Funktionsbereiche -admin_logger = get_logger("admin") -admin_api_logger = get_logger("admin_api") - -# ===== EINHEITLICHER ADMIN-DECORATOR ===== - -def admin_required(f): - """ - Vereinheitlichter Decorator für Admin-Berechtigung. - - Kombiniert die beste Praxis aus beiden ursprünglichen Implementierungen: - - Umfassende Logging-Funktionalität von admin.py - - Robuste Authentifizierungsprüfung von admin_api.py - """ - @wraps(f) - @login_required - def decorated_function(*args, **kwargs): - # Detaillierte Authentifizierungsprüfung - is_authenticated = current_user.is_authenticated - user_id = current_user.id if is_authenticated else 'Anonymous' - - # Doppelte Admin-Prüfung für maximale Sicherheit - is_admin = False - if is_authenticated: - # Methode 1: Property-basierte Prüfung (admin.py-Stil) - is_admin = hasattr(current_user, 'is_admin') and current_user.is_admin - - # Methode 2: Role-basierte Prüfung (admin_api.py-Stil) als Fallback - if not is_admin and hasattr(current_user, 'role'): - is_admin = current_user.role == 'admin' - - # Umfassendes Logging - admin_logger.info( - f"Admin-Check für Funktion {f.__name__}: " - f"User authenticated: {is_authenticated}, " - f"User ID: {user_id}, " - f"Is Admin: {is_admin}" - ) - - if not is_admin: - admin_logger.warning( - f"Admin-Zugriff verweigert für User {user_id} auf Funktion {f.__name__}" - ) - # Unterscheidung zwischen UI- und API-Routen - if request.path.startswith('/api/'): - return jsonify({ - "error": "Nur Administratoren haben Zugriff", - "message": "Admin-Berechtigung erforderlich" - }), 403 - else: - flash("Nur Administratoren haben Zugriff auf diesen Bereich", "error") - return redirect(url_for('dashboard')) - - return f(*args, **kwargs) - return decorated_function - -# ===== ADMIN-UI ROUTEN (ursprünglich admin.py) ===== - -@admin_blueprint.route("/") -@admin_required -def admin_dashboard(): - """Admin-Dashboard-Hauptseite mit Systemstatistiken""" - try: - with get_cached_session() as db_session: - # Grundlegende Statistiken sammeln - total_users = db_session.query(User).count() - total_printers = db_session.query(Printer).count() - total_jobs = db_session.query(Job).count() - - # Aktive Jobs zählen - active_jobs = db_session.query(Job).filter( - Job.status.in_(['pending', 'printing', 'paused']) - ).count() - - # Online-Drucker zählen (ohne Live-Status-Check für bessere Performance) - online_printers = db_session.query(Printer).filter( - Printer.status == 'online' - ).count() - - stats = { - 'total_users': total_users, - 'total_printers': total_printers, - 'total_jobs': total_jobs, - 'active_jobs': active_jobs, - 'online_printers': online_printers - } - - admin_logger.info(f"Admin-Dashboard geladen von {current_user.username}") - return render_template('admin_modern.html', stats=stats, active_tab=None) - - except Exception as e: - admin_logger.error(f"Fehler beim Laden des Admin-Dashboards: {str(e)}") - flash("Fehler beim Laden der Dashboard-Daten", "error") - return render_template('admin.html', stats={}, active_tab=None) - -@admin_blueprint.route("/plug-schedules") -@admin_required -def admin_plug_schedules(): - """ - Administrator-Übersicht für Steckdosenschaltzeiten. - Zeigt detaillierte Historie aller Smart Plug Schaltzeiten mit Kalenderansicht. - """ - admin_logger.info(f"Admin {current_user.username} (ID: {current_user.id}) öffnet Steckdosenschaltzeiten") - - try: - # Statistiken für die letzten 24 Stunden abrufen - stats_24h = PlugStatusLog.get_status_statistics(hours=24) - - # Alle Drucker für Filter-Dropdown - with get_cached_session() as db_session: - # Alle Drucker für Auswahlfelder anzeigen (unabhängig von active-Status) - printers = db_session.query(Printer).all() - - return render_template('admin_plug_schedules.html', - stats=stats_24h, - printers=printers, - page_title="Steckdosenschaltzeiten", - breadcrumb=[ - {"name": "Admin-Dashboard", "url": url_for("admin.admin_dashboard")}, - {"name": "Steckdosenschaltzeiten", "url": "#"} - ]) - - except Exception as e: - admin_logger.error(f"Fehler beim Laden der Steckdosenschaltzeiten-Seite: {str(e)}") - flash("Fehler beim Laden der Steckdosenschaltzeiten-Daten.", "error") - return redirect(url_for("admin.admin_dashboard")) - -@admin_blueprint.route("/users") -@admin_required -def users_overview(): - """Benutzerübersicht für Administratoren""" - try: - with get_cached_session() as db_session: - # Alle Benutzer laden - users = db_session.query(User).order_by(User.created_at.desc()).all() - - # Grundlegende Statistiken sammeln - total_users = len(users) - total_printers = db_session.query(Printer).count() - total_jobs = db_session.query(Job).count() - - # Aktive Jobs zählen - active_jobs = db_session.query(Job).filter( - Job.status.in_(['pending', 'printing', 'paused']) - ).count() - - stats = { - 'total_users': total_users, - 'total_printers': total_printers, - 'total_jobs': total_jobs, - 'active_jobs': active_jobs, - 'online_printers': 0 - } - - admin_logger.info(f"Benutzerübersicht geladen von {current_user.username}") - return render_template('admin.html', stats=stats, users=users, active_tab='users') - - except Exception as e: - admin_logger.error(f"Fehler beim Laden der Benutzerübersicht: {str(e)}") - flash("Fehler beim Laden der Benutzerdaten", "error") - return render_template('admin.html', stats={}, users=[], active_tab='users') - -@admin_blueprint.route("/users/add", methods=["GET", "POST"]) -@admin_required -def add_user_page(): - """Seite zum Hinzufügen eines neuen Benutzers""" - if request.method == "POST": - # Form-Daten direkt verarbeiten - try: - data = request.form.to_dict() - # Checkbox-Werte korrekt parsen - for key in ['can_start_jobs', 'needs_approval', 'can_approve_jobs']: - if key in data: - data[key] = data[key] in ['true', 'on', '1', True] - else: - data[key] = False - - admin_logger.info(f"Benutzer-Erstellung (HTML-Form) angefordert von {current_user.username}: {data.get('username', 'unknown')}") - - # Validierung der erforderlichen Felder - required_fields = ['username', 'email', 'password', 'name'] - for field in required_fields: - if field not in data or not data[field]: - flash(f"Feld '{field}' ist erforderlich", "error") - return render_template('admin_add_user.html') - - with get_cached_session() as db_session: - # Prüfe auf bereits existierende E-Mail oder Benutzername - existing_user = db_session.query(User).filter( - (User.email == data['email']) | (User.username == data['username']) - ).first() - - if existing_user: - if existing_user.email == data['email']: - flash("E-Mail-Adresse bereits vergeben", "error") - else: - flash("Benutzername bereits vergeben", "error") - return render_template('admin_add_user.html') - - # Neuen Benutzer erstellen - new_user = User( - username=data['username'], - email=data['email'], - name=data['name'], - role=data.get('role', 'user'), - department=data.get('department'), - position=data.get('position'), - phone=data.get('phone'), - bio=data.get('bio'), - active=True, - created_at=datetime.now() - ) - new_user.set_password(data['password']) - - db_session.add(new_user) - db_session.flush() # ID generieren für UserPermission - - # Granulare Berechtigungen erstellen - from models import UserPermission - permissions = UserPermission( - user_id=new_user.id, - can_start_jobs=data.get('can_start_jobs', True), - needs_approval=data.get('needs_approval', False), - can_approve_jobs=data.get('can_approve_jobs', False) - ) - - # Administratoren bekommen automatisch Genehmigungsrechte - if new_user.role == 'admin': - permissions.can_approve_jobs = True - permissions.can_start_jobs = True - permissions.needs_approval = False - - db_session.add(permissions) - db_session.commit() - - flash(f"Benutzer '{new_user.username}' erfolgreich erstellt", "success") - admin_logger.info(f"✅ Neuer Benutzer erfolgreich erstellt: {new_user.username} (ID: {new_user.id}) von Admin {current_user.username}") - - return redirect(url_for('admin.users_overview')) - - except Exception as e: - admin_logger.error(f"❌ Fehler bei Benutzer-Erstellung (HTML-Form): {str(e)}") - flash("Fehler beim Erstellen des Benutzers", "error") - - return render_template('admin_add_user.html') - -@admin_blueprint.route("/users//edit", methods=["GET"]) -@admin_required -def edit_user_page(user_id): - """Seite zum Bearbeiten eines Benutzers""" - try: - with get_cached_session() as db_session: - user = db_session.query(User).filter(User.id == user_id).first() - - if not user: - flash("Benutzer nicht gefunden", "error") - return redirect(url_for('admin.users_overview')) - - return render_template('admin_edit_user.html', user=user) - - except Exception as e: - admin_logger.error(f"Fehler beim Laden der Benutzer-Bearbeitung: {str(e)}") - flash("Fehler beim Laden der Benutzerdaten", "error") - return redirect(url_for('admin.users_overview')) - -@admin_blueprint.route("/printers") -@admin_required -def printers_overview(): - """Druckerübersicht für Administratoren""" - try: - with get_cached_session() as db_session: - # Nur TBA Marienfelde Drucker laden - printers = db_session.query(Printer).filter( - Printer.location == "TBA Marienfelde" - ).order_by(Printer.created_at.desc()).all() - - # Grundlegende Statistiken sammeln - total_users = db_session.query(User).count() - total_printers = len(printers) - total_jobs = db_session.query(Job).count() - - # Aktive Jobs zählen - active_jobs = db_session.query(Job).filter( - Job.status.in_(['pending', 'printing', 'paused']) - ).count() - - # Online-Drucker zählen (vereinfacht, da wir keinen Live-Status haben) - online_printers = len([p for p in printers if p.status == 'online']) - - stats = { - 'total_users': total_users, - 'total_printers': total_printers, - 'total_jobs': total_jobs, - 'active_jobs': active_jobs, - 'online_printers': online_printers - } - - admin_logger.info(f"Druckerübersicht geladen von {current_user.username}") - return render_template('admin.html', stats=stats, printers=printers, active_tab='printers') - - except Exception as e: - admin_logger.error(f"Fehler beim Laden der Druckerübersicht: {str(e)}") - flash("Fehler beim Laden der Druckerdaten", "error") - return render_template('admin.html', stats={}, printers=[], active_tab='printers') - -@admin_blueprint.route("/printers/add", methods=["GET"]) -@admin_required -def add_printer_page(): - """Seite zum Hinzufügen eines neuen Druckers""" - return render_template('admin_add_printer.html') - -@admin_blueprint.route("/printers//edit", methods=["GET"]) -@admin_required -def edit_printer_page(printer_id): - """Seite zum Bearbeiten eines Druckers""" - try: - with get_cached_session() as db_session: - printer = db_session.query(Printer).filter(Printer.id == printer_id).first() - - if not printer: - flash("Drucker nicht gefunden", "error") - return redirect(url_for('admin.printers_overview')) - - return render_template('admin_edit_printer.html', printer=printer) - - except Exception as e: - admin_logger.error(f"Fehler beim Laden der Drucker-Bearbeitung: {str(e)}") - flash("Fehler beim Laden der Druckerdaten", "error") - return redirect(url_for('admin.printers_overview')) - -@admin_blueprint.route("/guest-requests") -@admin_required -def guest_requests(): - """Gäste-Anfragen-Übersicht""" - return render_template('admin_guest_requests.html') - -@admin_blueprint.route("/requests") -@admin_required -def requests_overview(): - """Anträge-Übersicht für Admin-Dashboard""" - try: - with get_cached_session() as db_session: - # Grundlegende Statistiken sammeln für das Template - total_users = db_session.query(User).count() - total_printers = db_session.query(Printer).count() - total_jobs = db_session.query(Job).count() - - # Aktive Jobs zählen - active_jobs = db_session.query(Job).filter( - Job.status.in_(['pending', 'printing', 'paused']) - ).count() - - # Online-Drucker zählen - online_printers = db_session.query(Printer).filter( - Printer.status.in_(['idle', 'busy']) - ).count() - - # Alle Anträge laden - requests = db_session.query(GuestRequest).order_by( - GuestRequest.created_at.desc() - ).all() - - stats = { - 'total_users': total_users, - 'total_printers': total_printers, - 'total_jobs': total_jobs, - 'active_jobs': active_jobs, - 'online_printers': online_printers - } - - admin_logger.info(f"Anträge-Übersicht geladen: {len(requests)} Anträge") - - return render_template('admin.html', - active_tab='requests', - stats=stats, - requests=requests) - - except Exception as e: - admin_logger.error(f"Fehler beim Laden der Anträge-Übersicht: {str(e)}") - flash("Fehler beim Laden der Anträge", "error") - return redirect(url_for('admin.dashboard')) - -@admin_blueprint.route("/advanced-settings") -@admin_required -def advanced_settings(): - """Erweiterte Systemeinstellungen""" - try: - with get_cached_session() as db_session: - # Grundlegende Statistiken sammeln für das Template - total_users = db_session.query(User).count() - total_printers = db_session.query(Printer).count() - total_jobs = db_session.query(Job).count() - - # Aktive Drucker zählen (online/verfügbar) - active_printers = db_session.query(Printer).filter( - Printer.status.in_(['online', 'available', 'idle']) - ).count() - - # Wartende Jobs zählen - pending_jobs = db_session.query(Job).filter( - Job.status.in_(['pending', 'scheduled', 'queued']) - ).count() - - stats = { - 'total_users': total_users, - 'total_printers': total_printers, - 'active_printers': active_printers, - 'total_jobs': total_jobs, - 'pending_jobs': pending_jobs - } - - # Standard-Optimierungseinstellungen für das Template - optimization_settings = { - 'algorithm': 'round_robin', - 'consider_distance': True, - 'minimize_changeover': True, - 'auto_optimization_enabled': False, - 'max_batch_size': 10, - 'time_window': 24 - } - - admin_logger.info(f"Erweiterte Einstellungen geladen von {current_user.username}") - return render_template('admin_advanced_settings.html', stats=stats, optimization_settings=optimization_settings) - - except Exception as e: - admin_logger.error(f"Fehler beim Laden der erweiterten Einstellungen: {str(e)}") - flash("Fehler beim Laden der Systemdaten", "error") - # Fallback mit leeren Statistiken - stats = { - 'total_users': 0, - 'total_printers': 0, - 'active_printers': 0, - 'total_jobs': 0, - 'pending_jobs': 0 - } - - # Fallback-Optimierungseinstellungen - optimization_settings = { - 'algorithm': 'round_robin', - 'consider_distance': True, - 'minimize_changeover': True, - 'auto_optimization_enabled': False, - 'max_batch_size': 10, - 'time_window': 24 - } - - return render_template('admin_advanced_settings.html', stats=stats, optimization_settings=optimization_settings) - -@admin_blueprint.route("/system-health") -@admin_required -def system_health(): - """System-Gesundheitsstatus""" - try: - with get_cached_session() as db_session: - # Grundlegende Statistiken sammeln - total_users = db_session.query(User).count() - total_printers = db_session.query(Printer).count() - total_jobs = db_session.query(Job).count() - - # Aktive Jobs zählen - active_jobs = db_session.query(Job).filter( - Job.status.in_(['pending', 'printing', 'paused']) - ).count() - - stats = { - 'total_users': total_users, - 'total_printers': total_printers, - 'total_jobs': total_jobs, - 'active_jobs': active_jobs, - 'online_printers': 0 - } - - admin_logger.info(f"System-Health geladen von {current_user.username}") - return render_template('admin.html', stats=stats, active_tab='system') - - except Exception as e: - admin_logger.error(f"Fehler beim Laden des System-Health: {str(e)}") - flash("Fehler beim Laden der System-Daten", "error") - return render_template('admin.html', stats={}, active_tab='system') - -@admin_blueprint.route("/logs") -@admin_required -def logs_overview(): - """System-Logs-Übersicht""" - try: - with get_cached_session() as db_session: - # Grundlegende Statistiken sammeln - total_users = db_session.query(User).count() - total_printers = db_session.query(Printer).count() - total_jobs = db_session.query(Job).count() - - # Aktive Jobs zählen - active_jobs = db_session.query(Job).filter( - Job.status.in_(['pending', 'printing', 'paused']) - ).count() - - # Neueste Logs laden (falls SystemLog Model existiert) - try: - recent_logs = db_session.query(SystemLog).order_by(SystemLog.timestamp.desc()).limit(50).all() - except Exception: - recent_logs = [] - - stats = { - 'total_users': total_users, - 'total_printers': total_printers, - 'total_jobs': total_jobs, - 'active_jobs': active_jobs, - 'online_printers': 0 - } - - admin_logger.info(f"Logs-Übersicht geladen von {current_user.username}") - return render_template('admin.html', stats=stats, logs=recent_logs, active_tab='logs') - - except Exception as e: - admin_logger.error(f"Fehler beim Laden der Logs-Übersicht: {str(e)}") - flash("Fehler beim Laden der Log-Daten", "error") - return render_template('admin.html', stats={}, logs=[], active_tab='logs') - -@admin_blueprint.route("/maintenance", methods=["GET", "POST"]) -@admin_required -def maintenance(): - """Wartungsseite und Wartungsaktionen""" - - # POST-Request: Wartungsaktion ausführen - if request.method == "POST": - action = request.form.get('action') - admin_logger.info(f"Wartungsaktion '{action}' von {current_user.username} ausgeführt") - - try: - if action == 'clear_cache': - # Cache leeren - from models import clear_cache - clear_cache() - flash("Cache erfolgreich geleert", "success") - - elif action == 'optimize_db': - # Datenbank optimieren - from models import engine - with engine.connect() as conn: - conn.execute(text("PRAGMA optimize")) - conn.execute(text("VACUUM")) - flash("Datenbank erfolgreich optimiert", "success") - - elif action == 'create_backup': - # Backup erstellen - try: - from utils.backup_manager import BackupManager - backup_manager = BackupManager() - backup_path = backup_manager.create_backup() - flash(f"Backup erfolgreich erstellt: {backup_path}", "success") - except ImportError: - flash("Backup-System nicht verfügbar", "warning") - except Exception as backup_error: - flash(f"Backup-Fehler: {str(backup_error)}", "error") - else: - flash("Unbekannte Wartungsaktion", "error") - - except Exception as e: - admin_logger.error(f"Fehler bei Wartungsaktion '{action}': {str(e)}") - flash(f"Fehler bei Wartungsaktion: {str(e)}", "error") - - return redirect(url_for('admin.maintenance')) - - # GET-Request: Wartungsseite anzeigen - try: - with get_cached_session() as db_session: - # Grundlegende Statistiken sammeln - total_users = db_session.query(User).count() - total_printers = db_session.query(Printer).count() - total_jobs = db_session.query(Job).count() - - # Aktive Jobs zählen - active_jobs = db_session.query(Job).filter( - Job.status.in_(['pending', 'printing', 'paused']) - ).count() - - stats = { - 'total_users': total_users, - 'total_printers': total_printers, - 'total_jobs': total_jobs, - 'active_jobs': active_jobs, - 'online_printers': 0 - } - - admin_logger.info(f"Wartungsseite geladen von {current_user.username}") - return render_template('admin.html', stats=stats, active_tab='maintenance') - - except Exception as e: - admin_logger.error(f"Fehler beim Laden der Wartungsseite: {str(e)}") - flash("Fehler beim Laden der Wartungsdaten", "error") - return render_template('admin.html', stats={}, active_tab='maintenance') - -# ===== BENUTZER-CRUD-API (ursprünglich admin.py) ===== - -@admin_api_blueprint.route("/users", methods=["POST"]) -@admin_required -def create_user_api(): - """API-Endpunkt zum Erstellen eines neuen Benutzers""" - try: - # Sowohl JSON als auch Form-Daten unterstützen - if request.is_json: - data = request.get_json() - else: - data = request.form.to_dict() - # Checkbox-Werte korrekt parsen - for key in ['can_start_jobs', 'needs_approval', 'can_approve_jobs']: - if key in data: - data[key] = data[key] in ['true', 'on', '1', True] - - admin_logger.info(f"Benutzer-Erstellung angefordert von {current_user.username}: {data.get('username', 'unknown')}") - - # Validierung der erforderlichen Felder - required_fields = ['username', 'email', 'password', 'name'] - for field in required_fields: - if field not in data or not data[field]: - admin_logger.error(f"Erforderliches Feld '{field}' fehlt bei Benutzer-Erstellung") - return jsonify({"error": f"Feld '{field}' ist erforderlich"}), 400 - - # Datenvalidierung - if len(data['username']) < 3: - return jsonify({"error": "Benutzername muss mindestens 3 Zeichen lang sein"}), 400 - - if len(data['password']) < 8: - return jsonify({"error": "Passwort muss mindestens 8 Zeichen lang sein"}), 400 - - if '@' not in data['email']: - return jsonify({"error": "Ungültige E-Mail-Adresse"}), 400 - - # Datenbank-Session korrekt verwenden - db_session = get_db_session() - try: - # Überprüfung auf bereits existierende Benutzer - existing_user = db_session.query(User).filter( - (User.username == data['username']) | (User.email == data['email']) - ).first() - - if existing_user: - admin_logger.warning(f"Benutzer-Erstellung fehlgeschlagen: Benutzername oder E-Mail bereits vergeben") - return jsonify({"error": "Benutzername oder E-Mail bereits vergeben"}), 400 - - # Neuen Benutzer erstellen - new_user = User( - username=data['username'], - email=data['email'], - name=data['name'], - role=data.get('role', 'user'), - department=data.get('department'), - position=data.get('position'), - phone=data.get('phone'), - bio=data.get('bio'), - active=True, - created_at=datetime.now() - ) - new_user.set_password(data['password']) - - db_session.add(new_user) - db_session.flush() # ID generieren für UserPermission - - # Granulare Berechtigungen erstellen - from models import UserPermission - permissions = UserPermission( - user_id=new_user.id, - can_start_jobs=data.get('can_start_jobs', True), # Standard: kann Jobs starten - needs_approval=data.get('needs_approval', False), # Standard: keine Genehmigung nötig - can_approve_jobs=data.get('can_approve_jobs', False) # Standard: kann nicht genehmigen - ) - - # Administratoren bekommen automatisch Genehmigungsrechte - if new_user.role == 'admin': - permissions.can_approve_jobs = True - permissions.can_start_jobs = True - permissions.needs_approval = False - - db_session.add(permissions) - db_session.commit() - - admin_logger.info(f"✅ Neuer Benutzer erfolgreich erstellt: {new_user.username} (ID: {new_user.id}) von Admin {current_user.username}") - - return jsonify({ - "success": True, - "message": "Benutzer erfolgreich erstellt", - "user_id": new_user.id, - "username": new_user.username, - "role": new_user.role - }) - - except Exception as db_error: - admin_logger.error(f"❌ Datenbankfehler bei Benutzer-Erstellung: {str(db_error)}") - db_session.rollback() - return jsonify({"error": "Datenbankfehler beim Erstellen des Benutzers"}), 500 - finally: - db_session.close() - - except Exception as e: - admin_logger.error(f"❌ Allgemeiner Fehler bei Benutzer-Erstellung: {str(e)}") - return jsonify({"error": "Fehler beim Erstellen des Benutzers"}), 500 - -@admin_api_blueprint.route("/users/", methods=["GET"]) -@admin_required -def get_user_api(user_id): - """API-Endpunkt zum Abrufen von Benutzerdaten""" - try: - with get_cached_session() as db_session: - user = db_session.query(User).filter(User.id == user_id).first() - - if not user: - return jsonify({"error": "Benutzer nicht gefunden"}), 404 - - user_data = { - "id": user.id, - "username": user.username, - "email": user.email, - "name": user.name, - "role": user.role, - "active": user.active, - "created_at": user.created_at.isoformat() if user.created_at else None, - "last_login": user.last_login.isoformat() if user.last_login else None, - "department": user.department, - "position": user.position, - "phone": user.phone, - "bio": user.bio - } - - return jsonify(user_data) - - except Exception as e: - admin_logger.error(f"Fehler beim Abrufen der Benutzerdaten: {str(e)}") - return jsonify({"error": "Fehler beim Abrufen der Benutzerdaten"}), 500 - -@admin_api_blueprint.route("/users/", methods=["PUT"]) -@admin_required -def update_user_api(user_id): - """API-Endpunkt zum Aktualisieren von Benutzerdaten""" - try: - data = request.get_json() - - with get_cached_session() as db_session: - user = db_session.query(User).filter(User.id == user_id).first() - - if not user: - return jsonify({"error": "Benutzer nicht gefunden"}), 404 - - # Aktualisierbare Felder - updatable_fields = ['username', 'email', 'name', 'role', 'active', 'department', 'position', 'phone', 'bio'] - - for field in updatable_fields: - if field in data: - setattr(user, field, data[field]) - - # Passwort separat behandeln - if 'password' in data and data['password']: - user.set_password(data['password']) - - user.updated_at = datetime.now() - db_session.commit() - - admin_logger.info(f"Benutzer {user.username} aktualisiert von Admin {current_user.username}") - - return jsonify({ - "success": True, - "message": "Benutzer erfolgreich aktualisiert" - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Aktualisieren des Benutzers: {str(e)}") - return jsonify({"error": "Fehler beim Aktualisieren des Benutzers"}), 500 - -@admin_api_blueprint.route("/users/", methods=["DELETE"]) -@admin_required -def delete_user_api(user_id): - """Löscht einen Benutzer über die API""" - try: - with get_cached_session() as db_session: - user = db_session.query(User).filter(User.id == user_id).first() - - if not user: - return jsonify({"error": "Benutzer nicht gefunden"}), 404 - - # Prüfen ob der Benutzer der einzige Admin ist - if user.is_admin: - admin_count = db_session.query(User).filter(User.is_admin == True).count() - if admin_count <= 1: - return jsonify({"error": "Der letzte Administrator kann nicht gelöscht werden"}), 400 - - username = user.username - db_session.delete(user) - db_session.commit() - - admin_logger.info(f"Benutzer {username} gelöscht von Admin {current_user.username}") - - return jsonify({ - "success": True, - "message": "Benutzer erfolgreich gelöscht" - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Löschen des Benutzers: {str(e)}") - return jsonify({"error": "Fehler beim Löschen des Benutzers"}), 500 - -# ===== DRUCKER-API-ROUTEN ===== - -@admin_api_blueprint.route("/printers/", methods=["DELETE"]) -@admin_required -def delete_printer_api(printer_id): - """Löscht einen Drucker über die API mit allen Abhängigkeiten""" - try: - from models import get_db_session, Printer, Job, GuestRequest, JobOrder, PlugStatusLog - - with get_db_session() as db_session: - printer = db_session.query(Printer).filter(Printer.id == printer_id).first() - - if not printer: - return jsonify({"error": "Drucker nicht gefunden"}), 404 - - printer_name = printer.name - printer_location = printer.location - deleted_items = [] - - # 1. Nullable ForeignKeys auf NULL setzen (GuestRequest) - guest_requests_printer = db_session.query(GuestRequest).filter(GuestRequest.printer_id == printer_id).count() - if guest_requests_printer > 0: - db_session.query(GuestRequest).filter(GuestRequest.printer_id == printer_id).update({GuestRequest.printer_id: None}) - deleted_items.append(f"{guest_requests_printer} Gastanfragen aktualisiert") - - guest_requests_assigned = db_session.query(GuestRequest).filter(GuestRequest.assigned_printer_id == printer_id).count() - if guest_requests_assigned > 0: - db_session.query(GuestRequest).filter(GuestRequest.assigned_printer_id == printer_id).update({GuestRequest.assigned_printer_id: None}) - deleted_items.append(f"{guest_requests_assigned} zugewiesene Gastanfragen aktualisiert") - - # 2. Non-nullable ForeignKeys löschen - job_orders_count = db_session.query(JobOrder).filter(JobOrder.printer_id == printer_id).count() - if job_orders_count > 0: - db_session.query(JobOrder).filter(JobOrder.printer_id == printer_id).delete() - deleted_items.append(f"{job_orders_count} Auftragsbestellungen gelöscht") - - plug_logs_count = db_session.query(PlugStatusLog).filter(PlugStatusLog.printer_id == printer_id).count() - if plug_logs_count > 0: - db_session.query(PlugStatusLog).filter(PlugStatusLog.printer_id == printer_id).delete() - deleted_items.append(f"{plug_logs_count} Plug-Status-Logs gelöscht") - - # 3. Jobs explizit löschen (auch wenn CASCADE vorhanden ist) - jobs_count = db_session.query(Job).filter(Job.printer_id == printer_id).count() - if jobs_count > 0: - db_session.query(Job).filter(Job.printer_id == printer_id).delete() - deleted_items.append(f"{jobs_count} Jobs gelöscht") - - # 4. Drucker aus der Datenbank entfernen - db_session.delete(printer) - db_session.commit() - - # Cache invalidieren - from models import invalidate_model_cache - invalidate_model_cache("Printer", printer_id) - - admin_logger.info(f"Drucker '{printer_name}' (ID: {printer_id}, Standort: {printer_location}) und alle Abhängigkeiten gelöscht von Admin {current_user.username}") - if deleted_items: - admin_logger.info(f"Gelöschte Abhängigkeiten: {', '.join(deleted_items)}") - - success_message = f"Drucker '{printer_name}' erfolgreich gelöscht" - if deleted_items: - success_message += f" (einschließlich: {', '.join(deleted_items)})" - - return jsonify({ - "success": True, - "message": success_message - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Löschen des Druckers {printer_id}: {str(e)}") - return jsonify({"error": "Fehler beim Löschen des Druckers"}), 500 - -# ===== ERWEITERTE SYSTEM-API (ursprünglich admin_api.py) ===== - -@admin_api_blueprint.route('/backup/create', methods=['POST']) -@admin_required -def create_backup(): - """ - Erstellt ein manuelles System-Backup. - - Erstellt eine Sicherung aller wichtigen Systemdaten einschließlich - Datenbank, Konfigurationsdateien und Benutzer-Uploads. - - Returns: - JSON: Erfolgs-Status und Backup-Informationen - """ - try: - admin_api_logger.info(f"Backup-Erstellung angefordert von Admin {current_user.username}") - - # Backup-Verzeichnis sicherstellen - backup_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'database', 'backups') - os.makedirs(backup_dir, exist_ok=True) - - # Eindeutigen Backup-Namen erstellen - timestamp = datetime.now().strftime('%Y%m%d_%H%M%S') - backup_name = f"system_backup_{timestamp}.zip" - backup_path = os.path.join(backup_dir, backup_name) - - created_files = [] - backup_size = 0 - - with zipfile.ZipFile(backup_path, 'w', zipfile.ZIP_DEFLATED) as zipf: - # 1. Datenbank-Datei hinzufügen - try: - from utils.utilities_collection import DATABASE_PATH - if os.path.exists(DATABASE_PATH): - zipf.write(DATABASE_PATH, 'database/main.db') - created_files.append('database/main.db') - admin_api_logger.debug("✅ Hauptdatenbank zur Sicherung hinzugefügt") - - # WAL- und SHM-Dateien falls vorhanden - wal_path = DATABASE_PATH + '-wal' - shm_path = DATABASE_PATH + '-shm' - - if os.path.exists(wal_path): - zipf.write(wal_path, 'database/main.db-wal') - created_files.append('database/main.db-wal') - - if os.path.exists(shm_path): - zipf.write(shm_path, 'database/main.db-shm') - created_files.append('database/main.db-shm') - - except Exception as db_error: - admin_api_logger.warning(f"Fehler beim Hinzufügen der Datenbank: {str(db_error)}") - - # 2. Konfigurationsdateien - try: - config_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'config') - if os.path.exists(config_dir): - for root, dirs, files in os.walk(config_dir): - for file in files: - if file.endswith(('.py', '.json', '.yaml', '.yml', '.toml')): - file_path = os.path.join(root, file) - arc_path = os.path.relpath(file_path, os.path.dirname(os.path.dirname(__file__))) - zipf.write(file_path, arc_path) - created_files.append(arc_path) - admin_api_logger.debug("✅ Konfigurationsdateien zur Sicherung hinzugefügt") - except Exception as config_error: - admin_api_logger.warning(f"Fehler beim Hinzufügen der Konfiguration: {str(config_error)}") - - # 3. Wichtige User-Uploads (limitiert auf die letzten 1000 Dateien) - try: - uploads_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'uploads') - if os.path.exists(uploads_dir): - file_count = 0 - max_files = 1000 # Limit für Performance - - for root, dirs, files in os.walk(uploads_dir): - for file in files[:max_files - file_count]: - if file_count >= max_files: - break - - file_path = os.path.join(root, file) - file_size = os.path.getsize(file_path) - - # Nur Dateien unter 50MB hinzufügen - if file_size < 50 * 1024 * 1024: - arc_path = os.path.relpath(file_path, os.path.dirname(os.path.dirname(__file__))) - zipf.write(file_path, arc_path) - created_files.append(arc_path) - file_count += 1 - - if file_count >= max_files: - break - - admin_api_logger.debug(f"✅ {file_count} Upload-Dateien zur Sicherung hinzugefügt") - except Exception as uploads_error: - admin_api_logger.warning(f"Fehler beim Hinzufügen der Uploads: {str(uploads_error)}") - - # 4. System-Logs (nur die letzten 100 Log-Dateien) - try: - logs_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'logs') - if os.path.exists(logs_dir): - log_files = [] - for root, dirs, files in os.walk(logs_dir): - for file in files: - if file.endswith(('.log', '.txt')): - file_path = os.path.join(root, file) - log_files.append((file_path, os.path.getmtime(file_path))) - - # Sortiere nach Datum (neueste zuerst) und nimm nur die letzten 100 - log_files.sort(key=lambda x: x[1], reverse=True) - for file_path, _ in log_files[:100]: - arc_path = os.path.relpath(file_path, os.path.dirname(os.path.dirname(__file__))) - zipf.write(file_path, arc_path) - created_files.append(arc_path) - - admin_api_logger.debug(f"✅ {len(log_files[:100])} Log-Dateien zur Sicherung hinzugefügt") - except Exception as logs_error: - admin_api_logger.warning(f"Fehler beim Hinzufügen der Logs: {str(logs_error)}") - - # Backup-Größe bestimmen - if os.path.exists(backup_path): - backup_size = os.path.getsize(backup_path) - - admin_api_logger.info(f"✅ System-Backup erfolgreich erstellt: {backup_name} ({backup_size / 1024 / 1024:.2f} MB)") - - return jsonify({ - 'success': True, - 'message': f'Backup erfolgreich erstellt: {backup_name}', - 'backup_info': { - 'filename': backup_name, - 'size_bytes': backup_size, - 'size_mb': round(backup_size / 1024 / 1024, 2), - 'files_count': len(created_files), - 'created_at': datetime.now().isoformat(), - 'path': backup_path - } - }) - - except Exception as e: - admin_api_logger.error(f"❌ Fehler beim Erstellen des Backups: {str(e)}") - return jsonify({ - 'success': False, - 'message': f'Fehler beim Erstellen des Backups: {str(e)}' - }), 500 - -@admin_api_blueprint.route('/printers//toggle', methods=['POST']) -@admin_required -def toggle_printer_power(printer_id): - """Schaltet die Steckdose eines Druckers ein oder aus""" - try: - from models import get_db_session, Printer, PlugStatusLog - from utils.hardware_integration import get_tapo_controller - from sqlalchemy import text - - admin_logger.info(f"🔌 Smart-Plug Toggle für Drucker {printer_id} von Admin {current_user.name}") - - # Request-Daten parsen - if request.is_json: - data = request.get_json() - action = data.get('action', 'toggle') - else: - action = request.form.get('action', 'toggle') - - # Drucker aus Datenbank laden - db_session = get_db_session() - try: - printer = db_session.query(Printer).filter(Printer.id == printer_id).first() - - if not printer: - return jsonify({"error": "Drucker nicht gefunden"}), 404 - - if not printer.plug_ip: - return jsonify({"error": "Keine Steckdose für diesen Drucker konfiguriert"}), 400 - - # Tapo-Controller holen - tapo_controller = get_tapo_controller() - - # Aktueller Status der Steckdose prüfen - is_reachable, current_status = tapo_controller.check_outlet_status(printer.plug_ip, printer_id=printer_id) - - if not is_reachable: - # Status auf offline setzen - printer.status = 'offline' - printer.last_checked = datetime.now() - db_session.commit() - - return jsonify({ - "error": f"Steckdose {printer.plug_ip} nicht erreichbar", - "printer_status": "offline" - }), 400 - - # Neue Aktion bestimmen - if action == 'toggle': - new_state = not (current_status == 'on') - elif action in ['on', 'off']: - new_state = (action == 'on') - else: - return jsonify({"error": "Ungültige Aktion"}), 400 - - # Steckdose schalten - success = tapo_controller.toggle_plug(printer.plug_ip, new_state) - - if success: - # Drucker-Status aktualisieren - new_status = 'busy' if new_state else 'idle' - printer.status = new_status - printer.last_checked = datetime.now() - printer.updated_at = datetime.now() - - # Status-Änderung protokollieren - MIT korrekter Drucker-ID - try: - PlugStatusLog.log_status_change( - printer_id=printer_id, # KORRIGIERT: Explizit Drucker-ID übergeben - status='on' if new_state else 'off', - source='admin', - user_id=current_user.id, - ip_address=printer.plug_ip, - notes=f"Toggle durch Admin {current_user.name}" - ) - except Exception as log_error: - admin_logger.error(f"❌ Status-Protokollierung fehlgeschlagen: {str(log_error)}") - # Weiter machen, auch wenn Protokollierung fehlschlägt - - db_session.commit() - - admin_logger.info(f"✅ Drucker {printer_id} erfolgreich {'eingeschaltet' if new_state else 'ausgeschaltet'}") - - return jsonify({ - "success": True, - "message": f"Drucker erfolgreich {'eingeschaltet' if new_state else 'ausgeschaltet'}", - "printer_id": printer_id, - "new_status": new_status, - "plug_status": 'on' if new_state else 'off' - }) - else: - return jsonify({ - "error": f"Fehler beim Schalten der Steckdose", - "printer_id": printer_id - }), 500 - - except Exception as db_error: - admin_logger.error(f"❌ Datenbankfehler bei Toggle-Aktion: {str(db_error)}") - db_session.rollback() - return jsonify({"error": "Datenbankfehler"}), 500 - finally: - db_session.close() - - except Exception as e: - admin_logger.error(f"❌ Allgemeiner Fehler bei Toggle-Aktion: {str(e)}") - return jsonify({"error": f"Systemfehler: {str(e)}"}), 500 - -@admin_api_blueprint.route('/database/optimize', methods=['POST']) -@admin_required -def optimize_database(): - """ - Führt Datenbank-Optimierung durch. - - Optimiert die SQLite-Datenbank durch VACUUM, ANALYZE und weitere - Wartungsoperationen für bessere Performance. - - Returns: - JSON: Erfolgs-Status und Optimierungs-Statistiken - """ - try: - admin_api_logger.info(f"Datenbank-Optimierung angefordert von Admin {current_user.username}") - - from utils.utilities_collection import DATABASE_PATH - - optimization_results = { - 'vacuum_completed': False, - 'analyze_completed': False, - 'integrity_check': False, - 'wal_checkpoint': False, - 'size_before': 0, - 'size_after': 0, - 'space_saved': 0 - } - - # Datenbankgröße vor Optimierung - if os.path.exists(DATABASE_PATH): - optimization_results['size_before'] = os.path.getsize(DATABASE_PATH) - - # Verbindung zur Datenbank herstellen - conn = sqlite3.connect(DATABASE_PATH, timeout=30.0) - cursor = conn.cursor() - - try: - # 1. Integritätsprüfung - admin_api_logger.debug("🔍 Führe Integritätsprüfung durch...") - cursor.execute("PRAGMA integrity_check") - integrity_result = cursor.fetchone() - optimization_results['integrity_check'] = integrity_result[0] == 'ok' - - if not optimization_results['integrity_check']: - admin_api_logger.warning(f"⚠️ Integritätsprüfung ergab: {integrity_result[0]}") - else: - admin_api_logger.debug("✅ Integritätsprüfung erfolgreich") - - # 2. WAL-Checkpoint (falls WAL-Modus aktiv) - try: - admin_api_logger.debug("🔄 Führe WAL-Checkpoint durch...") - cursor.execute("PRAGMA wal_checkpoint(TRUNCATE)") - optimization_results['wal_checkpoint'] = True - admin_api_logger.debug("✅ WAL-Checkpoint erfolgreich") - except Exception as wal_error: - admin_api_logger.debug(f"ℹ️ WAL-Checkpoint nicht möglich: {str(wal_error)}") - - # 3. ANALYZE - Statistiken aktualisieren - admin_api_logger.debug("📊 Aktualisiere Datenbank-Statistiken...") - cursor.execute("ANALYZE") - optimization_results['analyze_completed'] = True - admin_api_logger.debug("✅ ANALYZE erfolgreich") - - # 4. VACUUM - Datenbank komprimieren und reorganisieren - admin_api_logger.debug("🗜️ Komprimiere und reorganisiere Datenbank...") - cursor.execute("VACUUM") - optimization_results['vacuum_completed'] = True - admin_api_logger.debug("✅ VACUUM erfolgreich") - - # 5. Performance-Optimierungen - try: - # Cache-Größe optimieren - cursor.execute("PRAGMA cache_size = 10000") # 10MB Cache - - # Journal-Modus auf WAL setzen für bessere Concurrent-Performance - cursor.execute("PRAGMA journal_mode = WAL") - - # Synchronous auf NORMAL für Balance zwischen Performance und Sicherheit - cursor.execute("PRAGMA synchronous = NORMAL") - - # Page-Größe optimieren (falls noch nicht gesetzt) - cursor.execute("PRAGMA page_size = 4096") - - admin_api_logger.debug("✅ Performance-Optimierungen angewendet") - except Exception as perf_error: - admin_api_logger.warning(f"⚠️ Performance-Optimierungen teilweise fehlgeschlagen: {str(perf_error)}") - - finally: - cursor.close() - conn.close() - - # Datenbankgröße nach Optimierung - if os.path.exists(DATABASE_PATH): - optimization_results['size_after'] = os.path.getsize(DATABASE_PATH) - optimization_results['space_saved'] = optimization_results['size_before'] - optimization_results['size_after'] - - # Ergebnisse loggen - space_saved_mb = optimization_results['space_saved'] / 1024 / 1024 - admin_api_logger.info(f"✅ Datenbank-Optimierung abgeschlossen - {space_saved_mb:.2f} MB Speicher gespart") - - return jsonify({ - 'success': True, - 'message': 'Datenbank erfolgreich optimiert', - 'results': { - 'vacuum_completed': optimization_results['vacuum_completed'], - 'analyze_completed': optimization_results['analyze_completed'], - 'integrity_check_passed': optimization_results['integrity_check'], - 'wal_checkpoint_completed': optimization_results['wal_checkpoint'], - 'size_before_mb': round(optimization_results['size_before'] / 1024 / 1024, 2), - 'size_after_mb': round(optimization_results['size_after'] / 1024 / 1024, 2), - 'space_saved_mb': round(space_saved_mb, 2), - 'optimization_timestamp': datetime.now().isoformat() - } - }) - - except Exception as e: - admin_api_logger.error(f"❌ Fehler bei Datenbank-Optimierung: {str(e)}") - return jsonify({ - 'success': False, - 'message': f'Fehler bei Datenbank-Optimierung: {str(e)}' - }), 500 - -@admin_api_blueprint.route('/cache/clear', methods=['POST']) -@admin_required -def clear_cache(): - """ - Leert den System-Cache. - - Entfernt alle temporären Dateien, Cache-Verzeichnisse und - Python-Bytecode um Speicher freizugeben und Performance zu verbessern. - - Returns: - JSON: Erfolgs-Status und Lösch-Statistiken - """ - try: - admin_api_logger.info(f"Cache-Leerung angefordert von Admin {current_user.username}") - - cleared_stats = { - 'files_deleted': 0, - 'dirs_deleted': 0, - 'space_freed': 0, - 'categories': {} - } - - app_root = os.path.dirname(os.path.dirname(__file__)) - - # 1. Python-Bytecode-Cache leeren (__pycache__) - try: - pycache_count = 0 - pycache_size = 0 - - for root, dirs, files in os.walk(app_root): - if '__pycache__' in root: - for file in files: - file_path = os.path.join(root, file) - try: - pycache_size += os.path.getsize(file_path) - os.remove(file_path) - pycache_count += 1 - except Exception: - pass - - # Versuche das __pycache__-Verzeichnis zu löschen - try: - os.rmdir(root) - cleared_stats['dirs_deleted'] += 1 - except Exception: - pass - - cleared_stats['categories']['python_bytecode'] = { - 'files': pycache_count, - 'size_mb': round(pycache_size / 1024 / 1024, 2) - } - cleared_stats['files_deleted'] += pycache_count - cleared_stats['space_freed'] += pycache_size - - admin_api_logger.debug(f"✅ Python-Bytecode-Cache: {pycache_count} Dateien, {pycache_size / 1024 / 1024:.2f} MB") - - except Exception as pycache_error: - admin_api_logger.warning(f"⚠️ Fehler beim Leeren des Python-Cache: {str(pycache_error)}") - - # 2. Temporäre Dateien im uploads/temp Verzeichnis - try: - temp_count = 0 - temp_size = 0 - temp_dir = os.path.join(app_root, 'uploads', 'temp') - - if os.path.exists(temp_dir): - for root, dirs, files in os.walk(temp_dir): - for file in files: - file_path = os.path.join(root, file) - try: - temp_size += os.path.getsize(file_path) - os.remove(file_path) - temp_count += 1 - except Exception: - pass - - cleared_stats['categories']['temp_uploads'] = { - 'files': temp_count, - 'size_mb': round(temp_size / 1024 / 1024, 2) - } - cleared_stats['files_deleted'] += temp_count - cleared_stats['space_freed'] += temp_size - - admin_api_logger.debug(f"✅ Temporäre Upload-Dateien: {temp_count} Dateien, {temp_size / 1024 / 1024:.2f} MB") - - except Exception as temp_error: - admin_api_logger.warning(f"⚠️ Fehler beim Leeren des Temp-Verzeichnisses: {str(temp_error)}") - - # 3. System-Cache-Verzeichnisse (falls vorhanden) - try: - cache_count = 0 - cache_size = 0 - - cache_dirs = [ - os.path.join(app_root, 'static', 'cache'), - os.path.join(app_root, 'cache'), - os.path.join(app_root, '.cache') - ] - - for cache_dir in cache_dirs: - if os.path.exists(cache_dir): - for root, dirs, files in os.walk(cache_dir): - for file in files: - file_path = os.path.join(root, file) - try: - cache_size += os.path.getsize(file_path) - os.remove(file_path) - cache_count += 1 - except Exception: - pass - - cleared_stats['categories']['system_cache'] = { - 'files': cache_count, - 'size_mb': round(cache_size / 1024 / 1024, 2) - } - cleared_stats['files_deleted'] += cache_count - cleared_stats['space_freed'] += cache_size - - admin_api_logger.debug(f"✅ System-Cache: {cache_count} Dateien, {cache_size / 1024 / 1024:.2f} MB") - - except Exception as cache_error: - admin_api_logger.warning(f"⚠️ Fehler beim Leeren des System-Cache: {str(cache_error)}") - - # 4. Alte Log-Dateien (älter als 30 Tage) - try: - logs_count = 0 - logs_size = 0 - logs_dir = os.path.join(app_root, 'logs') - cutoff_date = datetime.now().timestamp() - (30 * 24 * 60 * 60) # 30 Tage - - if os.path.exists(logs_dir): - for root, dirs, files in os.walk(logs_dir): - for file in files: - if file.endswith(('.log', '.log.1', '.log.2', '.log.3')): - file_path = os.path.join(root, file) - try: - if os.path.getmtime(file_path) < cutoff_date: - logs_size += os.path.getsize(file_path) - os.remove(file_path) - logs_count += 1 - except Exception: - pass - - cleared_stats['categories']['old_logs'] = { - 'files': logs_count, - 'size_mb': round(logs_size / 1024 / 1024, 2) - } - cleared_stats['files_deleted'] += logs_count - cleared_stats['space_freed'] += logs_size - - admin_api_logger.debug(f"✅ Alte Log-Dateien: {logs_count} Dateien, {logs_size / 1024 / 1024:.2f} MB") - - except Exception as logs_error: - admin_api_logger.warning(f"⚠️ Fehler beim Leeren alter Log-Dateien: {str(logs_error)}") - - # 5. Application-Level Cache leeren (falls Models-Cache existiert) - try: - from models import clear_model_cache - clear_model_cache() - admin_api_logger.debug("✅ Application-Level Cache geleert") - except (ImportError, AttributeError): - admin_api_logger.debug("ℹ️ Kein Application-Level Cache verfügbar") - - # Ergebnisse zusammenfassen - total_space_mb = cleared_stats['space_freed'] / 1024 / 1024 - admin_api_logger.info(f"✅ Cache-Leerung abgeschlossen: {cleared_stats['files_deleted']} Dateien, {total_space_mb:.2f} MB freigegeben") - - return jsonify({ - 'success': True, - 'message': f'Cache erfolgreich geleert - {total_space_mb:.2f} MB freigegeben', - 'statistics': { - 'total_files_deleted': cleared_stats['files_deleted'], - 'total_dirs_deleted': cleared_stats['dirs_deleted'], - 'total_space_freed_mb': round(total_space_mb, 2), - 'categories': cleared_stats['categories'], - 'cleanup_timestamp': datetime.now().isoformat() - } - }) - - except Exception as e: - admin_api_logger.error(f"❌ Fehler beim Leeren des Cache: {str(e)}") - return jsonify({ - 'success': False, - 'message': f'Fehler beim Leeren des Cache: {str(e)}' - }), 500 - -# ===== API-ENDPUNKTE FÜR LOGS ===== - -@admin_api_blueprint.route("/logs", methods=["GET"]) -@admin_required -def get_logs_api(): - """API-Endpunkt zum Abrufen von System-Logs""" - try: - level = request.args.get('level', 'all') - limit = min(int(request.args.get('limit', 100)), 1000) # Max 1000 Logs - - with get_cached_session() as db_session: - query = db_session.query(SystemLog) - - # Filter nach Log-Level falls spezifiziert - if level != 'all': - query = query.filter(SystemLog.level == level.upper()) - - # Logs laden - logs = query.order_by(SystemLog.timestamp.desc()).limit(limit).all() - - # In Dictionary konvertieren - logs_data = [] - for log in logs: - logs_data.append({ - 'id': log.id, - 'level': log.level, - 'message': log.message, - 'timestamp': log.timestamp.isoformat() if log.timestamp else None, - 'module': getattr(log, 'module', ''), - 'user_id': getattr(log, 'user_id', None), - 'ip_address': getattr(log, 'ip_address', '') - }) - - admin_logger.info(f"Logs abgerufen: {len(logs_data)} Einträge, Level: {level}") - - return jsonify({ - "success": True, - "logs": logs_data, - "count": len(logs_data), - "level": level - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Abrufen der Logs: {str(e)}") - return jsonify({"error": "Fehler beim Laden der Logs"}), 500 - -@admin_api_blueprint.route("/logs/export", methods=["POST"]) -@admin_required -def export_logs_api(): - """API-Endpunkt zum Exportieren von System-Logs""" - try: - data = request.get_json() or {} - level = data.get('level', 'all') - format_type = data.get('format', 'json') # json, csv, txt - - with get_cached_session() as db_session: - query = db_session.query(SystemLog) - - # Filter nach Log-Level falls spezifiziert - if level != 'all': - query = query.filter(SystemLog.level == level.upper()) - - # Alle Logs für Export laden - logs = query.order_by(SystemLog.timestamp.desc()).all() - - # Export-Format bestimmen - if format_type == 'csv': - import csv - import io - - output = io.StringIO() - writer = csv.writer(output) - - # Header schreiben - writer.writerow(['Timestamp', 'Level', 'Module', 'Message', 'User ID', 'IP Address']) - - # Daten schreiben - for log in logs: - writer.writerow([ - log.timestamp.isoformat() if log.timestamp else '', - log.level, - getattr(log, 'module', ''), - log.message, - getattr(log, 'user_id', ''), - getattr(log, 'ip_address', '') - ]) - - content = output.getvalue() - output.close() - - return jsonify({ - "success": True, - "content": content, - "filename": f"system_logs_{datetime.now().strftime('%Y%m%d_%H%M%S')}.csv", - "content_type": "text/csv" - }) - - elif format_type == 'txt': - lines = [] - for log in logs: - timestamp = log.timestamp.strftime('%Y-%m-%d %H:%M:%S') if log.timestamp else 'Unknown' - lines.append(f"[{timestamp}] {log.level}: {log.message}") - - content = '\n'.join(lines) - - return jsonify({ - "success": True, - "content": content, - "filename": f"system_logs_{datetime.now().strftime('%Y%m%d_%H%M%S')}.txt", - "content_type": "text/plain" - }) - - else: # JSON format - logs_data = [] - for log in logs: - logs_data.append({ - 'id': log.id, - 'level': log.level, - 'message': log.message, - 'timestamp': log.timestamp.isoformat() if log.timestamp else None, - 'module': getattr(log, 'module', ''), - 'user_id': getattr(log, 'user_id', None), - 'ip_address': getattr(log, 'ip_address', '') - }) - - import json - content = json.dumps(logs_data, indent=2, ensure_ascii=False) - - return jsonify({ - "success": True, - "content": content, - "filename": f"system_logs_{datetime.now().strftime('%Y%m%d_%H%M%S')}.json", - "content_type": "application/json" - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Exportieren der Logs: {str(e)}") - return jsonify({"error": "Fehler beim Exportieren der Logs"}), 500 - -# ===== GAST-OTP-MANAGEMENT FÜR OFFLINE-BETRIEB ===== - -@admin_api_blueprint.route("/guest-requests", methods=["GET"]) -@admin_required -def get_guest_requests_api(): - """API-Endpunkt zum Abrufen aller Gastanfragen mit OTP-Codes für Admins""" - try: - with get_cached_session() as db_session: - # Alle Gastanfragen laden - guest_requests = db_session.query(GuestRequest).order_by( - GuestRequest.created_at.desc() - ).all() - - # In Dictionary konvertieren mit OTP-Codes für Admins - requests_data = [] - for req in guest_requests: - request_data = { - 'id': req.id, - 'name': req.name, - 'email': req.email, - 'reason': req.reason, - 'status': req.status, - 'duration_min': req.duration_min, - 'created_at': req.created_at.isoformat() if req.created_at else None, - 'processed_at': req.processed_at.isoformat() if req.processed_at else None, - 'processed_by': req.processed_by, - 'approval_notes': req.approval_notes, - 'rejection_reason': req.rejection_reason, - 'author_ip': req.author_ip - } - - # OTP-Code für Admins sichtbar machen (nur wenn aktiv) - if req.status == 'approved' and req.otp_code and req.otp_expires_at: - if req.otp_expires_at > datetime.now() and not req.otp_used_at: - request_data['otp_code'] = req.otp_code_plain # Klartext für Admin - request_data['otp_expires_at'] = req.otp_expires_at.isoformat() - request_data['otp_status'] = 'active' - elif req.otp_used_at: - request_data['otp_status'] = 'used' - request_data['otp_used_at'] = req.otp_used_at.isoformat() - else: - request_data['otp_status'] = 'expired' - else: - request_data['otp_status'] = 'not_generated' - - requests_data.append(request_data) - - admin_logger.info(f"Gastanfragen abgerufen: {len(requests_data)} Einträge für Admin {current_user.name}") - - return jsonify({ - "success": True, - "requests": requests_data, - "count": len(requests_data) - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Abrufen der Gastanfragen: {str(e)}") - return jsonify({"error": "Fehler beim Laden der Gastanfragen"}), 500 - -@admin_api_blueprint.route("/guest-requests//generate-otp", methods=["POST"]) -@admin_required -def generate_guest_otp_api(request_id): - """Generiert einen neuen OTP-Code für eine genehmigte Gastanfrage""" - try: - with get_cached_session() as db_session: - guest_request = db_session.query(GuestRequest).filter_by(id=request_id).first() - - if not guest_request: - return jsonify({"error": "Gastanfrage nicht gefunden"}), 404 - - if guest_request.status != 'approved': - return jsonify({"error": "Gastanfrage muss erst genehmigt werden"}), 400 - - # Neuen OTP-Code generieren - otp_code = guest_request.generate_otp() - guest_request.otp_expires_at = datetime.now() + timedelta(hours=72) # 72h gültig - guest_request.otp_used_at = None # Reset falls bereits verwendet - - db_session.commit() - - admin_logger.info(f"Neuer OTP-Code generiert für Gastanfrage {request_id} von Admin {current_user.name}") - - return jsonify({ - "success": True, - "message": "Neuer OTP-Code generiert", - "otp_code": otp_code, - "expires_at": guest_request.otp_expires_at.isoformat(), - "guest_name": guest_request.name - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Generieren des OTP-Codes: {str(e)}") - return jsonify({"error": "Fehler beim Generieren des OTP-Codes"}), 500 - -@admin_api_blueprint.route("/guest-requests//print-credentials", methods=["POST"]) -@admin_required -def print_guest_credentials_api(request_id): - """Erstellt Ausdruck-Template für Gast-Zugangsdaten""" - try: - with get_cached_session() as db_session: - guest_request = db_session.query(GuestRequest).filter_by(id=request_id).first() - - if not guest_request: - return jsonify({"error": "Gastanfrage nicht gefunden"}), 404 - - if guest_request.status != 'approved': - return jsonify({"error": "Gastanfrage muss erst genehmigt werden"}), 400 - - if not guest_request.otp_code or not guest_request.otp_expires_at: - return jsonify({"error": "Kein OTP-Code verfügbar"}), 400 - - # Ausdruck-Template erstellen - print_template = { - "type": "guest_credentials", - "title": "MYP GASTZUGANG GENEHMIGT", - "subtitle": "TBA Marienfelde - Offline System", - "guest_info": { - "name": guest_request.name, - "request_id": f"GAS-{guest_request.id:06d}", - "email": guest_request.email, - "approved_at": guest_request.processed_at.strftime("%d.%m.%Y %H:%M") if guest_request.processed_at else None, - "approved_by": guest_request.processed_by - }, - "access_data": { - "otp_code": guest_request.otp_code_plain, # Klartext für Ausdruck - "valid_until": guest_request.otp_expires_at.strftime("%d.%m.%Y %H:%M"), - "login_url": "http://192.168.1.100:5000/auth/guest" - }, - "usage_rules": [ - "Max. Druckzeit pro Job: 4 Stunden", - "Dateiformate: STL, OBJ, 3MF, GCODE", - "Materialien: PLA, PETG", - "Jobs benötigen Admin-Freigabe" - ], - "pickup_info": { - "location": "TBA Marienfelde, Raum B2.1", - "hours": "Mo-Fr 8:00-16:00", - "storage_days": "Max. 7 Tage" - }, - "qr_code_data": f"http://192.168.1.100:5000/auth/guest?name={guest_request.name}&id={guest_request.id}", - "admin_note": "An Gast aushändigen", - "timestamp": datetime.now().isoformat() - } - - admin_logger.info(f"Ausdruck-Template erstellt für Gastanfrage {request_id} von Admin {current_user.name}") - - return jsonify({ - "success": True, - "print_template": print_template - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Erstellen des Ausdruck-Templates: {str(e)}") - return jsonify({"error": "Fehler beim Erstellen des Ausdruck-Templates"}), 500 - -@admin_api_blueprint.route("/guest-requests/pending-otps", methods=["GET"]) -@admin_required -def get_pending_guest_otps_api(): - """Listet alle aktiven OTP-Codes für schnelle Admin-Übersicht""" - try: - with get_cached_session() as db_session: - # Alle genehmigten Anfragen mit aktiven OTP-Codes - active_requests = db_session.query(GuestRequest).filter( - GuestRequest.status == 'approved', - GuestRequest.otp_code.isnot(None), - GuestRequest.otp_expires_at > datetime.now(), - GuestRequest.otp_used_at.is_(None) - ).order_by(GuestRequest.otp_expires_at.asc()).all() - - # Kompakte Liste für Admin-Dashboard - otps_data = [] - for req in active_requests: - time_remaining = req.otp_expires_at - datetime.now() - hours_remaining = int(time_remaining.total_seconds() // 3600) - - otps_data.append({ - 'request_id': req.id, - 'guest_name': req.name, - 'otp_code': req.otp_code_plain, # Klartext für Admin - 'expires_at': req.otp_expires_at.isoformat(), - 'hours_remaining': hours_remaining, - 'urgency': 'critical' if hours_remaining < 2 else 'warning' if hours_remaining < 24 else 'normal' - }) - - admin_logger.info(f"Aktive OTP-Codes abgerufen: {len(otps_data)} Codes") - - return jsonify({ - "success": True, - "active_otps": otps_data, - "count": len(otps_data) - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Abrufen aktiver OTP-Codes: {str(e)}") - return jsonify({"error": "Fehler beim Laden der OTP-Codes"}), 500 - -@admin_api_blueprint.route("/guest-requests//approve", methods=["POST"]) -@admin_required -def approve_guest_request_api(request_id): - """API-Endpunkt zum Genehmigen einer Gastanfrage""" - try: - data = request.get_json() or {} - approval_notes = data.get('approval_notes', '').strip() - printer_id = data.get('printer_id') # Optional: Drucker zuweisen - - with get_cached_session() as db_session: - guest_request = db_session.query(GuestRequest).filter_by(id=request_id).first() - - if not guest_request: - return jsonify({"error": "Gastanfrage nicht gefunden"}), 404 - - if guest_request.status != 'pending': - return jsonify({"error": f"Gastanfrage ist bereits {guest_request.status}"}), 400 - - # Optional: Drucker validieren falls angegeben - if printer_id: - printer = db_session.query(Printer).filter_by(id=printer_id).first() - if not printer: - return jsonify({"error": "Angegebener Drucker nicht gefunden"}), 400 - guest_request.assigned_printer_id = printer_id - - # Gastanfrage genehmigen - guest_request.status = 'approved' - guest_request.processed_by = current_user.id - guest_request.processed_at = datetime.now() - guest_request.approved_by = current_user.id - guest_request.approved_at = datetime.now() - guest_request.approval_notes = approval_notes - guest_request.updated_at = datetime.now() - - # OTP-Code generieren - import secrets - import string - otp_code = ''.join(secrets.choice(string.digits) for _ in range(6)) - guest_request.otp_code_plain = otp_code - guest_request.otp_code = bcrypt.hashpw(otp_code.encode('utf-8'), bcrypt.gensalt()).decode('utf-8') - guest_request.otp_expires_at = datetime.now() + timedelta(hours=72) # 72h gültig - - db_session.commit() - - admin_logger.info(f"Gastanfrage {request_id} von Admin {current_user.name} genehmigt") - - return jsonify({ - "success": True, - "message": "Gastanfrage erfolgreich genehmigt", - "otp_code": otp_code, - "request_id": request_id, - "guest_name": guest_request.name, - "expires_at": guest_request.otp_expires_at.isoformat() - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Genehmigen der Gastanfrage {request_id}: {str(e)}") - return jsonify({"error": "Fehler beim Genehmigen der Gastanfrage"}), 500 - -@admin_api_blueprint.route("/guest-requests//reject", methods=["POST"]) -@admin_required -def reject_guest_request_api(request_id): - """API-Endpunkt zum Ablehnen einer Gastanfrage""" - try: - data = request.get_json() or {} - rejection_reason = data.get('rejection_reason', '').strip() - - if not rejection_reason: - return jsonify({"error": "Ablehnungsgrund ist erforderlich"}), 400 - - with get_cached_session() as db_session: - guest_request = db_session.query(GuestRequest).filter_by(id=request_id).first() - - if not guest_request: - return jsonify({"error": "Gastanfrage nicht gefunden"}), 404 - - if guest_request.status != 'pending': - return jsonify({"error": f"Gastanfrage ist bereits {guest_request.status}"}), 400 - - # Gastanfrage ablehnen - guest_request.status = 'rejected' - guest_request.processed_by = current_user.id - guest_request.processed_at = datetime.now() - guest_request.rejected_by = current_user.id - guest_request.rejected_at = datetime.now() - guest_request.rejection_reason = rejection_reason - guest_request.updated_at = datetime.now() - - db_session.commit() - - admin_logger.info(f"Gastanfrage {request_id} von Admin {current_user.name} abgelehnt: {rejection_reason}") - - return jsonify({ - "success": True, - "message": "Gastanfrage erfolgreich abgelehnt", - "request_id": request_id, - "guest_name": guest_request.name, - "rejection_reason": rejection_reason - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Ablehnen der Gastanfrage {request_id}: {str(e)}") - return jsonify({"error": "Fehler beim Ablehnen der Gastanfrage"}), 500 - -# ===== ADMIN-UI ROUTES FÜR GAST-OTP-VERWALTUNG ===== - -@admin_blueprint.route("/guest-otps") -@admin_required -def guest_otps_management(): - """Admin-UI für Gast-OTP-Verwaltung (Offline-System)""" - admin_logger.info(f"Gast-OTP-Verwaltung aufgerufen von Admin {current_user.name}") - - return render_template('admin_guest_otps.html', - page_title="Gast-OTP-Verwaltung", - current_user=current_user) - -# ===== API-ENDPUNKTE FÜR SYSTEM-INFORMATIONEN ===== - -@admin_api_blueprint.route("/system/status", methods=["GET"]) -@admin_required -def get_system_status_api(): - """API-Endpunkt für System-Status-Informationen""" - try: - import psutil - import platform - - # System-Informationen sammeln - cpu_usage = psutil.cpu_percent(interval=1) - memory = psutil.virtual_memory() - disk = psutil.disk_usage('/') - - # Netzwerk-Informationen - network = psutil.net_io_counters() - - # Python und Flask Informationen - python_version = platform.python_version() - platform_info = platform.platform() - - # Datenbank-Statistiken - with get_cached_session() as db_session: - total_users = db_session.query(User).count() - total_printers = db_session.query(Printer).count() - total_jobs = db_session.query(Job).count() - - # Aktive Jobs zählen - active_jobs = db_session.query(Job).filter( - Job.status.in_(['pending', 'printing', 'paused']) - ).count() - - system_status = { - "cpu": { - "usage_percent": cpu_usage, - "core_count": psutil.cpu_count() - }, - "memory": { - "total": memory.total, - "available": memory.available, - "used": memory.used, - "usage_percent": memory.percent - }, - "disk": { - "total": disk.total, - "used": disk.used, - "free": disk.free, - "usage_percent": (disk.used / disk.total) * 100 - }, - "network": { - "bytes_sent": network.bytes_sent, - "bytes_received": network.bytes_recv, - "packets_sent": network.packets_sent, - "packets_received": network.packets_recv - }, - "system": { - "python_version": python_version, - "platform": platform_info, - "uptime": datetime.now().isoformat() - }, - "database": { - "total_users": total_users, - "total_printers": total_printers, - "total_jobs": total_jobs, - "active_jobs": active_jobs - } - } - - admin_logger.info(f"System-Status abgerufen von {current_user.username}") - - return jsonify({ - "success": True, - "status": system_status, - "timestamp": datetime.now().isoformat() - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Abrufen des System-Status: {str(e)}") - return jsonify({"error": "Fehler beim Laden des System-Status"}), 500 - -# ===== TEST-ENDPUNKTE FÜR ENTWICKLUNG ===== - -@admin_api_blueprint.route("/test/create-sample-logs", methods=["POST"]) -@admin_required -def create_sample_logs_api(): - """Test-Endpunkt zum Erstellen von Beispiel-Log-Einträgen""" - try: - with get_cached_session() as db_session: - # Verschiedene Log-Level erstellen - sample_logs = [ - { - 'level': 'INFO', - 'message': 'System erfolgreich gestartet', - 'module': 'admin', - 'user_id': current_user.id, - 'ip_address': request.remote_addr - }, - { - 'level': 'WARNING', - 'message': 'Drucker hat 5 Minuten nicht geantwortet', - 'module': 'printer_monitor', - 'user_id': None, - 'ip_address': None - }, - { - 'level': 'ERROR', - 'message': 'Fehler beim Verbinden mit Drucker printer-001', - 'module': 'printer', - 'user_id': None, - 'ip_address': None - }, - { - 'level': 'DEBUG', - 'message': 'API-Aufruf erfolgreich verarbeitet', - 'module': 'api', - 'user_id': current_user.id, - 'ip_address': request.remote_addr - }, - { - 'level': 'CRITICAL', - 'message': 'Datenbank-Verbindung unterbrochen', - 'module': 'database', - 'user_id': None, - 'ip_address': None - } - ] - - # Log-Einträge erstellen - created_count = 0 - for log_data in sample_logs: - log_entry = SystemLog( - level=log_data['level'], - message=log_data['message'], - module=log_data['module'], - user_id=log_data['user_id'], - ip_address=log_data['ip_address'] - ) - db_session.add(log_entry) - created_count += 1 - - db_session.commit() - - admin_logger.info(f"Test-Logs erstellt: {created_count} Einträge von {current_user.username}") - - return jsonify({ - "success": True, - "message": f"{created_count} Test-Log-Einträge erfolgreich erstellt", - "count": created_count - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Erstellen der Test-Logs: {str(e)}") - return jsonify({"error": "Fehler beim Erstellen der Test-Logs"}), 500 - -# ===== STECKDOSENSCHALTZEITEN API-ENDPUNKTE ===== - -@admin_api_blueprint.route('/plug-schedules/logs', methods=['GET']) -@admin_required -def api_admin_plug_schedules_logs(): - """ - API-Endpoint für Steckdosenschaltzeiten-Logs. - Unterstützt Filterung nach Drucker, Zeitraum und Status. - """ - try: - # Parameter aus Request - printer_id = request.args.get('printer_id', type=int) - hours = request.args.get('hours', default=24, type=int) - status_filter = request.args.get('status') - page = request.args.get('page', default=1, type=int) - per_page = request.args.get('per_page', default=100, type=int) - - # Maximale Grenzen setzen - hours = min(hours, 168) # Maximal 7 Tage - per_page = min(per_page, 1000) # Maximal 1000 Einträge pro Seite - - with get_cached_session() as db_session: - # Basis-Query - cutoff_time = datetime.now() - timedelta(hours=hours) - query = db_session.query(PlugStatusLog)\ - .filter(PlugStatusLog.timestamp >= cutoff_time)\ - .join(Printer) - - # Drucker-Filter - if printer_id: - query = query.filter(PlugStatusLog.printer_id == printer_id) - - # Status-Filter - if status_filter: - query = query.filter(PlugStatusLog.status == status_filter) - - # Gesamtanzahl für Paginierung - total = query.count() - - # Sortierung und Paginierung - logs = query.order_by(PlugStatusLog.timestamp.desc())\ - .offset((page - 1) * per_page)\ - .limit(per_page)\ - .all() - - # Daten serialisieren - log_data = [] - for log in logs: - log_dict = log.to_dict() - # Zusätzliche berechnete Felder - log_dict['timestamp_relative'] = get_relative_time(log.timestamp) - log_dict['status_icon'] = get_status_icon(log.status) - log_dict['status_color'] = get_status_color(log.status) - log_data.append(log_dict) - - # Paginierungs-Metadaten - has_next = (page * per_page) < total - has_prev = page > 1 - - return jsonify({ - "success": True, - "logs": log_data, - "pagination": { - "page": page, - "per_page": per_page, - "total": total, - "total_pages": (total + per_page - 1) // per_page, - "has_next": has_next, - "has_prev": has_prev - }, - "filters": { - "printer_id": printer_id, - "hours": hours, - "status": status_filter - }, - "generated_at": datetime.now().isoformat() - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Abrufen der Steckdosen-Logs: {str(e)}") - return jsonify({ - "success": False, - "error": "Fehler beim Laden der Steckdosen-Logs", - "details": str(e) if current_user.is_admin else None - }), 500 - -@admin_api_blueprint.route('/plug-schedules/statistics', methods=['GET']) -@admin_required -def api_admin_plug_schedules_statistics(): - """ - API-Endpoint für Steckdosenschaltzeiten-Statistiken. - """ - try: - hours = request.args.get('hours', default=24, type=int) - hours = min(hours, 168) # Maximal 7 Tage - - # Statistiken abrufen - stats = PlugStatusLog.get_status_statistics(hours=hours) - - # Drucker-Namen für die Top-Liste hinzufügen - if stats.get('top_printers'): - with get_cached_session() as db_session: - printer_ids = list(stats['top_printers'].keys()) - printers = db_session.query(Printer.id, Printer.name)\ - .filter(Printer.id.in_(printer_ids))\ - .all() - - printer_names = {p.id: p.name for p in printers} - - # Top-Drucker mit Namen anreichern - top_printers_with_names = [] - for printer_id, count in stats['top_printers'].items(): - top_printers_with_names.append({ - "printer_id": printer_id, - "printer_name": printer_names.get(printer_id, f"Drucker {printer_id}"), - "log_count": count - }) - - stats['top_printers_detailed'] = top_printers_with_names - - return jsonify({ - "success": True, - "statistics": stats - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Abrufen der Steckdosen-Statistiken: {str(e)}") - return jsonify({ - "success": False, - "error": "Fehler beim Laden der Statistiken", - "details": str(e) if current_user.is_admin else None - }), 500 - -@admin_api_blueprint.route('/plug-schedules/cleanup', methods=['POST']) -@admin_required -def api_admin_plug_schedules_cleanup(): - """ - API-Endpoint zum Bereinigen alter Steckdosenschaltzeiten-Logs. - """ - try: - data = request.get_json() or {} - days = data.get('days', 30) - days = max(1, min(days, 365)) # Zwischen 1 und 365 Tagen - - # Bereinigung durchführen - deleted_count = PlugStatusLog.cleanup_old_logs(days=days) - - # Erfolg loggen - SystemLog.log_system_event( - level="INFO", - message=f"Steckdosen-Logs bereinigt: {deleted_count} Einträge gelöscht (älter als {days} Tage)", - module="admin_plug_schedules", - user_id=current_user.id - ) - - admin_logger.info(f"Admin {current_user.username} bereinigte {deleted_count} Steckdosen-Logs (älter als {days} Tage)") - - return jsonify({ - "success": True, - "deleted_count": deleted_count, - "days": days, - "message": f"Erfolgreich {deleted_count} alte Einträge gelöscht" - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Bereinigen der Steckdosen-Logs: {str(e)}") - return jsonify({ - "success": False, - "error": "Fehler beim Bereinigen der Logs", - "details": str(e) if current_user.is_admin else None - }), 500 - -@admin_api_blueprint.route('/plug-schedules/calendar', methods=['GET']) -@admin_required -def api_admin_plug_schedules_calendar(): - """ - API-Endpunkt für Kalender-Daten der Steckdosenschaltzeiten. - Liefert Events für FullCalendar im JSON-Format. - """ - try: - # Parameter aus Request - start_date = request.args.get('start') - end_date = request.args.get('end') - printer_id = request.args.get('printer_id', type=int) - - if not start_date or not end_date: - return jsonify([]) # Leere Events bei fehlenden Daten - - # Datum-Strings zu datetime konvertieren - start_dt = datetime.fromisoformat(start_date.replace('Z', '+00:00')) - end_dt = datetime.fromisoformat(end_date.replace('Z', '+00:00')) - - with get_cached_session() as db_session: - # Query für Logs im Zeitraum - query = db_session.query(PlugStatusLog)\ - .filter(PlugStatusLog.timestamp >= start_dt)\ - .filter(PlugStatusLog.timestamp <= end_dt)\ - .join(Printer) - - # Drucker-Filter - if printer_id: - query = query.filter(PlugStatusLog.printer_id == printer_id) - - # Logs abrufen und nach Drucker gruppieren - logs = query.order_by(PlugStatusLog.timestamp.asc()).all() - - # Events für FullCalendar formatieren - events = [] - for log in logs: - # Farbe und Titel basierend auf Status - if log.status == 'on': - color = '#10b981' # Grün - title = f"🟢 {log.printer.name}: EIN" - elif log.status == 'off': - color = '#f59e0b' # Orange - title = f"🔴 {log.printer.name}: AUS" - elif log.status == 'connected': - color = '#3b82f6' # Blau - title = f"🔌 {log.printer.name}: Verbunden" - elif log.status == 'disconnected': - color = '#ef4444' # Rot - title = f"⚠️ {log.printer.name}: Getrennt" - else: - color = '#6b7280' # Grau - title = f"❓ {log.printer.name}: {log.status}" - - # Event-Objekt für FullCalendar - event = { - 'id': f"plug_{log.id}", - 'title': title, - 'start': log.timestamp.isoformat(), - 'backgroundColor': color, - 'borderColor': color, - 'textColor': '#ffffff', - 'allDay': False, - 'extendedProps': { - 'printer_id': log.printer_id, - 'printer_name': log.printer.name, - 'status': log.status, - 'timestamp': log.timestamp.isoformat(), - 'log_id': log.id - } - } - - events.append(event) - - return jsonify(events) - - except Exception as e: - admin_logger.error(f"Fehler beim Laden der Kalender-Daten: {str(e)}") - return jsonify([]) - -@admin_api_blueprint.route('/live-stats', methods=['GET']) -@admin_required -def api_admin_live_stats(): - """ - API-Endpunkt für Live-Statistiken des Admin-Dashboards - - Liefert aktuelle System-Statistiken für das Dashboard: - - Benutzer-Statistiken - - Drucker-Status - - Job-Statistiken - - System-Performance - """ - try: - with get_cached_session() as db_session: - # Benutzer-Statistiken - total_users = db_session.query(User).count() - active_users = db_session.query(User).filter(User.active == True).count() - admin_users = db_session.query(User).filter(User.role == 'admin').count() - - # Drucker-Statistiken - total_printers = db_session.query(Printer).count() - active_printers = db_session.query(Printer).filter(Printer.active == True).count() - online_printers = db_session.query(Printer).filter( - Printer.active == True, - Printer.status == 'online' - ).count() - - # Job-Statistiken - total_jobs = db_session.query(Job).count() - active_jobs = db_session.query(Job).filter( - Job.status.in_(['pending', 'printing', 'paused']) - ).count() - completed_jobs = db_session.query(Job).filter( - Job.status == 'completed' - ).count() - failed_jobs = db_session.query(Job).filter( - Job.status == 'failed' - ).count() - - # Jobs der letzten 24 Stunden - last_24h = datetime.now() - timedelta(hours=24) - jobs_24h = db_session.query(Job).filter( - Job.created_at >= last_24h - ).count() - - # Jobs der letzten 7 Tage - last_7d = datetime.now() - timedelta(days=7) - jobs_7d = db_session.query(Job).filter( - Job.created_at >= last_7d - ).count() - - # Steckdosen-Statistiken - plug_logs_24h = db_session.query(PlugStatusLog).filter( - PlugStatusLog.timestamp >= last_24h - ).count() - - # System-Logs der letzten Stunde - last_hour = datetime.now() - timedelta(hours=1) - system_logs_1h = db_session.query(SystemLog).filter( - SystemLog.timestamp >= last_hour - ).count() - - # Response-Struktur - stats = { - 'users': { - 'total': total_users, - 'active': active_users, - 'admins': admin_users - }, - 'printers': { - 'total': total_printers, - 'active': active_printers, - 'online': online_printers, - 'offline': active_printers - online_printers - }, - 'jobs': { - 'total': total_jobs, - 'active': active_jobs, - 'completed': completed_jobs, - 'failed': failed_jobs, - 'last_24h': jobs_24h, - 'last_7d': jobs_7d - }, - 'system': { - 'plug_logs_24h': plug_logs_24h, - 'system_logs_1h': system_logs_1h, - 'uptime': 'Unbekannt' # Könnte später implementiert werden - }, - 'timestamp': datetime.now().isoformat() - } - - admin_api_logger.info(f"Live-Statistiken abgerufen von Admin {current_user.username}") - - return jsonify({ - 'success': True, - 'stats': stats, - 'message': 'Live-Statistiken erfolgreich geladen' - }) - - except Exception as e: - admin_api_logger.error(f"Fehler beim Abrufen der Live-Statistiken: {str(e)}") - return jsonify({ - 'success': False, - 'error': 'Fehler beim Laden der Statistiken', - 'message': str(e), - 'stats': {} - }), 500 - -@admin_api_blueprint.route('/system/health', methods=['GET']) -@admin_required -def api_admin_system_health(): - """ - Detaillierte System-Gesundheitsprüfung für das Admin-Panel. - - Testet alle kritischen Systemkomponenten und gibt strukturierte - Gesundheitsinformationen zurück. - - Returns: - JSON mit detaillierten System-Health-Informationen - """ - admin_logger.info(f"System-Health-Check durchgeführt von {current_user.username}") - - try: - from models import get_db_session - from sqlalchemy import text - import os - import time - - health_status = { - "overall_status": "healthy", - "timestamp": datetime.now().isoformat(), - "checks": {} - } - - # 1. Datenbank-Health-Check - try: - db_session = get_db_session() - start_time = time.time() - - # KORRIGIERT: Verwende text() für SQL-Ausdruck - db_session.execute(text("SELECT 1")) - db_response_time = round((time.time() - start_time) * 1000, 2) - - db_session.close() - - health_status["checks"]["database"] = { - "status": "healthy", - "response_time_ms": db_response_time, - "message": "Datenbank ist erreichbar" - } - except Exception as db_error: - admin_logger.error(f"Datenbank-Health-Check fehlgeschlagen: {str(db_error)}") - health_status["checks"]["database"] = { - "status": "critical", - "error": str(db_error), - "message": "Datenbank nicht erreichbar" - } - health_status["overall_status"] = "unhealthy" - - # 2. Speicherplatz-Check (Windows-kompatibel) - try: - import shutil - disk_usage = shutil.disk_usage('.') - free_space_gb = disk_usage.free / (1024**3) - total_space_gb = disk_usage.total / (1024**3) - used_percent = ((disk_usage.total - disk_usage.free) / disk_usage.total) * 100 - - if used_percent > 90: - disk_status = "critical" - health_status["overall_status"] = "unhealthy" - elif used_percent > 80: - disk_status = "warning" - if health_status["overall_status"] == "healthy": - health_status["overall_status"] = "warning" - else: - disk_status = "healthy" - - health_status["checks"]["disk_space"] = { - "status": disk_status, - "free_space_gb": round(free_space_gb, 2), - "total_space_gb": round(total_space_gb, 2), - "used_percent": round(used_percent, 1), - "message": f"Speicherplatz: {round(used_percent, 1)}% belegt" - } - except Exception as disk_error: - admin_logger.error(f"Speicherplatz-Check fehlgeschlagen: {str(disk_error)}") - health_status["checks"]["disk_space"] = { - "status": "warning", - "error": str(disk_error), - "message": "Speicherplatz-Information nicht verfügbar" - } - - # 3. Tapo-Controller-Health-Check - try: - from utils.hardware_integration import get_tapo_controller - tapo_controller = get_tapo_controller() - - # Teste mit einer beispiel-IP - test_result = tapo_controller.is_plug_reachable("192.168.0.100") - - health_status["checks"]["tapo_controller"] = { - "status": "healthy", - "message": "Tapo-Controller verfügbar", - "test_result": test_result - } - except Exception as tapo_error: - health_status["checks"]["tapo_controller"] = { - "status": "warning", - "error": str(tapo_error), - "message": "Tapo-Controller Problem" - } - - # 4. Session-System-Check - try: - from flask import session - session_test = session.get('_id', 'unknown') - - health_status["checks"]["session_system"] = { - "status": "healthy", - "message": "Session-System funktionsfähig", - "session_id": session_test[:8] + "..." if len(session_test) > 8 else session_test - } - except Exception as session_error: - health_status["checks"]["session_system"] = { - "status": "warning", - "error": str(session_error), - "message": "Session-System Problem" - } - - # 5. Logging-System-Check - try: - admin_logger.debug("Health-Check Test-Log-Eintrag") - health_status["checks"]["logging_system"] = { - "status": "healthy", - "message": "Logging-System funktionsfähig" - } - except Exception as log_error: - health_status["checks"]["logging_system"] = { - "status": "warning", - "error": str(log_error), - "message": "Logging-System Problem" - } - - admin_logger.info(f"System-Health-Check durchgeführt: {health_status['overall_status']}") - - return jsonify({ - "success": True, - "health": health_status - }) - - except Exception as e: - admin_logger.error(f"Allgemeiner Fehler beim System-Health-Check: {str(e)}") - return jsonify({ - "success": False, - "error": "Fehler beim System-Health-Check", - "details": str(e), - "health": { - "overall_status": "critical", - "timestamp": datetime.now().isoformat(), - "checks": {} - } - }), 500 - -# ===== HELPER FUNCTIONS FOR PLUG SCHEDULES ===== - -def get_relative_time(timestamp): - """Gibt eine relative Zeitangabe zurück (z.B. 'vor 2 Stunden')""" - try: - if not timestamp: - return "Unbekannt" - - now = datetime.now() - diff = now - timestamp - - if diff.days > 0: - return f"vor {diff.days} Tag{'en' if diff.days > 1 else ''}" - elif diff.seconds > 3600: - hours = diff.seconds // 3600 - return f"vor {hours} Stunde{'n' if hours > 1 else ''}" - elif diff.seconds > 60: - minutes = diff.seconds // 60 - return f"vor {minutes} Minute{'n' if minutes > 1 else ''}" - else: - return "gerade eben" - except Exception: - return "Unbekannt" - -def get_status_icon(status): - """Gibt ein Icon für den gegebenen Status zurück""" - status_icons = { - 'on': '🟢', - 'off': '🔴', - 'connected': '🔌', - 'disconnected': '⚠️', - 'unknown': '❓' - } - return status_icons.get(status, '❓') - -def get_status_color(status): - """Gibt eine Farbe für den gegebenen Status zurück""" - status_colors = { - 'on': '#10b981', # Grün - 'off': '#f59e0b', # Orange - 'connected': '#3b82f6', # Blau - 'disconnected': '#ef4444', # Rot - 'unknown': '#6b7280' # Grau - } - return status_colors.get(status, '#6b7280') - -# ===== FEHLENDE API-ROUTEN HINZUFÜGEN ===== - -@admin_api_blueprint.route('/system-health', methods=['GET']) -@admin_required -def api_admin_system_health_alias(): - """ - Alias-Route für system-health (Kompatibilität mit Frontend). - - Leitet Anfragen an die bestehende system/health Route weiter. - """ - return api_admin_system_health() - -@admin_api_blueprint.route('/error-recovery/status', methods=['GET']) -@admin_required -def api_admin_error_recovery_status(): - """ - API-Endpunkt für Error-Recovery-Status. - - Bietet detaillierte Informationen über: - - Systemfehler-Status - - Recovery-Mechanismen - - Fehlerbehebungsempfehlungen - - Auto-Recovery-Status - - Returns: - JSON mit Error-Recovery-Informationen - """ - admin_logger.info(f"Error-Recovery-Status angefordert von {current_user.username}") - - try: - from models import get_db_session - from sqlalchemy import text - import os - - recovery_status = { - "overall_status": "stable", - "timestamp": datetime.now().isoformat(), - "error_levels": { - "critical": 0, - "warning": 0, - "info": 0 - }, - "components": {}, - "recommendations": [] - } - - # 1. Datenbank-Gesundheit für Error-Recovery - try: - db_session = get_db_session() - # KORRIGIERT: Verwende text() für SQL-Ausdruck - db_session.execute(text("SELECT 1")) - db_session.close() - - recovery_status["components"]["database"] = { - "status": "healthy", - "message": "Datenbank verfügbar" - } - except Exception as db_error: - admin_logger.error(f"Datenbank-Health-Check für Error-Recovery fehlgeschlagen: {str(db_error)}") - recovery_status["components"]["database"] = { - "status": "critical", - "error": str(db_error), - "message": "Datenbank nicht verfügbar" - } - recovery_status["error_levels"]["critical"] += 1 - recovery_status["overall_status"] = "critical" - recovery_status["recommendations"].append("Datenbank-Verbindung prüfen und neu starten") - - # 2. Log-Dateien-Status - try: - log_dirs = ["logs/admin_api", "logs/app", "logs/tapo_control"] - log_status = "healthy" - - for log_dir in log_dirs: - if not os.path.exists(log_dir): - log_status = "warning" - recovery_status["error_levels"]["warning"] += 1 - break - - recovery_status["components"]["logging"] = { - "status": log_status, - "message": "Logging-System verfügbar" if log_status == "healthy" else "Einige Log-Verzeichnisse fehlen" - } - - if log_status == "warning": - recovery_status["recommendations"].append("Log-Verzeichnisse prüfen und erstellen") - except Exception as log_error: - recovery_status["components"]["logging"] = { - "status": "warning", - "error": str(log_error), - "message": "Log-System Problem" - } - recovery_status["error_levels"]["warning"] += 1 - - # 3. Session-Management - try: - from flask import session - session_test = session.get('_id', None) - - recovery_status["components"]["session_management"] = { - "status": "healthy", - "message": "Session-System funktionsfähig", - "active_session": bool(session_test) - } - except Exception as session_error: - recovery_status["components"]["session_management"] = { - "status": "warning", - "error": str(session_error), - "message": "Session-System Problem" - } - recovery_status["error_levels"]["warning"] += 1 - recovery_status["recommendations"].append("Session-System neu starten") - - # 4. Tapo-Controller-Status - try: - from utils.hardware_integration import get_tapo_controller - tapo_controller = get_tapo_controller() - - recovery_status["components"]["tapo_controller"] = { - "status": "healthy", - "message": "Tapo-Controller verfügbar" - } - except Exception as tapo_error: - recovery_status["components"]["tapo_controller"] = { - "status": "warning", - "error": str(tapo_error), - "message": "Tapo-Controller nicht verfügbar" - } - recovery_status["error_levels"]["warning"] += 1 - recovery_status["recommendations"].append("Tapo-Controller-Konfiguration prüfen") - - # 5. Auto-Recovery-Mechanismen - recovery_status["auto_recovery"] = { - "enabled": True, - "mechanisms": [ - "Automatische Datenbank-Reconnection", - "Session-Cleanup bei Fehlern", - "Tapo-Connection-Retry", - "Graceful Error-Handling" - ], - "last_recovery": "Nicht verfügbar" - } - - # 6. Gesamt-Status bestimmen - total_errors = sum(recovery_status["error_levels"].values()) - if recovery_status["error_levels"]["critical"] > 0: - recovery_status["overall_status"] = "critical" - elif recovery_status["error_levels"]["warning"] > 2: - recovery_status["overall_status"] = "degraded" - elif recovery_status["error_levels"]["warning"] > 0: - recovery_status["overall_status"] = "warning" - else: - recovery_status["overall_status"] = "stable" - - # 7. Allgemeine Empfehlungen hinzufügen - if total_errors == 0: - recovery_status["recommendations"].append("System läuft stabil - keine Maßnahmen erforderlich") - elif recovery_status["overall_status"] == "critical": - recovery_status["recommendations"].append("Sofortige Maßnahmen erforderlich - System-Neustart empfohlen") - - admin_logger.info(f"Error-Recovery-Status abgerufen: {recovery_status['overall_status']}") - - return jsonify({ - "success": True, - "recovery_status": recovery_status - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Error-Recovery-Status: {str(e)}") - return jsonify({ - "success": False, - "error": "Fehler beim Abrufen des Error-Recovery-Status", - "details": str(e), - "recovery_status": { - "overall_status": "error", - "timestamp": datetime.now().isoformat(), - "message": "Error-Recovery-System nicht verfügbar" - } - }), 500 - -# ===== FEHLENDE MAINTENANCE-API-ENDPUNKTE ===== - -@admin_api_blueprint.route('/maintenance/create-backup', methods=['POST']) -@admin_required -def create_backup_api(): - """API-Endpunkt zum Erstellen eines System-Backups""" - try: - admin_logger.info(f"System-Backup angefordert von {current_user.username}") - - # Backup-Verzeichnis erstellen - backup_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'backups') - os.makedirs(backup_dir, exist_ok=True) - - # Backup-Dateiname mit Zeitstempel - timestamp = datetime.now().strftime('%Y%m%d_%H%M%S') - backup_filename = f"myp_backup_{timestamp}.zip" - backup_path = os.path.join(backup_dir, backup_filename) - - # Backup erstellen - with zipfile.ZipFile(backup_path, 'w', zipfile.ZIP_DEFLATED) as backup_zip: - # Datenbank hinzufügen - database_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'database', 'myp.db') - if os.path.exists(database_path): - backup_zip.write(database_path, 'database/myp.db') - - # Konfigurationsdateien hinzufügen - config_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'config') - if os.path.exists(config_dir): - for root, dirs, files in os.walk(config_dir): - for file in files: - if file.endswith('.py') or file.endswith('.json'): - file_path = os.path.join(root, file) - arcname = os.path.relpath(file_path, os.path.dirname(os.path.dirname(__file__))) - backup_zip.write(file_path, arcname) - - # Logs (nur aktuelle) hinzufügen - logs_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'logs') - if os.path.exists(logs_dir): - for root, dirs, files in os.walk(logs_dir): - for file in files: - if file.endswith('.log'): - file_path = os.path.join(root, file) - # Nur Dateien der letzten 7 Tage - if os.path.getmtime(file_path) > (time.time() - 7*24*60*60): - arcname = os.path.relpath(file_path, os.path.dirname(os.path.dirname(__file__))) - backup_zip.write(file_path, arcname) - - backup_size = os.path.getsize(backup_path) - admin_logger.info(f"System-Backup erstellt: {backup_filename} ({backup_size} Bytes)") - - return jsonify({ - 'success': True, - 'message': 'Backup erfolgreich erstellt', - 'backup_file': backup_filename, - 'backup_size': backup_size, - 'timestamp': timestamp - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Erstellen des Backups: {str(e)}") - return jsonify({ - 'success': False, - 'error': 'Fehler beim Erstellen des Backups', - 'details': str(e) - }), 500 - -@admin_api_blueprint.route('/maintenance/optimize-database', methods=['POST']) -@admin_required -def optimize_database_api(): - """API-Endpunkt zur Datenbank-Optimierung""" - try: - admin_logger.info(f"Datenbank-Optimierung angefordert von {current_user.username}") - - optimization_results = [] - - with get_cached_session() as db_session: - # VACUUM für Speicheroptimierung - try: - db_session.execute("VACUUM;") - optimization_results.append("VACUUM-Operation erfolgreich") - except Exception as e: - optimization_results.append(f"VACUUM fehlgeschlagen: {str(e)}") - - # ANALYZE für Statistik-Updates - try: - db_session.execute("ANALYZE;") - optimization_results.append("ANALYZE-Operation erfolgreich") - except Exception as e: - optimization_results.append(f"ANALYZE fehlgeschlagen: {str(e)}") - - # Incremental VACUUM für WAL-Dateien - try: - db_session.execute("PRAGMA incremental_vacuum(100);") - optimization_results.append("Incremental VACUUM erfolgreich") - except Exception as e: - optimization_results.append(f"Incremental VACUUM fehlgeschlagen: {str(e)}") - - # WAL-Checkpoint - try: - db_session.execute("PRAGMA wal_checkpoint(FULL);") - optimization_results.append("WAL-Checkpoint erfolgreich") - except Exception as e: - optimization_results.append(f"WAL-Checkpoint fehlgeschlagen: {str(e)}") - - db_session.commit() - - admin_logger.info(f"Datenbank-Optimierung abgeschlossen: {len(optimization_results)} Operationen") - - return jsonify({ - 'success': True, - 'message': 'Datenbank erfolgreich optimiert', - 'operations': optimization_results, - 'operations_count': len(optimization_results) - }) - - except Exception as e: - admin_logger.error(f"Fehler bei der Datenbank-Optimierung: {str(e)}") - return jsonify({ - 'success': False, - 'error': 'Fehler bei der Datenbank-Optimierung', - 'details': str(e) - }), 500 - -@admin_api_blueprint.route('/maintenance/clear-cache', methods=['POST']) -@admin_required -def clear_cache_api(): - """API-Endpunkt zum Leeren des System-Cache""" - try: - admin_logger.info(f"Cache-Clearing angefordert von {current_user.username}") - - cache_operations = [] - - # Python Cache leeren (falls verfügbar) - try: - import gc - gc.collect() - cache_operations.append("Python Garbage Collection erfolgreich") - except Exception as e: - cache_operations.append(f"Python GC fehlgeschlagen: {str(e)}") - - # Session Cache leeren - try: - from models import clear_cache - clear_cache() - cache_operations.append("Session Cache geleert") - except Exception as e: - cache_operations.append(f"Session Cache Fehler: {str(e)}") - - # Temporäre Dateien leeren - try: - temp_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'temp') - if os.path.exists(temp_dir): - import shutil - shutil.rmtree(temp_dir) - os.makedirs(temp_dir, exist_ok=True) - cache_operations.append("Temporäre Dateien geleert") - else: - cache_operations.append("Temp-Verzeichnis nicht gefunden") - except Exception as e: - cache_operations.append(f"Temp-Clearing fehlgeschlagen: {str(e)}") - - # Static File Cache Headers zurücksetzen (conceptual) - try: - cache_operations.append("Static File Cache-Headers aktualisiert") - except Exception as e: - cache_operations.append(f"Static Cache Fehler: {str(e)}") - - admin_logger.info(f"Cache-Clearing abgeschlossen: {len(cache_operations)} Operationen") - - return jsonify({ - 'success': True, - 'message': 'Cache erfolgreich geleert', - 'operations': cache_operations, - 'operations_count': len(cache_operations) - }) - - except Exception as e: - admin_logger.error(f"Fehler beim Cache-Clearing: {str(e)}") - return jsonify({ - 'success': False, - 'error': 'Fehler beim Cache-Clearing', - 'details': str(e) - }), 500 - -# ===== ERWEITERTE TAPO-STECKDOSEN-VERWALTUNG ===== - -@admin_blueprint.route("/tapo-monitoring") -@admin_required -def tapo_monitoring(): - """ - Erweiterte Tapo-Steckdosen-Überwachung für Administratoren. - Bietet Real-Time-Monitoring aller Drucker-Steckdosen mit automatischer Überprüfung. - """ - admin_logger.info(f"Tapo-Monitoring aufgerufen von {current_user.username}") - - try: - with get_cached_session() as db_session: - # Alle Drucker mit konfigurierten Steckdosen laden - printers_with_plugs = db_session.query(Printer).filter( - Printer.plug_ip.isnot(None), - Printer.active == True - ).all() - - # Grundlegende Statistiken - total_printers = db_session.query(Printer).count() - printers_with_tapo = len(printers_with_plugs) - - # Aktueller Status aller Tapo-Steckdosen abrufen - try: - from utils.hardware_integration import tapo_controller - tapo_available = True - - # Status für jeden Drucker mit Tapo-Steckdose abrufen - printer_status = [] - online_count = 0 - offline_count = 0 - error_count = 0 - - for printer in printers_with_plugs: - try: - reachable, status = tapo_controller.check_outlet_status( - printer.plug_ip, - printer_id=printer.id - ) - - if reachable: - if status == 'on': - online_count += 1 - status_class = 'success' - else: - offline_count += 1 - status_class = 'secondary' - else: - error_count += 1 - status_class = 'danger' - status = 'unreachable' - - # Aktuelle Jobs für diesen Drucker prüfen - active_jobs = db_session.query(Job).filter( - Job.printer_id == printer.id, - Job.status.in_(['running', 'printing', 'active', 'scheduled']) - ).count() - - printer_info = { - 'id': printer.id, - 'name': printer.name, - 'model': printer.model, - 'location': printer.location, - 'plug_ip': printer.plug_ip, - 'plug_status': status, - 'plug_reachable': reachable, - 'status_class': status_class, - 'active_jobs': active_jobs, - 'last_checked': datetime.now(), - 'has_issues': not reachable or active_jobs > 0 - } - - printer_status.append(printer_info) - - except Exception as e: - admin_logger.error(f"Fehler beim Status-Check für {printer.name}: {str(e)}") - error_count += 1 - printer_status.append({ - 'id': printer.id, - 'name': printer.name, - 'model': printer.model, - 'location': printer.location, - 'plug_ip': printer.plug_ip, - 'plug_status': 'error', - 'plug_reachable': False, - 'status_class': 'danger', - 'active_jobs': 0, - 'last_checked': datetime.now(), - 'has_issues': True, - 'error': str(e) - }) - - except Exception as e: - admin_logger.error(f"Tapo-Controller nicht verfügbar: {str(e)}") - tapo_available = False - printer_status = [] - online_count = offline_count = error_count = 0 - - # Statistiken zusammenstellen - monitoring_stats = { - 'total_printers': total_printers, - 'printers_with_tapo': printers_with_tapo, - 'tapo_available': tapo_available, - 'online_count': online_count, - 'offline_count': offline_count, - 'error_count': error_count, - 'coverage_percentage': round((printers_with_tapo / total_printers * 100), 1) if total_printers > 0 else 0 - } - - admin_logger.info(f"Tapo-Monitoring geladen: {printers_with_tapo} Steckdosen, {online_count} online") - - return render_template('admin_tapo_monitoring.html', - printer_status=printer_status, - stats=monitoring_stats, - page_title="Tapo-Steckdosen-Monitoring", - breadcrumb=[ - {"name": "Admin-Dashboard", "url": url_for("admin.admin_dashboard")}, - {"name": "Tapo-Monitoring", "url": "#"} - ]) - - except Exception as e: - admin_logger.error(f"Fehler beim Laden des Tapo-Monitorings: {str(e)}") - flash("Fehler beim Laden der Tapo-Monitoring-Daten.", "error") - return redirect(url_for("admin.admin_dashboard")) - -@admin_api_blueprint.route('/tapo/bulk-control', methods=['POST']) -@admin_required -def api_admin_bulk_tapo_control(): - """ - API-Endpunkt für Massensteuerung von Tapo-Steckdosen. - Ermöglicht das gleichzeitige Ein-/Ausschalten mehrerer Steckdosen. - """ - admin_api_logger.info(f"Bulk-Tapo-Steuerung von {current_user.username}") - - try: - data = request.get_json() - action = data.get('action') # 'on', 'off', 'status' - printer_ids = data.get('printer_ids', []) - - if not action or not printer_ids: - return jsonify({ - 'success': False, - 'error': 'Aktion und Drucker-IDs sind erforderlich' - }), 400 - - if action not in ['on', 'off', 'status']: - return jsonify({ - 'success': False, - 'error': 'Ungültige Aktion. Erlaubt: on, off, status' - }), 400 - - # Tapo-Controller laden - try: - from utils.hardware_integration import tapo_controller - except Exception as e: - return jsonify({ - 'success': False, - 'error': f'Tapo-Controller nicht verfügbar: {str(e)}' - }), 500 - - results = [] - success_count = 0 - error_count = 0 - - with get_cached_session() as db_session: - for printer_id in printer_ids: - try: - printer = db_session.query(Printer).filter(Printer.id == printer_id).first() - - if not printer: - results.append({ - 'printer_id': printer_id, - 'success': False, - 'error': 'Drucker nicht gefunden' - }) - error_count += 1 - continue - - if not printer.plug_ip: - results.append({ - 'printer_id': printer_id, - 'printer_name': printer.name, - 'success': False, - 'error': 'Keine Steckdose konfiguriert' - }) - error_count += 1 - continue - - # Aktion ausführen - if action == 'status': - reachable, status = tapo_controller.check_outlet_status( - printer.plug_ip, - printer_id=printer_id - ) - results.append({ - 'printer_id': printer_id, - 'printer_name': printer.name, - 'success': True, - 'status': status, - 'reachable': reachable - }) - success_count += 1 - else: - # Ein- oder Ausschalten - state = action == 'on' - success = tapo_controller.toggle_plug(printer.plug_ip, state) - - if success: - # Drucker-Status in DB aktualisieren - printer.status = 'starting' if state else 'offline' - printer.last_checked = datetime.now() - - results.append({ - 'printer_id': printer_id, - 'printer_name': printer.name, - 'success': True, - 'action': action, - 'message': f'Steckdose erfolgreich {"ein" if state else "aus"}geschaltet' - }) - success_count += 1 - else: - results.append({ - 'printer_id': printer_id, - 'printer_name': printer.name, - 'success': False, - 'error': f'Steckdose konnte nicht {"ein" if state else "aus"}geschaltet werden' - }) - error_count += 1 - - except Exception as e: - admin_api_logger.error(f"Fehler bei Bulk-Steuerung für Drucker {printer_id}: {str(e)}") - results.append({ - 'printer_id': printer_id, - 'success': False, - 'error': str(e) - }) - error_count += 1 - - # Änderungen speichern - if action in ['on', 'off']: - db_session.commit() - - admin_api_logger.info(f"Bulk-Tapo-Steuerung abgeschlossen: {success_count} erfolgreich, {error_count} Fehler") - - return jsonify({ - 'success': True, - 'results': results, - 'summary': { - 'total': len(printer_ids), - 'success': success_count, - 'errors': error_count - }, - 'timestamp': datetime.now().isoformat() - }) - - except Exception as e: - admin_api_logger.error(f"Unerwarteter Fehler bei Bulk-Tapo-Steuerung: {str(e)}") - return jsonify({ - 'success': False, - 'error': f'Systemfehler: {str(e)}' - }), 500 - -@admin_api_blueprint.route('/tapo/health-check', methods=['POST']) -@admin_required -def api_admin_tapo_health_check(): - """ - Führt eine umfassende Gesundheitsüberprüfung aller Tapo-Steckdosen durch. - Testet Konnektivität, Authentifizierung und Funktionsfähigkeit. - """ - admin_api_logger.info(f"Tapo-Gesundheitscheck von {current_user.username}") - - try: - # Tapo-Controller laden - try: - from utils.hardware_integration import tapo_controller - tapo_available = True - except Exception as e: - return jsonify({ - 'success': False, - 'error': f'Tapo-Controller nicht verfügbar: {str(e)}', - 'tapo_available': False - }), 500 - - health_results = { - 'overall_status': 'healthy', - 'tapo_available': tapo_available, - 'timestamp': datetime.now().isoformat(), - 'printers': [], - 'summary': { - 'total': 0, - 'healthy': 0, - 'warning': 0, - 'critical': 0 - }, - 'recommendations': [] - } - - with get_cached_session() as db_session: - # Alle Drucker mit Steckdosen laden - printers_with_plugs = db_session.query(Printer).filter( - Printer.plug_ip.isnot(None) - ).all() - - health_results['summary']['total'] = len(printers_with_plugs) - - for printer in printers_with_plugs: - printer_health = { - 'id': printer.id, - 'name': printer.name, - 'plug_ip': printer.plug_ip, - 'status': 'unknown', - 'issues': [], - 'checks': { - 'connectivity': False, - 'authentication': False, - 'functionality': False - } - } - - try: - # Check 1: Konnektivität (Ping) - ping_success = tapo_controller.ping_address(printer.plug_ip, timeout=3) - printer_health['checks']['connectivity'] = ping_success - - if not ping_success: - printer_health['issues'].append('Netzwerkverbindung fehlgeschlagen') - - # Check 2: Authentifizierung und Geräteinformationen - if ping_success: - try: - test_result = tapo_controller.test_connection(printer.plug_ip) - printer_health['checks']['authentication'] = test_result['success'] - - if not test_result['success']: - printer_health['issues'].append(f'Authentifizierung fehlgeschlagen: {test_result.get("error", "Unbekannt")}') - except Exception as auth_error: - printer_health['issues'].append(f'Authentifizierungstest fehlgeschlagen: {str(auth_error)}') - - # Check 3: Funktionalität (Status abrufen) - if printer_health['checks']['authentication']: - try: - reachable, status = tapo_controller.check_outlet_status( - printer.plug_ip, - printer_id=printer.id - ) - printer_health['checks']['functionality'] = reachable - printer_health['current_status'] = status - - if not reachable: - printer_health['issues'].append('Status-Abfrage fehlgeschlagen') - except Exception as func_error: - printer_health['issues'].append(f'Funktionstest fehlgeschlagen: {str(func_error)}') - - # Gesamtstatus bewerten - if len(printer_health['issues']) == 0: - printer_health['status'] = 'healthy' - health_results['summary']['healthy'] += 1 - elif len(printer_health['issues']) <= 1: - printer_health['status'] = 'warning' - health_results['summary']['warning'] += 1 - else: - printer_health['status'] = 'critical' - health_results['summary']['critical'] += 1 - - # Aktuelle Jobs prüfen (für Sicherheitswarnungen) - active_jobs = db_session.query(Job).filter( - Job.printer_id == printer.id, - Job.status.in_(['running', 'printing', 'active']) - ).count() - - if active_jobs > 0: - printer_health['active_jobs'] = active_jobs - printer_health['issues'].append(f'{active_jobs} aktive(r) Job(s) - Vorsicht bei Steckdosen-Änderungen') - - except Exception as e: - admin_api_logger.error(f"Fehler beim Gesundheitscheck für {printer.name}: {str(e)}") - printer_health['status'] = 'critical' - printer_health['issues'].append(f'Systemfehler: {str(e)}') - health_results['summary']['critical'] += 1 - - health_results['printers'].append(printer_health) - - # Gesamtstatus und Empfehlungen bestimmen - if health_results['summary']['critical'] > 0: - health_results['overall_status'] = 'critical' - health_results['recommendations'].append('Kritische Probleme bei Tapo-Steckdosen beheben') - elif health_results['summary']['warning'] > 0: - health_results['overall_status'] = 'warning' - health_results['recommendations'].append('Warnungen bei Tapo-Steckdosen überprüfen') - - # Zusätzliche Empfehlungen - coverage = (len(printers_with_plugs) / db_session.query(Printer).count()) * 100 if db_session.query(Printer).count() > 0 else 0 - if coverage < 80: - health_results['recommendations'].append(f'Tapo-Abdeckung nur {coverage:.1f}% - weitere Steckdosen konfigurieren') - - admin_api_logger.info(f"Tapo-Gesundheitscheck abgeschlossen: {health_results['summary']}") - - return jsonify(health_results) - - except Exception as e: - admin_api_logger.error(f"Unerwarteter Fehler beim Tapo-Gesundheitscheck: {str(e)}") - return jsonify({ - 'success': False, - 'error': 'Fehler beim Health-Check', - 'message': str(e), - 'health': { - 'overall': 'error', - 'timestamp': datetime.now().isoformat() - } - }), 500 - -@admin_api_blueprint.route('/printers/tapo-configure', methods=['POST']) -@admin_required -def api_admin_configure_printer_tapo(): - """ - Konfiguriert oder aktualisiert die Tapo-Steckdosen-Einstellungen für einen Drucker. - """ - admin_api_logger.info(f"Tapo-Konfiguration von {current_user.username}") - - try: - data = request.get_json() - printer_id = data.get('printer_id') - plug_ip = data.get('plug_ip') - plug_username = data.get('plug_username') - plug_password = data.get('plug_password') - test_connection = data.get('test_connection', True) - - if not printer_id: - return jsonify({ - 'success': False, - 'error': 'Drucker-ID ist erforderlich' - }), 400 - - with get_cached_session() as db_session: - printer = db_session.query(Printer).filter(Printer.id == printer_id).first() - - if not printer: - return jsonify({ - 'success': False, - 'error': 'Drucker nicht gefunden' - }), 404 - - # Tapo-Einstellungen aktualisieren - if plug_ip: - try: - import ipaddress - ipaddress.ip_address(plug_ip) - printer.plug_ip = plug_ip - except ValueError: - return jsonify({ - 'success': False, - 'error': 'Ungültige IP-Adresse' - }), 400 - - if plug_username: - printer.plug_username = plug_username - - if plug_password: - printer.plug_password = plug_password - - # Verbindung testen falls gewünscht - test_result = None - if test_connection and printer.plug_ip: - try: - from utils.hardware_integration import tapo_controller - test_result = tapo_controller.test_connection( - printer.plug_ip, - username=printer.plug_username, - password=printer.plug_password - ) - - if test_result['success']: - printer.last_checked = datetime.now() - printer.status = 'online' - else: - admin_api_logger.warning(f"Tapo-Test für {printer.name} fehlgeschlagen: {test_result.get('error')}") - - except Exception as e: - test_result = { - 'success': False, - 'error': f'Test fehlgeschlagen: {str(e)}' - } - - db_session.commit() - - admin_api_logger.info(f"Tapo-Konfiguration für {printer.name} aktualisiert") - - return jsonify({ - 'success': True, - 'message': f'Tapo-Einstellungen für {printer.name} erfolgreich aktualisiert', - 'printer_id': printer_id, - 'test_result': test_result, - 'timestamp': datetime.now().isoformat() - }) - - except Exception as e: - admin_api_logger.error(f"Fehler bei Tapo-Konfiguration: {str(e)}") - return jsonify({ - 'success': False, - 'error': f'Systemfehler: {str(e)}' - }), 500 \ No newline at end of file diff --git a/backend/blueprints/printers.py.backup_query_opt_20250619_210147 b/backend/blueprints/printers.py.backup_query_opt_20250619_210147 deleted file mode 100644 index 60e69d8ce..000000000 --- a/backend/blueprints/printers.py.backup_query_opt_20250619_210147 +++ /dev/null @@ -1,1887 +0,0 @@ -""" -Drucker-Blueprint für MYP Platform -Enthält alle Routen und Funktionen zur Druckerverwaltung, Statusüberwachung und Steuerung. -""" - -import os -import json -import time -from datetime import datetime, timedelta -from flask import Blueprint, request, jsonify, current_app, abort, Response -from flask_login import login_required, current_user -from werkzeug.utils import secure_filename -from werkzeug.exceptions import NotFound, BadRequest -from sqlalchemy import func, desc, asc -from sqlalchemy.exc import SQLAlchemyError -from typing import Dict, List, Tuple, Any, Optional - -from models import Printer, User, Job, get_db_session -from utils.logging_config import get_logger, measure_execution_time -from utils.security_suite import require_permission, Permission, check_permission -from utils.hardware_integration import printer_monitor, tapo_controller -from utils.drag_drop_system import drag_drop_manager - -# Logger initialisieren -printers_logger = get_logger("printers") - -# Blueprint erstellen -printers_blueprint = Blueprint("printers", __name__, url_prefix="/api/printers") - -@printers_blueprint.route("", methods=["POST"]) -@login_required -@require_permission(Permission.ADMIN) -@measure_execution_time(logger=printers_logger, task_name="API-Drucker-Erstellung") -def create_printer(): - """ - Erstellt einen neuen Drucker. - - JSON-Parameter: - - name: Drucker-Name (erforderlich) - - model: Drucker-Modell (erforderlich) - - location: Standort (erforderlich, default: "TBA Marienfelde") - - ip_address: IP-Adresse des Druckers (optional) - - plug_ip: IP-Adresse der Tapo-Steckdose (optional) - - plug_username: Tapo-Benutzername (optional) - - plug_password: Tapo-Passwort (optional) - - active: Aktiv-Status (optional, default: True) - - Returns: - JSON mit Ergebnis der Drucker-Erstellung - """ - printers_logger.info(f"🖨️ Drucker-Erstellung von Admin {current_user.name}") - - # Parameter validieren - data = request.get_json() - if not data: - return jsonify({ - "success": False, - "error": "JSON-Daten fehlen" - }), 400 - - # Erforderliche Felder prüfen - required_fields = ["name", "model"] - missing_fields = [field for field in required_fields if not data.get(field)] - if missing_fields: - return jsonify({ - "success": False, - "error": f"Erforderliche Felder fehlen: {', '.join(missing_fields)}" - }), 400 - - # Feldlängen validieren - if len(data["name"]) > 100: - return jsonify({ - "success": False, - "error": "Drucker-Name zu lang (max. 100 Zeichen)" - }), 400 - - if len(data["model"]) > 100: - return jsonify({ - "success": False, - "error": "Drucker-Modell zu lang (max. 100 Zeichen)" - }), 400 - - try: - db_session = get_db_session() - - # Prüfen ob Drucker mit diesem Namen bereits existiert - existing_printer = db_session.query(Printer).filter( - func.lower(Printer.name) == func.lower(data["name"]) - ).first() - - if existing_printer: - db_session.close() - return jsonify({ - "success": False, - "error": f"Drucker mit Name '{data['name']}' existiert bereits" - }), 409 - - # Neuen Drucker erstellen - new_printer = Printer( - name=data["name"].strip(), - model=data["model"].strip(), - location=data.get("location", "TBA Marienfelde").strip(), - ip_address=data.get("ip_address", "").strip() or None, - plug_ip=data.get("plug_ip", "").strip() or None, - plug_username=data.get("plug_username", "").strip() or None, - plug_password=data.get("plug_password", "").strip() or None, - active=data.get("active", True), - status="offline", - created_at=datetime.now(), - last_checked=None - ) - - db_session.add(new_printer) - db_session.commit() - - # Drucker-ID für Response speichern - printer_id = new_printer.id - printer_name = new_printer.name - - db_session.close() - - printers_logger.info(f"✅ Drucker '{printer_name}' (ID: {printer_id}) erfolgreich erstellt von Admin {current_user.name}") - - return jsonify({ - "success": True, - "message": f"Drucker '{printer_name}' erfolgreich erstellt", - "printer": { - "id": printer_id, - "name": printer_name, - "model": data["model"], - "location": data.get("location", "TBA Marienfelde"), - "ip_address": data.get("ip_address"), - "plug_ip": data.get("plug_ip"), - "active": data.get("active", True), - "status": "offline", - "created_at": datetime.now().isoformat() - }, - "created_by": { - "id": current_user.id, - "name": current_user.name - }, - "timestamp": datetime.now().isoformat() - }), 201 - - except SQLAlchemyError as e: - printers_logger.error(f"❌ Datenbankfehler bei Drucker-Erstellung: {str(e)}") - if 'db_session' in locals(): - db_session.rollback() - db_session.close() - return jsonify({ - "success": False, - "error": "Datenbankfehler beim Erstellen des Druckers" - }), 500 - - except Exception as e: - printers_logger.error(f"❌ Allgemeiner Fehler bei Drucker-Erstellung: {str(e)}") - if 'db_session' in locals(): - db_session.close() - return jsonify({ - "success": False, - "error": f"Unerwarteter Fehler: {str(e)}" - }), 500 - -@printers_blueprint.route("/monitor/live-status", methods=["GET"]) -@login_required -@measure_execution_time(logger=printers_logger, task_name="API-Live-Drucker-Status-Abfrage") -def get_live_printer_status(): - """ - Liefert den aktuellen Live-Status aller Drucker. - - Query-Parameter: - - use_cache: ob Cache verwendet werden soll (default: true) - - Returns: - JSON mit Live-Status aller Drucker - """ - printers_logger.info(f"🔄 Live-Status-Abfrage von Benutzer {current_user.name} (ID: {current_user.id})") - - # Parameter auslesen - use_cache_param = request.args.get("use_cache", "true").lower() - use_cache = use_cache_param == "true" - - try: - # Live-Status über den PrinterMonitor abrufen - status_data = printer_monitor.get_live_printer_status(use_session_cache=use_cache) - - # Zusammenfassung der Druckerstatus erstellen - summary = printer_monitor.get_printer_summary() - - # Antwort mit Status und Zusammenfassung - response = { - "success": True, - "status": status_data, - "summary": summary, - "timestamp": datetime.now().isoformat(), - "cache_used": use_cache - } - - printers_logger.info(f"✅ Live-Status-Abfrage erfolgreich: {len(status_data)} Drucker") - return jsonify(response) - - except Exception as e: - printers_logger.error(f"❌ Fehler bei Live-Status-Abfrage: {str(e)}") - return jsonify({ - "success": False, - "error": "Fehler bei Abfrage des Druckerstatus", - "message": str(e) - }), 500 - -@printers_blueprint.route("/status", methods=["GET"]) -@login_required -@measure_execution_time(logger=printers_logger, task_name="API-Drucker-Status-Abfrage") -def get_printer_status(): - """ - Liefert den aktuellen Status aller Drucker. - Dieser Endpunkt ist kompatibel mit dem Frontend printer_monitor.js - - Query-Parameter: - - force_refresh: true = Cache umgehen und echte Netzwerk-Tests (default: false) - - Returns: - JSON mit Status aller Drucker - """ - # Force-Refresh Parameter prüfen - force_refresh = request.args.get('force_refresh', 'false').lower() == 'true' - refresh_type = "Force-Refresh" if force_refresh else "Normal" - - printers_logger.info(f"🔄 {refresh_type} Status-Abfrage von Benutzer {current_user.name} (ID: {current_user.id})") - - try: - # Nur TBA Marienfelde Drucker aus Datenbank holen - db_session = get_db_session() - printers = db_session.query(Printer).filter( - Printer.location == "TBA Marienfelde" - ).all() - - # Status-Daten für jeden Drucker sammeln - MIT LIVE TAPO-STATUS - printer_data = [] - status_summary = { - 'total': len(printers), - 'available': 0, # Erreichbar & aus → frei - 'busy': 0, # Erreichbar & an → besetzt - 'unreachable': 0, # Nicht erreichbar - 'unconfigured': 0, # Keine Steckdose konfiguriert - 'error': 0 - } - - # Hardware Integration Monitor importieren - try: - from utils.hardware_integration import printer_monitor - tapo_manager = printer_monitor - except ImportError: - tapo_manager = None - printers_logger.warning("⚠️ Hardware Integration Monitor nicht verfügbar") - - for printer in printers: - # Basis-Drucker-Daten - printer_info = { - 'id': printer.id, - 'name': printer.name, - 'model': printer.model, - 'location': printer.location, - 'ip_address': printer.ip_address, - 'plug_ip': printer.plug_ip, - 'has_plug': bool(printer.plug_ip), - 'last_checked': printer.last_checked.isoformat() if printer.last_checked else None, - 'created_at': printer.created_at.isoformat() if printer.created_at else None - } - - # LIVE TAPO-STATUS ABRUFEN (Kernlogik mit Force-Refresh) - if printer.plug_ip and tapo_manager: - try: - # Live-Status über Tapo-Manager abrufen (mit Cache-Bypass bei force_refresh) - live_status = tapo_manager.get_printer_status(printer.id, force_refresh=force_refresh) - - # Status basierend auf Tapo-Erreichbarkeit und Schaltzustand - plug_reachable = live_status.get('plug_reachable', False) - power_status = live_status.get('power_status', None) - - if not plug_reachable: - # Steckdose nicht erreichbar - printer_info['status'] = 'unreachable' - printer_info['status_detail'] = 'Steckdose nicht erreichbar' - elif power_status == 'on': - # Steckdose erreichbar & an → Drucker läuft - printer_info['status'] = 'busy' - printer_info['status_detail'] = 'Drucker läuft - besetzt' - elif power_status == 'off': - # Steckdose erreichbar & aus → Drucker verfügbar - printer_info['status'] = 'available' - printer_info['status_detail'] = 'Verfügbar - kann reserviert werden' - else: - # Unbekannter Status - printer_info['status'] = 'error' - printer_info['status_detail'] = 'Status unbekannt' - - # Zusätzliche Tapo-Informationen - printer_info['plug_reachable'] = plug_reachable - printer_info['power_status'] = power_status - printer_info['can_control'] = live_status.get('can_control', False) - printer_info['last_tapo_check'] = live_status.get('last_checked') - - except Exception as e: - printers_logger.error(f"❌ Fehler bei Tapo-Status für Drucker {printer.id}: {e}") - printer_info['status'] = 'error' - printer_info['status_detail'] = f'Tapo-Fehler: {str(e)}' - printer_info['plug_reachable'] = False - printer_info['power_status'] = None - printer_info['can_control'] = False - else: - # Keine Steckdose konfiguriert oder Tapo-Manager nicht verfügbar - printer_info['status'] = 'unconfigured' - printer_info['status_detail'] = 'Keine Smart Plug konfiguriert' - printer_info['plug_reachable'] = False - printer_info['power_status'] = None - printer_info['can_control'] = False - - # Status-Zusammenfassung aktualisieren - status = printer_info['status'] - if status in status_summary: - status_summary[status] += 1 - else: - status_summary['error'] += 1 - - # Aktive Jobs zählen - active_jobs = db_session.query(Job).filter( - Job.printer_id == printer.id, - Job.status.in_(["running", "printing", "active", "scheduled"]) - ).count() - - printer_info['active_jobs'] = active_jobs - printer_info['has_active_jobs'] = active_jobs > 0 - - # Verfügbarkeit für Reservierung - printer_info['can_reserve'] = ( - printer_info['status'] == 'available' and - active_jobs == 0 and - printer_info['can_control'] - ) - - printer_data.append(printer_info) - - printers_logger.debug( - f"📊 Drucker {printer.name}: Status={printer_info['status']}, " - f"Plug-IP={printer.plug_ip}, Erreichbar={printer_info['plug_reachable']}, " - f"Power={printer_info['power_status']}" - ) - - db_session.close() - - # Antwort mit Status und Zusammenfassung - response = { - "success": True, - "printers": printer_data, - "summary": status_summary, - "timestamp": datetime.now().isoformat() - } - - printers_logger.info(f"✅ Status-Abfrage erfolgreich: {len(printer_data)} Drucker") - return jsonify(response) - - except Exception as e: - printers_logger.error(f"❌ Fehler bei Status-Abfrage: {str(e)}") - if 'db_session' in locals(): - db_session.close() - return jsonify({ - "success": False, - "error": "Fehler bei Abfrage des Druckerstatus", - "message": str(e) - }), 500 - -@printers_blueprint.route("/control//power", methods=["POST"]) -@login_required -@require_permission(Permission.CONTROL_PRINTER) # Verwende die bereits vorhandene Berechtigung -@measure_execution_time(logger=printers_logger, task_name="API-Drucker-Stromversorgung-Steuerung") -def control_printer_power(printer_id): - """ - Steuert die Stromversorgung eines Druckers (ein-/ausschalten). - - Args: - printer_id: ID des zu steuernden Druckers - - JSON-Parameter: - - action: "on" oder "off" - - Returns: - JSON mit Ergebnis der Steuerungsaktion - """ - printers_logger.info(f"🔌 Stromsteuerung für Drucker {printer_id} von Benutzer {current_user.name}") - - # Parameter validieren - data = request.get_json() - if not data or "action" not in data: - return jsonify({ - "success": False, - "error": "Parameter 'action' fehlt" - }), 400 - - action = data["action"] - if action not in ["on", "off"]: - return jsonify({ - "success": False, - "error": "Ungültige Aktion. Erlaubt sind 'on' oder 'off'." - }), 400 - - try: - # Drucker aus Datenbank holen - db_session = get_db_session() - printer = db_session.query(Printer).filter(Printer.id == printer_id).first() - - if not printer: - db_session.close() - return jsonify({ - "success": False, - "error": f"Drucker mit ID {printer_id} nicht gefunden" - }), 404 - - # Prüfen, ob Drucker eine Steckdose konfiguriert hat - if not printer.plug_ip or not printer.plug_username or not printer.plug_password: - db_session.close() - return jsonify({ - "success": False, - "error": f"Drucker {printer.name} hat keine Steckdose konfiguriert" - }), 400 - - # Steckdose steuern - from PyP100 import PyP110 - try: - # TP-Link Tapo P110 Verbindung herstellen - p110 = PyP110.P110(printer.plug_ip, printer.plug_username, printer.plug_password) - p110.handshake() # Authentifizierung - p110.login() # Login - - # Steckdose ein- oder ausschalten - if action == "on": - p110.turnOn() - success = True - message = "Steckdose erfolgreich eingeschaltet" - printer.status = "starting" # Status aktualisieren - else: - p110.turnOff() - success = True - message = "Steckdose erfolgreich ausgeschaltet" - printer.status = "offline" # Status aktualisieren - - # Zeitpunkt der letzten Prüfung aktualisieren - printer.last_checked = datetime.now() - db_session.commit() - - # Cache leeren, damit neue Status-Abfragen aktuell sind - printer_monitor.clear_all_caches() - - printers_logger.info(f"✅ {action.upper()}: Drucker {printer.name} erfolgreich {message}") - - except Exception as e: - printers_logger.error(f"❌ Fehler bei Steckdosensteuerung für {printer.name}: {str(e)}") - db_session.close() - return jsonify({ - "success": False, - "error": f"Fehler bei Steckdosensteuerung: {str(e)}" - }), 500 - - db_session.close() - return jsonify({ - "success": True, - "message": message, - "printer_id": printer_id, - "printer_name": printer.name, - "action": action, - "timestamp": datetime.now().isoformat() - }) - - except Exception as e: - printers_logger.error(f"❌ Allgemeiner Fehler bei Stromsteuerung: {str(e)}") - return jsonify({ - "success": False, - "error": f"Allgemeiner Fehler: {str(e)}" - }), 500 - -@printers_blueprint.route("/force-refresh", methods=["POST"]) -@login_required -@measure_execution_time(logger=printers_logger, task_name="API-Force-Refresh-Alle-Drucker") -def force_refresh_all_printer_status(): - """ - Forciert komplette Netzwerk-Neuprüfung aller Drucker-Status. - Invalidiert alle Caches und führt echte Netzwerk-Tests durch. - - Für Verwendung nach Netzwerkwechseln oder bei Cache-Problemen. - - Returns: - JSON mit Force-Refresh-Ergebnissen - """ - printers_logger.info(f"🔄 Force-Refresh aller Drucker von Benutzer {current_user.name} (ID: {current_user.id})") - - try: - # Hardware Integration Monitor für Force-Refresh verwenden - from utils.hardware_integration import printer_monitor - - # Force-Network-Refresh durchführen - refresh_results = printer_monitor.force_network_refresh() - - if refresh_results.get("success", False): - printers_logger.info(f"✅ Force-Refresh erfolgreich: {refresh_results.get('printers_refreshed', 0)} Drucker aktualisiert") - - return jsonify({ - "success": True, - "message": "Alle Drucker-Status erfolgreich aktualisiert", - "refresh_results": refresh_results, - "performed_by": { - "id": current_user.id, - "name": current_user.name - }, - "timestamp": datetime.now().isoformat() - }) - else: - printers_logger.error(f"❌ Force-Refresh fehlgeschlagen: {refresh_results.get('error', 'Unbekannter Fehler')}") - - return jsonify({ - "success": False, - "error": "Force-Refresh fehlgeschlagen", - "details": refresh_results, - "timestamp": datetime.now().isoformat() - }), 500 - - except Exception as e: - printers_logger.error(f"❌ Allgemeiner Fehler bei Force-Refresh: {str(e)}") - return jsonify({ - "success": False, - "error": f"Fehler beim Force-Refresh: {str(e)}", - "timestamp": datetime.now().isoformat() - }), 500 - -@printers_blueprint.route("/test/socket/", methods=["GET"]) -@login_required -@require_permission(Permission.ADMIN) -@measure_execution_time(logger=printers_logger, task_name="API-Steckdosen-Test-Status") -def test_socket_status(printer_id): - """ - Prüft den aktuellen Status einer Steckdose für Testzwecke (nur für Ausbilder/Administratoren). - - Args: - printer_id: ID des Druckers dessen Steckdose getestet werden soll - - Returns: - JSON mit detailliertem Status der Steckdose und Warnungen - """ - printers_logger.info(f"🔍 Steckdosen-Test-Status für Drucker {printer_id} von Admin {current_user.name}") - - try: - # Drucker aus Datenbank holen - db_session = get_db_session() - printer = db_session.query(Printer).filter(Printer.id == printer_id).first() - - if not printer: - db_session.close() - return jsonify({ - "success": False, - "error": f"Drucker mit ID {printer_id} nicht gefunden" - }), 404 - - # Prüfen, ob Drucker eine Steckdose konfiguriert hat - if not printer.plug_ip or not printer.plug_username or not printer.plug_password: - db_session.close() - return jsonify({ - "success": False, - "error": f"Drucker {printer.name} hat keine Steckdose konfiguriert", - "warning": "Steckdose kann nicht getestet werden - Konfiguration fehlt" - }), 400 - - # Prüfen, ob der Drucker gerade aktive Jobs hat - active_jobs = db_session.query(Job).filter( - Job.printer_id == printer_id, - Job.status.in_(["running", "printing", "active"]) - ).all() - - db_session.close() - - # Steckdosen-Status prüfen - from PyP100 import PyP110 - socket_status = None - socket_info = None - error_message = None - - try: - # TP-Link Tapo P110 Verbindung herstellen - p110 = PyP110.P110(printer.plug_ip, printer.plug_username, printer.plug_password) - p110.handshake() # Authentifizierung - p110.login() # Login - - # Geräteinformationen abrufen - device_info = p110.getDeviceInfo() - socket_status = "online" if device_info["result"]["device_on"] else "offline" - - # Energieverbrauch abrufen (falls verfügbar) - try: - energy_info = p110.getEnergyUsage() - current_power = energy_info.get("result", {}).get("current_power", 0) - except: - current_power = None - - socket_info = { - "device_on": device_info["result"]["device_on"], - "signal_level": device_info["result"].get("signal_level", 0), - "current_power": current_power, - "device_id": device_info["result"].get("device_id", "Unbekannt"), - "model": device_info["result"].get("model", "Unbekannt"), - "hw_ver": device_info["result"].get("hw_ver", "Unbekannt"), - "fw_ver": device_info["result"].get("fw_ver", "Unbekannt") - } - - except Exception as e: - printers_logger.warning(f"⚠️ Fehler bei Steckdosen-Status-Abfrage für {printer.name}: {str(e)}") - socket_status = "error" - error_message = str(e) - - # Warnungen und Empfehlungen zusammenstellen - warnings = [] - recommendations = [] - risk_level = "low" - - if active_jobs: - warnings.append(f"ACHTUNG: Drucker hat {len(active_jobs)} aktive(n) Job(s)!") - risk_level = "high" - recommendations.append("Warten Sie bis alle Jobs abgeschlossen sind bevor Sie die Steckdose ausschalten") - - if socket_status == "online" and socket_info and socket_info.get("device_on"): - if socket_info.get("current_power", 0) > 10: # Mehr als 10W Verbrauch - warnings.append(f"Drucker verbraucht aktuell {socket_info['current_power']}W - vermutlich aktiv") - risk_level = "medium" if risk_level == "low" else risk_level - recommendations.append("Prüfen Sie den Druckerstatus bevor Sie die Steckdose ausschalten") - else: - recommendations.append("Drucker scheint im Standby-Modus zu sein - Test sollte sicher möglich sein") - - if socket_status == "error": - warnings.append("Steckdose nicht erreichbar - Netzwerk oder Konfigurationsproblem") - recommendations.append("Prüfen Sie die Netzwerkverbindung und Steckdosen-Konfiguration") - - if not warnings and socket_status == "offline": - recommendations.append("Steckdose ist ausgeschaltet - Test kann sicher durchgeführt werden") - - printers_logger.info(f"✅ Steckdosen-Test-Status erfolgreich abgerufen für {printer.name}") - - return jsonify({ - "success": True, - "printer": { - "id": printer.id, - "name": printer.name, - "model": printer.model, - "location": printer.location, - "status": printer.status - }, - "socket": { - "status": socket_status, - "info": socket_info, - "error": error_message, - "ip_address": printer.plug_ip - }, - "safety": { - "risk_level": risk_level, - "warnings": warnings, - "recommendations": recommendations, - "active_jobs_count": len(active_jobs), - "safe_to_test": len(warnings) == 0 - }, - "timestamp": datetime.now().isoformat() - }) - - except Exception as e: - printers_logger.error(f"❌ Allgemeiner Fehler bei Steckdosen-Test-Status: {str(e)}") - return jsonify({ - "success": False, - "error": f"Allgemeiner Fehler: {str(e)}" - }), 500 - -@printers_blueprint.route("/test/socket//control", methods=["POST"]) -@login_required -@require_permission(Permission.ADMIN) -@measure_execution_time(logger=printers_logger, task_name="API-Steckdosen-Test-Steuerung") -def test_socket_control(printer_id): - """ - Steuert eine Steckdose für Testzwecke (nur für Ausbilder/Administratoren). - Diese Funktion zeigt Warnungen an, erlaubt aber trotzdem die Steuerung für Tests. - - Args: - printer_id: ID des Druckers dessen Steckdose gesteuert werden soll - - JSON-Parameter: - - action: "on" oder "off" - - force: boolean - überschreibt Sicherheitswarnungen (default: false) - - test_reason: string - Grund für den Test (optional) - - Returns: - JSON mit Ergebnis der Steuerungsaktion und Warnungen - """ - printers_logger.info(f"🧪 Steckdosen-Test-Steuerung für Drucker {printer_id} von Admin {current_user.name}") - - # Parameter validieren - data = request.get_json() - if not data or "action" not in data: - return jsonify({ - "success": False, - "error": "Parameter 'action' fehlt" - }), 400 - - action = data["action"] - if action not in ["on", "off"]: - return jsonify({ - "success": False, - "error": "Ungültige Aktion. Erlaubt sind 'on' oder 'off'." - }), 400 - - force = data.get("force", False) - test_reason = data.get("test_reason", "Routinetest") - - try: - # Drucker aus Datenbank holen - db_session = get_db_session() - printer = db_session.query(Printer).filter(Printer.id == printer_id).first() - - if not printer: - db_session.close() - return jsonify({ - "success": False, - "error": f"Drucker mit ID {printer_id} nicht gefunden" - }), 404 - - # Prüfen, ob Drucker eine Steckdose konfiguriert hat - if not printer.plug_ip or not printer.plug_username or not printer.plug_password: - db_session.close() - return jsonify({ - "success": False, - "error": f"Drucker {printer.name} hat keine Steckdose konfiguriert" - }), 400 - - # Aktive Jobs prüfen - active_jobs = db_session.query(Job).filter( - Job.printer_id == printer_id, - Job.status.in_(["running", "printing", "active"]) - ).all() - - # Sicherheitsprüfungen - warnings = [] - should_block = False - - if active_jobs and action == "off": - warnings.append(f"WARNUNG: {len(active_jobs)} aktive Job(s) würden abgebrochen!") - if not force: - should_block = True - - if should_block: - db_session.close() - return jsonify({ - "success": False, - "error": "Aktion blockiert aufgrund von Sicherheitsbedenken", - "warnings": warnings, - "hint": "Verwenden Sie 'force': true um die Aktion trotzdem auszuführen", - "requires_force": True - }), 409 # Conflict - - # Steckdose steuern - from PyP100 import PyP110 - try: - # TP-Link Tapo P110 Verbindung herstellen - p110 = PyP110.P110(printer.plug_ip, printer.plug_username, printer.plug_password) - p110.handshake() # Authentifizierung - p110.login() # Login - - # Aktuellen Status vor der Änderung abrufen - device_info_before = p110.getDeviceInfo() - status_before = device_info_before["result"]["device_on"] - - # Steckdose ein- oder ausschalten - if action == "on": - p110.turnOn() - success = True - message = "Steckdose für Test erfolgreich eingeschaltet" - new_printer_status = "starting" - else: - p110.turnOff() - success = True - message = "Steckdose für Test erfolgreich ausgeschaltet" - new_printer_status = "offline" - - # Kurz warten und neuen Status prüfen - time.sleep(2) - device_info_after = p110.getDeviceInfo() - status_after = device_info_after["result"]["device_on"] - - # Drucker-Status aktualisieren - printer.status = new_printer_status - printer.last_checked = datetime.now() - db_session.commit() - - # Cache leeren, damit neue Status-Abfragen aktuell sind - printer_monitor.clear_all_caches() - - # Test-Eintrag für Audit-Log - printers_logger.info(f"🧪 TEST DURCHGEFÜHRT: {action.upper()} für {printer.name} | " - f"Admin: {current_user.name} | Grund: {test_reason} | " - f"Force: {force} | Status: {status_before} → {status_after}") - - except Exception as e: - printers_logger.error(f"❌ Fehler bei Test-Steckdosensteuerung für {printer.name}: {str(e)}") - db_session.close() - return jsonify({ - "success": False, - "error": f"Fehler bei Steckdosensteuerung: {str(e)}" - }), 500 - - db_session.close() - return jsonify({ - "success": True, - "message": message, - "test_info": { - "admin": current_user.name, - "reason": test_reason, - "forced": force, - "status_before": status_before, - "status_after": status_after - }, - "printer": { - "id": printer_id, - "name": printer.name, - "status": new_printer_status - }, - "action": action, - "warnings": warnings, - "timestamp": datetime.now().isoformat() - }) - - except Exception as e: - printers_logger.error(f"❌ Allgemeiner Fehler bei Test-Steckdosensteuerung: {str(e)}") - return jsonify({ - "success": False, - "error": f"Allgemeiner Fehler: {str(e)}" - }), 500 - -@printers_blueprint.route("/test/all-sockets", methods=["GET"]) -@login_required -@require_permission(Permission.ADMIN) -@measure_execution_time(logger=printers_logger, task_name="API-Alle-Steckdosen-Test-Status") -def test_all_sockets_status(): - """ - Liefert den Test-Status aller konfigurierten Steckdosen (nur für Ausbilder/Administratoren). - - Returns: - JSON mit Status aller Steckdosen und Gesamtübersicht - """ - printers_logger.info(f"🔍 Alle-Steckdosen-Test-Status von Admin {current_user.name}") - - try: - # Alle Drucker mit Steckdosen-Konfiguration holen - db_session = get_db_session() - printers = db_session.query(Printer).filter( - Printer.plug_ip.isnot(None), - Printer.plug_username.isnot(None), - Printer.plug_password.isnot(None) - ).all() - - results = [] - total_online = 0 - total_offline = 0 - total_error = 0 - total_warnings = 0 - - from PyP100 import PyP110 - - for printer in printers: - # Aktive Jobs für diesen Drucker prüfen - active_jobs = db_session.query(Job).filter( - Job.printer_id == printer.id, - Job.status.in_(["running", "printing", "active"]) - ).count() - - # Steckdosen-Status prüfen - socket_status = "unknown" - device_on = False - current_power = None - error_message = None - warnings = [] - - try: - p110 = PyP110.P110(printer.plug_ip, printer.plug_username, printer.plug_password) - p110.handshake() - p110.login() - - device_info = p110.getDeviceInfo() - device_on = device_info["result"]["device_on"] - socket_status = "online" if device_on else "offline" - - # Energieverbrauch abrufen - try: - energy_info = p110.getEnergyUsage() - current_power = energy_info.get("result", {}).get("current_power", 0) - except: - current_power = None - - # Warnungen generieren - if active_jobs > 0: - warnings.append(f"{active_jobs} aktive Job(s)") - - if device_on and current_power and current_power > 10: - warnings.append(f"Hoher Verbrauch: {current_power}W") - - except Exception as e: - socket_status = "error" - error_message = str(e) - warnings.append(f"Verbindungsfehler: {str(e)[:50]}") - - # Statistiken aktualisieren - if socket_status == "online": - total_online += 1 - elif socket_status == "offline": - total_offline += 1 - else: - total_error += 1 - - if warnings: - total_warnings += 1 - - results.append({ - "printer": { - "id": printer.id, - "name": printer.name, - "model": printer.model, - "location": printer.location - }, - "socket": { - "status": socket_status, - "device_on": device_on, - "current_power": current_power, - "ip_address": printer.plug_ip, - "error": error_message - }, - "warnings": warnings, - "active_jobs": active_jobs, - "safe_to_test": len(warnings) == 0 - }) - - db_session.close() - - # Gesamtübersicht erstellen - summary = { - "total_sockets": len(results), - "online": total_online, - "offline": total_offline, - "error": total_error, - "with_warnings": total_warnings, - "safe_to_test": len(results) - total_warnings - } - - printers_logger.info(f"✅ Alle-Steckdosen-Status erfolgreich abgerufen: {len(results)} Steckdosen") - - return jsonify({ - "success": True, - "sockets": results, - "summary": summary, - "timestamp": datetime.now().isoformat() - }) - - except Exception as e: - printers_logger.error(f"❌ Fehler bei Alle-Steckdosen-Test-Status: {str(e)}") - return jsonify({ - "success": False, - "error": f"Allgemeiner Fehler: {str(e)}" - }), 500 - - -# ============================================================================= -# DRAG & DROP API - JOB-REIHENFOLGE-MANAGEMENT -# ============================================================================= - -@printers_blueprint.route("//jobs/order", methods=["GET"]) -@login_required -@measure_execution_time(logger=printers_logger, task_name="API-Job-Reihenfolge-Abfrage") -def get_job_order(printer_id): - """ - Holt die aktuelle Job-Reihenfolge für einen Drucker. - - Args: - printer_id: ID des Druckers - - Returns: - JSON mit Jobs in der korrekten Reihenfolge - """ - printers_logger.info(f"📋 Job-Reihenfolge-Abfrage für Drucker {printer_id} von Benutzer {current_user.name}") - - try: - # Drucker existiert prüfen - db_session = get_db_session() - printer = db_session.query(Printer).filter(Printer.id == printer_id).first() - - if not printer: - db_session.close() - return jsonify({ - "success": False, - "error": f"Drucker mit ID {printer_id} nicht gefunden" - }), 404 - - db_session.close() - - # Job-Reihenfolge und Details holen - ordered_jobs = drag_drop_manager.get_ordered_jobs_for_printer(printer_id) - job_order_ids = drag_drop_manager.get_job_order(printer_id) - - # Job-Details für Response aufbereiten - jobs_data = [] - for job in ordered_jobs: - jobs_data.append({ - "id": job.id, - "name": job.name, - "description": job.description, - "user_name": job.user.name if job.user else "Unbekannt", - "user_id": job.user_id, - "duration_minutes": job.duration_minutes, - "created_at": job.created_at.isoformat() if job.created_at else None, - "start_at": job.start_at.isoformat() if job.start_at else None, - "status": job.status, - "file_path": job.file_path - }) - - printers_logger.info(f"✅ Job-Reihenfolge erfolgreich abgerufen: {len(jobs_data)} Jobs für Drucker {printer.name}") - - return jsonify({ - "success": True, - "printer": { - "id": printer.id, - "name": printer.name, - "model": printer.model, - "location": printer.location - }, - "jobs": jobs_data, - "job_order": job_order_ids, - "total_jobs": len(jobs_data), - "total_duration_minutes": sum(job.duration_minutes for job in ordered_jobs), - "timestamp": datetime.now().isoformat() - }) - - except Exception as e: - printers_logger.error(f"❌ Fehler bei Job-Reihenfolge-Abfrage für Drucker {printer_id}: {str(e)}") - return jsonify({ - "success": False, - "error": f"Fehler beim Laden der Job-Reihenfolge: {str(e)}" - }), 500 - -@printers_blueprint.route("//jobs/order", methods=["POST"]) -@login_required -@require_permission(Permission.APPROVE_JOBS) # Nur Benutzer mit Job-Genehmigungsrechten können Reihenfolge ändern -@measure_execution_time(logger=printers_logger, task_name="API-Job-Reihenfolge-Update") -def update_job_order(printer_id): - """ - Aktualisiert die Job-Reihenfolge für einen Drucker per Drag & Drop. - - Args: - printer_id: ID des Druckers - - JSON-Parameter: - - job_ids: Liste der Job-IDs in der gewünschten Reihenfolge - - Returns: - JSON mit Bestätigung der Aktualisierung - """ - printers_logger.info(f"🔄 Job-Reihenfolge-Update für Drucker {printer_id} von Benutzer {current_user.name}") - - # Parameter validieren - data = request.get_json() - if not data or "job_ids" not in data: - return jsonify({ - "success": False, - "error": "Parameter 'job_ids' fehlt" - }), 400 - - job_ids = data["job_ids"] - if not isinstance(job_ids, list): - return jsonify({ - "success": False, - "error": "Parameter 'job_ids' muss eine Liste sein" - }), 400 - - if not all(isinstance(job_id, int) for job_id in job_ids): - return jsonify({ - "success": False, - "error": "Alle Job-IDs müssen Zahlen sein" - }), 400 - - try: - # Drucker existiert prüfen - db_session = get_db_session() - printer = db_session.query(Printer).filter(Printer.id == printer_id).first() - - if not printer: - db_session.close() - return jsonify({ - "success": False, - "error": f"Drucker mit ID {printer_id} nicht gefunden" - }), 404 - - # Validierung: Alle Jobs gehören zum Drucker und sind editierbar - valid_jobs = db_session.query(Job).filter( - Job.id.in_(job_ids), - Job.printer_id == printer_id, - Job.status.in_(['scheduled', 'paused']) - ).all() - - db_session.close() - - if len(valid_jobs) != len(job_ids): - invalid_ids = set(job_ids) - {job.id for job in valid_jobs} - return jsonify({ - "success": False, - "error": f"Ungültige oder nicht editierbare Job-IDs: {list(invalid_ids)}" - }), 400 - - # Berechtigung prüfen: Benutzer kann nur eigene Jobs oder als Admin alle verschieben - if not current_user.is_admin: - user_job_ids = {job.id for job in valid_jobs if job.user_id == current_user.id} - if user_job_ids != set(job_ids): - unauthorized_ids = set(job_ids) - user_job_ids - return jsonify({ - "success": False, - "error": f"Keine Berechtigung für Jobs: {list(unauthorized_ids)}" - }), 403 - - # Job-Reihenfolge aktualisieren - success = drag_drop_manager.update_job_order(printer_id, job_ids) - - if success: - # Neue Reihenfolge zur Bestätigung laden - updated_order = drag_drop_manager.get_job_order(printer_id) - - printers_logger.info(f"✅ Job-Reihenfolge erfolgreich aktualisiert für Drucker {printer.name}") - printers_logger.info(f" Neue Reihenfolge: {job_ids}") - printers_logger.info(f" Benutzer: {current_user.name} (ID: {current_user.id})") - - return jsonify({ - "success": True, - "message": "Job-Reihenfolge erfolgreich aktualisiert", - "printer": { - "id": printer.id, - "name": printer.name - }, - "old_order": job_ids, # Eingabe des Benutzers - "new_order": updated_order, # Bestätigung aus Datenbank - "total_jobs": len(job_ids), - "updated_by": { - "id": current_user.id, - "name": current_user.name - }, - "timestamp": datetime.now().isoformat() - }) - else: - return jsonify({ - "success": False, - "error": "Fehler beim Speichern der Job-Reihenfolge" - }), 500 - - except Exception as e: - printers_logger.error(f"❌ Fehler bei Job-Reihenfolge-Update für Drucker {printer_id}: {str(e)}") - return jsonify({ - "success": False, - "error": f"Unerwarteter Fehler: {str(e)}" - }), 500 - -@printers_blueprint.route("//jobs/summary", methods=["GET"]) -@login_required -@measure_execution_time(logger=printers_logger, task_name="API-Drucker-Job-Zusammenfassung") -def get_printer_job_summary(printer_id): - """ - Erstellt eine detaillierte Zusammenfassung der Jobs für einen Drucker. - - Args: - printer_id: ID des Druckers - - Returns: - JSON mit Zusammenfassung, Statistiken und Zeitschätzungen - """ - printers_logger.info(f"📊 Drucker-Job-Zusammenfassung für Drucker {printer_id} von Benutzer {current_user.name}") - - try: - # Drucker existiert prüfen - db_session = get_db_session() - printer = db_session.query(Printer).filter(Printer.id == printer_id).first() - - if not printer: - db_session.close() - return jsonify({ - "success": False, - "error": f"Drucker mit ID {printer_id} nicht gefunden" - }), 404 - - db_session.close() - - # Zusammenfassung über Drag-Drop-Manager erstellen - summary = drag_drop_manager.get_printer_summary(printer_id) - - printers_logger.info(f"✅ Drucker-Job-Zusammenfassung erfolgreich erstellt für {printer.name}") - - return jsonify({ - "success": True, - "printer": { - "id": printer.id, - "name": printer.name, - "model": printer.model, - "location": printer.location, - "status": printer.status - }, - "summary": summary, - "timestamp": datetime.now().isoformat() - }) - - except Exception as e: - printers_logger.error(f"❌ Fehler bei Drucker-Job-Zusammenfassung für Drucker {printer_id}: {str(e)}") - return jsonify({ - "success": False, - "error": f"Fehler beim Erstellen der Zusammenfassung: {str(e)}" - }), 500 - -@printers_blueprint.route("/jobs/cleanup-orders", methods=["POST"]) -@login_required -@require_permission(Permission.ADMIN) -@measure_execution_time(logger=printers_logger, task_name="API-Job-Reihenfolgen-Bereinigung") -def cleanup_job_orders(): - """ - Bereinigt ungültige Job-Reihenfolgen (nur für Administratoren). - Entfernt Einträge für abgeschlossene oder gelöschte Jobs. - - Returns: - JSON mit Bereinigungsergebnis - """ - printers_logger.info(f"🧹 Job-Reihenfolgen-Bereinigung von Admin {current_user.name}") - - try: - # Bereinigung durchführen - drag_drop_manager.cleanup_invalid_orders() - - printers_logger.info(f"✅ Job-Reihenfolgen-Bereinigung erfolgreich abgeschlossen") - - return jsonify({ - "success": True, - "message": "Job-Reihenfolgen erfolgreich bereinigt", - "admin": { - "id": current_user.id, - "name": current_user.name - }, - "timestamp": datetime.now().isoformat() - }) - - except Exception as e: - printers_logger.error(f"❌ Fehler bei Job-Reihenfolgen-Bereinigung: {str(e)}") - return jsonify({ - "success": False, - "error": f"Fehler bei der Bereinigung: {str(e)}" - }), 500 - -@printers_blueprint.route("/drag-drop/config", methods=["GET"]) -@login_required -def get_drag_drop_config(): - """ - Liefert die Konfiguration für das Drag & Drop System. - - Returns: - JSON mit Drag & Drop Konfiguration und JavaScript/CSS - """ - printers_logger.info(f"⚙️ Drag-Drop-Konfiguration abgerufen von Benutzer {current_user.name}") - - try: - from utils.drag_drop_system import get_drag_drop_javascript, get_drag_drop_css - - # Benutzerberechtigungen prüfen - can_reorder_jobs = check_permission(current_user, Permission.APPROVE_JOBS) - can_upload_files = check_permission(current_user, Permission.CREATE_JOB) - - config = { - "permissions": { - "can_reorder_jobs": can_reorder_jobs, - "can_upload_files": can_upload_files, - "is_admin": current_user.is_admin - }, - "settings": { - "max_file_size": 50 * 1024 * 1024, # 50MB - "accepted_file_types": ["gcode", "stl", "3mf", "obj"], - "auto_upload": False, - "show_preview": True, - "enable_progress_tracking": True - }, - "endpoints": { - "get_job_order": f"/api/printers/{{printer_id}}/jobs/order", - "update_job_order": f"/api/printers/{{printer_id}}/jobs/order", - "get_summary": f"/api/printers/{{printer_id}}/jobs/summary" - }, - "javascript": get_drag_drop_javascript(), - "css": get_drag_drop_css() - } - - return jsonify({ - "success": True, - "config": config, - "user": { - "id": current_user.id, - "name": current_user.name, - "role": current_user.role - }, - "timestamp": datetime.now().isoformat() - }) - - except Exception as e: - printers_logger.error(f"❌ Fehler bei Drag-Drop-Konfiguration: {str(e)}") - return jsonify({ - "success": False, - "error": f"Fehler beim Laden der Konfiguration: {str(e)}" - }), 500 - -# ============================================================================= -# ENDE DRAG & DROP API -# ============================================================================= - -@printers_blueprint.route("/tapo/status-check", methods=["POST"]) -@login_required -@require_permission(Permission.CONTROL_PRINTER) -@measure_execution_time(logger=printers_logger, task_name="API-Massenhafte-Tapo-Status-Prüfung") -def mass_tapo_status_check(): - """ - Führt eine vollständige Tapo-Status-Überprüfung für alle Drucker durch. - - Returns: - JSON mit detailliertem Status aller Tapo-Steckdosen - """ - printers_logger.info(f"Massenhafte Tapo-Status-Prüfung von Benutzer {current_user.name}") - - try: - db_session = get_db_session() - - # Alle Drucker laden - all_printers = db_session.query(Printer).all() - - # Tapo-Controller laden - try: - from utils.hardware_integration import tapo_controller - tapo_available = True - except Exception as e: - db_session.close() - return jsonify({ - "success": False, - "error": f"Tapo-Controller nicht verfügbar: {str(e)}", - "tapo_available": False - }), 500 - - printer_status = [] - summary = { - "total_printers": len(all_printers), - "printers_with_tapo": 0, - "printers_without_tapo": 0, - "tapo_online": 0, - "tapo_offline": 0, - "tapo_unreachable": 0, - "configuration_issues": 0 - } - - for printer in all_printers: - printer_info = { - "id": printer.id, - "name": printer.name, - "model": printer.model, - "location": printer.location, - "active": printer.active, - "has_tapo_config": bool(printer.plug_ip), - "plug_ip": printer.plug_ip, - "last_checked": datetime.now() - } - - if not printer.plug_ip: - # Drucker ohne Tapo-Konfiguration - summary["printers_without_tapo"] += 1 - printer_info.update({ - "tapo_status": "not_configured", - "tapo_reachable": False, - "power_status": None, - "recommendations": ["Tapo-Steckdose konfigurieren für automatische Steuerung"] - }) - else: - # Drucker mit Tapo-Konfiguration - summary["printers_with_tapo"] += 1 - - # Konfigurationsprüfung - config_issues = [] - if not printer.plug_username: - config_issues.append("Tapo-Benutzername fehlt") - if not printer.plug_password: - config_issues.append("Tapo-Passwort fehlt") - - if config_issues: - summary["configuration_issues"] += 1 - printer_info.update({ - "tapo_status": "configuration_error", - "tapo_reachable": False, - "power_status": None, - "config_issues": config_issues, - "recommendations": ["Tapo-Anmeldedaten vervollständigen"] - }) - else: - # Vollständige Konfiguration - Status prüfen - try: - reachable, status = tapo_controller.check_outlet_status( - printer.plug_ip, - printer_id=printer.id - ) - - if reachable: - if status == "on": - summary["tapo_online"] += 1 - status_type = "online" - recommendations = [] - else: - summary["tapo_offline"] += 1 - status_type = "offline" - recommendations = ["Steckdose kann bei Bedarf eingeschaltet werden"] - else: - summary["tapo_unreachable"] += 1 - status_type = "unreachable" - recommendations = ["Netzwerkverbindung prüfen", "IP-Adresse überprüfen"] - - printer_info.update({ - "tapo_status": status_type, - "tapo_reachable": reachable, - "power_status": status, - "recommendations": recommendations - }) - - # Drucker-Status in DB aktualisieren - if reachable: - printer.last_checked = datetime.now() - if status == "on": - printer.status = "online" - else: - printer.status = "offline" - else: - printer.status = "unreachable" - - except Exception as tapo_error: - summary["tapo_unreachable"] += 1 - printer_info.update({ - "tapo_status": "error", - "tapo_reachable": False, - "power_status": None, - "error": str(tapo_error), - "recommendations": ["Tapo-Verbindung prüfen", "Anmeldedaten überprüfen"] - }) - printers_logger.warning(f"Tapo-Fehler für {printer.name}: {str(tapo_error)}") - - # Aktuelle Jobs für zusätzliche Info - active_jobs = db_session.query(Job).filter( - Job.printer_id == printer.id, - Job.status.in_(["running", "printing", "active", "scheduled"]) - ).count() - - printer_info["active_jobs"] = active_jobs - if active_jobs > 0: - printer_info.setdefault("recommendations", []).append( - f"Vorsicht: {active_jobs} aktive Job(s) bei Steckdosen-Änderungen" - ) - - printer_status.append(printer_info) - - # Änderungen in DB speichern - db_session.commit() - db_session.close() - - # Übersicht der Ergebnisse - coverage_percentage = (summary["printers_with_tapo"] / summary["total_printers"] * 100) if summary["total_printers"] > 0 else 0 - health_score = ((summary["tapo_online"] + summary["tapo_offline"]) / summary["printers_with_tapo"] * 100) if summary["printers_with_tapo"] > 0 else 0 - - printers_logger.info(f"Tapo-Status-Check abgeschlossen: {summary['printers_with_tapo']} konfiguriert, " - f"{summary['tapo_online']} online, {summary['tapo_unreachable']} nicht erreichbar") - - return jsonify({ - "success": True, - "tapo_available": tapo_available, - "printers": printer_status, - "summary": summary, - "metrics": { - "coverage_percentage": round(coverage_percentage, 1), - "health_score": round(health_score, 1), - "needs_attention": summary["configuration_issues"] + summary["tapo_unreachable"] - }, - "timestamp": datetime.now().isoformat() - }) - - except Exception as e: - printers_logger.error(f"Unerwarteter Fehler bei Massenhafte-Tapo-Status-Prüfung: {str(e)}") - if 'db_session' in locals(): - db_session.close() - return jsonify({ - "success": False, - "error": f"Systemfehler: {str(e)}" - }), 500 - -@printers_blueprint.route("/tapo/configuration-wizard", methods=["POST"]) -@login_required -@require_permission(Permission.ADMIN) -@measure_execution_time(logger=printers_logger, task_name="API-Tapo-Konfigurationsassistent") -def tapo_configuration_wizard(): - """ - Automatischer Konfigurationsassistent für Tapo-Steckdosen. - Versucht automatisch verfügbare Steckdosen zu erkennen und zu konfigurieren. - """ - printers_logger.info(f"Tapo-Konfigurationsassistent von Admin {current_user.name}") - - try: - data = request.get_json() - auto_configure = data.get('auto_configure', True) - test_ips = data.get('test_ips', []) - - # Tapo-Controller laden - try: - from utils.hardware_integration import tapo_controller - except Exception as e: - return jsonify({ - "success": False, - "error": f"Tapo-Controller nicht verfügbar: {str(e)}" - }), 500 - - db_session = get_db_session() - - # Standard-IP-Bereich für Mercedes-Benz TBA (normalerweise 192.168.1.201-206) - if not test_ips: - test_ips = [f"192.168.1.{i}" for i in range(201, 207)] # 6 Standard-Arbeitsplätze - - discovery_results = { - "tested_ips": test_ips, - "discovered_devices": [], - "configured_printers": [], - "errors": [] - } - - printers_logger.info(f"Teste {len(test_ips)} IP-Adressen auf Tapo-Geräte...") - - # Discovery für jede IP-Adresse - for ip in test_ips: - try: - printers_logger.debug(f"Teste IP: {ip}") - - # Ping-Test mit 5 Sekunden Timeout - if not tapo_controller.ping_address(ip, timeout=5): - discovery_results["errors"].append(f"{ip}: Nicht erreichbar (Ping fehlgeschlagen)") - continue - - # Tapo-Verbindungstest - test_result = tapo_controller.test_connection(ip) - - if test_result["success"]: - device_info = test_result.get("device_info", {}) - - discovered_device = { - "ip": ip, - "device_info": device_info, - "nickname": device_info.get("nickname", f"Tapo Device {ip}"), - "model": device_info.get("model", "Unknown"), - "device_on": device_info.get("device_on", False) - } - - discovery_results["discovered_devices"].append(discovered_device) - printers_logger.info(f"✅ Tapo-Gerät gefunden: {ip} - {discovered_device['nickname']}") - - # Auto-Konfiguration wenn gewünscht - if auto_configure: - # Suche nach Drucker ohne Tapo-Konfiguration - unconfigured_printer = db_session.query(Printer).filter( - Printer.plug_ip.is_(None), - Printer.active == True - ).first() - - if unconfigured_printer: - # Konfiguriere den ersten verfügbaren Drucker - unconfigured_printer.plug_ip = ip - unconfigured_printer.plug_username = "admin" # Standard für Tapo - unconfigured_printer.plug_password = "admin" # Standard für Tapo - unconfigured_printer.last_checked = datetime.now() - - configured_info = { - "printer_id": unconfigured_printer.id, - "printer_name": unconfigured_printer.name, - "tapo_ip": ip, - "tapo_nickname": discovered_device['nickname'] - } - - discovery_results["configured_printers"].append(configured_info) - printers_logger.info(f"✅ Drucker '{unconfigured_printer.name}' automatisch mit {ip} verknüpft") - else: - discovery_results["errors"].append(f"{ip}: Tapo-Gerät gefunden, aber kein unkonfigurierter Drucker verfügbar") - - else: - discovery_results["errors"].append(f"{ip}: Erreichbar, aber kein Tapo-Gerät oder Authentifizierung fehlgeschlagen") - - except Exception as ip_error: - discovery_results["errors"].append(f"{ip}: Fehler beim Test - {str(ip_error)}") - printers_logger.warning(f"Fehler beim Testen von {ip}: {str(ip_error)}") - - # Änderungen speichern - db_session.commit() - db_session.close() - - # Zusammenfassung - summary = { - "tested_ips": len(test_ips), - "discovered_devices": len(discovery_results["discovered_devices"]), - "configured_printers": len(discovery_results["configured_printers"]), - "errors": len(discovery_results["errors"]) - } - - printers_logger.info(f"Tapo-Konfigurationsassistent abgeschlossen: {summary}") - - return jsonify({ - "success": True, - "message": f"Discovery abgeschlossen: {summary['discovered_devices']} Geräte gefunden, " - f"{summary['configured_printers']} Drucker konfiguriert", - "results": discovery_results, - "summary": summary, - "timestamp": datetime.now().isoformat() - }) - - except Exception as e: - printers_logger.error(f"Fehler beim Tapo-Konfigurationsassistent: {str(e)}") - if 'db_session' in locals(): - db_session.close() - return jsonify({ - "success": False, - "error": f"Systemfehler: {str(e)}" - }), 500 - -@printers_blueprint.route("//connect", methods=["POST"]) -@login_required -@require_permission(Permission.CONTROL_PRINTER) -@measure_execution_time(logger=printers_logger, task_name="API-Drucker-Verbindung") -def connect_printer(printer_id): - """ - Verbindet einen Drucker (schaltet die Steckdose ein). - Wrapper für control_printer_power mit action='on' - - Args: - printer_id: ID des zu verbindenden Druckers - - Returns: - JSON mit Ergebnis der Verbindungsaktion - """ - printers_logger.info(f"🔗 Drucker-Verbindung für Drucker {printer_id} von Benutzer {current_user.name}") - - try: - # Sichere JSON-Handhabung für control_printer_power - try: - original_json = request.get_json(silent=True) - except: - original_json = None - request._cached_json = ({"action": "on"}, True) - - # Delegiere an existing control_printer_power function - result = control_printer_power(printer_id) - - # Response für connect-API anpassen - if hasattr(result, 'get_json') and result.get_json().get('success'): - data = result.get_json() - return jsonify({ - "success": True, - "message": f"Verbindung zu Drucker {printer_id} hergestellt", - "printer_id": printer_id, - "printer_name": data.get('printer_name'), - "action": "connect", - "timestamp": data.get('timestamp') - }) - - return result - - except Exception as e: - printers_logger.error(f"❌ Fehler bei Drucker-Verbindung: {str(e)}") - return jsonify({ - "success": False, - "error": f"Verbindungsfehler: {str(e)}" - }), 500 - -@printers_blueprint.route("/tapo/validate-configuration/", methods=["POST"]) -@login_required -@require_permission(Permission.ADMIN) -@measure_execution_time(logger=printers_logger, task_name="API-Tapo-Konfigurationsvalidierung") -def validate_tapo_configuration(printer_id): - """ - Validiert die Tapo-Konfiguration eines spezifischen Druckers. - Führt umfassende Tests durch: Ping, Authentifizierung, Funktionalität. - """ - printers_logger.info(f"Tapo-Konfigurationsvalidierung für Drucker {printer_id} von Admin {current_user.name}") - - try: - db_session = get_db_session() - printer = db_session.query(Printer).filter(Printer.id == printer_id).first() - - if not printer: - db_session.close() - return jsonify({ - "success": False, - "error": "Drucker nicht gefunden" - }), 404 - - # Tapo-Controller laden - try: - from utils.hardware_integration import tapo_controller - except Exception as e: - db_session.close() - return jsonify({ - "success": False, - "error": f"Tapo-Controller nicht verfügbar: {str(e)}" - }), 500 - - validation_results = { - "printer": { - "id": printer.id, - "name": printer.name, - "model": printer.model, - "location": printer.location - }, - "configuration": { - "has_ip": bool(printer.plug_ip), - "has_username": bool(printer.plug_username), - "has_password": bool(printer.plug_password), - "ip_address": printer.plug_ip - }, - "tests": { - "ping": {"status": "not_run", "message": ""}, - "authentication": {"status": "not_run", "message": ""}, - "functionality": {"status": "not_run", "message": ""}, - "device_info": {"status": "not_run", "message": ""} - }, - "overall_status": "unknown", - "recommendations": [] - } - - # Konfigurationsprüfung - if not printer.plug_ip: - validation_results["overall_status"] = "not_configured" - validation_results["recommendations"].append("IP-Adresse der Tapo-Steckdose eintragen") - elif not printer.plug_username or not printer.plug_password: - validation_results["overall_status"] = "incomplete_config" - validation_results["recommendations"].append("Benutzername und Passwort für Tapo-Steckdose eintragen") - else: - # Umfassende Tests durchführen - all_tests_passed = True - - # Test 1: Ping/Erreichbarkeit - try: - ping_success = tapo_controller.ping_address(printer.plug_ip, timeout=5) - if ping_success: - validation_results["tests"]["ping"] = { - "status": "passed", - "message": "Steckdose ist im Netzwerk erreichbar" - } - else: - validation_results["tests"]["ping"] = { - "status": "failed", - "message": "Steckdose nicht erreichbar - Netzwerkproblem oder falsche IP" - } - all_tests_passed = False - validation_results["recommendations"].append("IP-Adresse überprüfen") - validation_results["recommendations"].append("Netzwerkverbindung der Steckdose prüfen") - except Exception as ping_error: - validation_results["tests"]["ping"] = { - "status": "error", - "message": f"Ping-Test fehlgeschlagen: {str(ping_error)}" - } - all_tests_passed = False - - # Test 2: Authentifizierung (nur wenn Ping erfolgreich) - if validation_results["tests"]["ping"]["status"] == "passed": - try: - auth_result = tapo_controller.test_connection( - printer.plug_ip, - username=printer.plug_username, - password=printer.plug_password - ) - - if auth_result["success"]: - validation_results["tests"]["authentication"] = { - "status": "passed", - "message": "Authentifizierung erfolgreich" - } - - # Geräteinformationen extrahieren - device_info = auth_result.get("device_info", {}) - validation_results["tests"]["device_info"] = { - "status": "passed", - "message": "Geräteinformationen abgerufen", - "data": { - "nickname": device_info.get("nickname", "Unbekannt"), - "model": device_info.get("model", "Unbekannt"), - "device_on": device_info.get("device_on", False), - "signal_level": device_info.get("signal_level", 0) - } - } - else: - validation_results["tests"]["authentication"] = { - "status": "failed", - "message": f"Authentifizierung fehlgeschlagen: {auth_result.get('error', 'Unbekannt')}" - } - all_tests_passed = False - validation_results["recommendations"].append("Benutzername und Passwort überprüfen") - - except Exception as auth_error: - validation_results["tests"]["authentication"] = { - "status": "error", - "message": f"Authentifizierungstest fehlgeschlagen: {str(auth_error)}" - } - all_tests_passed = False - - # Test 3: Funktionalität (nur wenn Authentifizierung erfolgreich) - if validation_results["tests"]["authentication"]["status"] == "passed": - try: - reachable, status = tapo_controller.check_outlet_status( - printer.plug_ip, - printer_id=printer_id - ) - - if reachable: - validation_results["tests"]["functionality"] = { - "status": "passed", - "message": f"Status erfolgreich abgerufen: {status}", - "current_status": status - } - - # Drucker-Status in DB aktualisieren - printer.last_checked = datetime.now() - printer.status = "online" if status == "on" else "offline" - - else: - validation_results["tests"]["functionality"] = { - "status": "failed", - "message": "Status konnte nicht abgerufen werden" - } - all_tests_passed = False - - except Exception as func_error: - validation_results["tests"]["functionality"] = { - "status": "error", - "message": f"Funktionalitätstest fehlgeschlagen: {str(func_error)}" - } - all_tests_passed = False - - # Gesamtstatus bestimmen - if all_tests_passed: - validation_results["overall_status"] = "fully_functional" - validation_results["recommendations"].append("Konfiguration ist vollständig und funktional") - else: - failed_tests = [test for test, result in validation_results["tests"].items() - if result["status"] in ["failed", "error"]] - - if "ping" in failed_tests: - validation_results["overall_status"] = "network_issue" - elif "authentication" in failed_tests: - validation_results["overall_status"] = "auth_issue" - elif "functionality" in failed_tests: - validation_results["overall_status"] = "functionality_issue" - else: - validation_results["overall_status"] = "partial_failure" - - # Aktuelle Jobs als Sicherheitshinweis - active_jobs = db_session.query(Job).filter( - Job.printer_id == printer_id, - Job.status.in_(["running", "printing", "active"]) - ).count() - - if active_jobs > 0: - validation_results["safety_warning"] = f"{active_jobs} aktive Job(s) - Vorsicht bei Steckdosen-Tests" - - db_session.commit() - db_session.close() - - printers_logger.info(f"Tapo-Validierung für {printer.name} abgeschlossen: {validation_results['overall_status']}") - - return jsonify({ - "success": True, - "validation": validation_results, - "timestamp": datetime.now().isoformat() - }) - - except Exception as e: - printers_logger.error(f"Fehler bei Tapo-Konfigurationsvalidierung: {str(e)}") - if 'db_session' in locals(): - db_session.close() - return jsonify({ - "success": False, - "error": f"Systemfehler: {str(e)}" - }), 500 \ No newline at end of file diff --git a/backend/cleanup_imports.py b/backend/cleanup_imports.py deleted file mode 100644 index 1b55e262d..000000000 --- a/backend/cleanup_imports.py +++ /dev/null @@ -1,325 +0,0 @@ -#!/usr/bin/env python3 -""" -Automatische Bereinigung von ungenutzten Imports im MYP Backend - -Dieser Script bereinigt sichere, ungenutzte Imports automatisch und -erstellt ein Backup vor den Änderungen. -""" - -import os -import re -import shutil -import ast -from pathlib import Path -from datetime import datetime -from typing import List, Dict, Set, Tuple - -class ImportCleaner: - def __init__(self, backend_path: str): - self.backend_path = Path(backend_path) - self.backup_dir = self.backend_path / f"backup_imports_{datetime.now().strftime('%Y%m%d_%H%M%S')}" - self.changes = [] - - # Sichere Imports die entfernt werden können (niedrige Fehlerwahrscheinlichkeit) - self.safe_unused_imports = { - # Typing imports (fast immer sicher zu entfernen) - 'typing.Set', 'typing.Tuple', 'typing.List', 'typing.Dict', 'typing.Any', - 'typing.Optional', 'typing.Union', 'typing.Callable', - - # Standard library (meist sicher wenn ungenutzt) - 'pathlib.Path', 'enum.Enum', 'dataclasses.dataclass', 'dataclasses.asdict', - 'collections.defaultdict', 'collections.Counter', - - # Entwicklungs-spezifische imports - 'rich.console.Console', 'rich.table.Table', 'rich.panel.Panel', - 'rich.progress.Progress', 'rich.text.Text', - 'faker.Faker', 'bs4.BeautifulSoup', - - # Selenium (oft in Test-Dateien ungenutzt) - 'selenium.common.exceptions.TimeoutException', - 'selenium.common.exceptions.WebDriverException', - 'selenium.common.exceptions.NoSuchElementException', - 'selenium.webdriver.firefox.service.Service', - 'selenium.webdriver.chrome.service.Service', - 'selenium.webdriver.support.expected_conditions', - 'selenium.webdriver.common.by.By', - 'selenium.webdriver.support.ui.WebDriverWait', - 'selenium.webdriver.chrome.options.Options', - 'selenium.webdriver.firefox.options.Options', - - # WTForms (sicher wenn nicht in Templates verwendet) - 'wtforms.validators.NumberRange', 'wtforms.validators.Optional', - 'wtforms.validators.DataRequired', 'wtforms.validators.Email', - 'wtforms.TextAreaField', 'wtforms.IntegerField', 'wtforms.StringField', - 'wtforms.SelectField', - } - - # Dateien die NUR automatisch bereinigt werden (niedrige Kritikalität) - self.safe_files = { - 'template_analysis_tool.py', - 'template_validation_final.py', - 'template_problem_analysis.py', - 'import_analyzer.py', - 'form_test_automator.py', - 'simple_form_tester.py', - 'test_flask_minimal.py', - 'scripts/screenshot_tool.py', - 'scripts/quick_unicode_fix.py', - 'scripts/test_protocol_generator.py', - 'ssl/ssl_fix.py', - 'ssl/fix_ssl_browser.py', - 'static/icons/generate_icons.py', - } - - def create_backup(self): - """Erstellt Backup aller Python-Dateien""" - print(f"Erstelle Backup in: {self.backup_dir}") - self.backup_dir.mkdir(exist_ok=True) - - for py_file in self.backend_path.rglob("*.py"): - if self.should_process_file(py_file): - rel_path = py_file.relative_to(self.backend_path) - backup_file = self.backup_dir / rel_path - backup_file.parent.mkdir(parents=True, exist_ok=True) - shutil.copy2(py_file, backup_file) - - print(f"✅ Backup erstellt: {len(list(self.backup_dir.rglob('*.py')))} Dateien") - - def should_process_file(self, file_path: Path) -> bool: - """Bestimmt ob eine Datei verarbeitet werden soll""" - # Überspringe bestimmte Verzeichnisse - exclude_dirs = {'__pycache__', '.git', 'node_modules', 'instance'} - if any(part in str(file_path) for part in exclude_dirs): - return False - - # Überspringe Backup-Verzeichnisse - if 'backup_' in str(file_path): - return False - - return True - - def analyze_file_imports(self, file_path: Path) -> Tuple[List[str], Set[str]]: - """Analysiert Imports und Verwendungen in einer Datei""" - try: - with open(file_path, 'r', encoding='utf-8') as f: - content = f.read() - - tree = ast.parse(content) - - # Sammle alle Imports - imports = [] - for node in ast.walk(tree): - if isinstance(node, ast.Import): - for alias in node.names: - imports.append(alias.name) - elif isinstance(node, ast.ImportFrom): - module = node.module or '' - for alias in node.names: - if module: - imports.append(f"{module}.{alias.name}") - else: - imports.append(alias.name) - - # Sammle verwendete Namen (vereinfacht) - used_names = set() - for node in ast.walk(tree): - if isinstance(node, ast.Name): - used_names.add(node.id) - elif isinstance(node, ast.Attribute): - if isinstance(node.value, ast.Name): - used_names.add(f"{node.value.id}.{node.attr}") - - # Prüfe auch String-Literale - for imp in imports: - if imp in content: - used_names.add(imp) - - return imports, used_names - - except Exception as e: - print(f"⚠️ Fehler beim Analysieren von {file_path}: {e}") - return [], set() - - def find_safe_unused_imports(self, file_path: Path) -> List[str]: - """Findet sichere ungenutzte Imports in einer Datei""" - imports, used_names = self.analyze_file_imports(file_path) - - unused_safe = [] - for imp in imports: - # Nur sichere Imports berücksichtigen - if imp in self.safe_unused_imports: - # Prüfe verschiedene Nutzungsformen - base_name = imp.split('.')[0] - is_used = ( - base_name in used_names or - imp in used_names or - any(imp in name for name in used_names) - ) - - if not is_used: - unused_safe.append(imp) - - return unused_safe - - def remove_unused_imports(self, file_path: Path, unused_imports: List[str]) -> bool: - """Entfernt ungenutzte Imports aus einer Datei""" - if not unused_imports: - return False - - try: - with open(file_path, 'r', encoding='utf-8') as f: - lines = f.readlines() - - modified = False - new_lines = [] - - for line in lines: - should_remove = False - - # Prüfe ob die Zeile einen zu entfernenden Import enthält - for unused_imp in unused_imports: - # Verschiedene Import-Patterns prüfen - patterns = [ - f"from {unused_imp.split('.')[0]} import {unused_imp.split('.')[-1]}", - f"import {unused_imp}", - f"from {'.'.join(unused_imp.split('.')[:-1])} import {unused_imp.split('.')[-1]}", - ] - - for pattern in patterns: - if pattern in line and line.strip().startswith(('from ', 'import ')): - # Prüfe ob es eine reine Import-Zeile ist (keine Kommentare etc.) - clean_line = line.split('#')[0].strip() - if clean_line.endswith(unused_imp.split('.')[-1]) or clean_line.endswith(unused_imp): - should_remove = True - break - - if should_remove: - break - - if not should_remove: - new_lines.append(line) - else: - modified = True - print(f" Entferne: {line.strip()}") - - if modified: - with open(file_path, 'w', encoding='utf-8') as f: - f.writelines(new_lines) - return True - - except Exception as e: - print(f"❌ Fehler beim Bereinigen von {file_path}: {e}") - return False - - return False - - def clean_file(self, file_path: Path) -> bool: - """Bereinigt eine einzelne Datei""" - rel_path = file_path.relative_to(self.backend_path) - - # Nur sichere Dateien automatisch bereinigen - if str(rel_path) not in self.safe_files: - print(f"⚠️ Überspringe {rel_path} (nicht in sicherer Liste)") - return False - - print(f"\n🔍 Analysiere: {rel_path}") - - unused_imports = self.find_safe_unused_imports(file_path) - - if unused_imports: - print(f" Gefunden: {len(unused_imports)} sichere ungenutzte Imports") - modified = self.remove_unused_imports(file_path, unused_imports) - - if modified: - self.changes.append({ - 'file': str(rel_path), - 'removed_imports': unused_imports, - 'count': len(unused_imports) - }) - print(f" ✅ {len(unused_imports)} Imports entfernt") - return True - else: - print(f" ⚠️ Imports gefunden aber nicht entfernt") - else: - print(f" ✅ Keine sicheren ungenutzten Imports gefunden") - - return False - - def run_cleanup(self): - """Führt die komplette Bereinigung durch""" - print("🧹 Starte automatische Import-Bereinigung...") - print(f"📁 Backend-Pfad: {self.backend_path}") - - # Backup erstellen - self.create_backup() - - # Alle Python-Dateien durchgehen - modified_files = 0 - total_removed = 0 - - for py_file in self.backend_path.rglob("*.py"): - if self.should_process_file(py_file): - if self.clean_file(py_file): - modified_files += 1 - - # Statistiken - total_removed = sum(change['count'] for change in self.changes) - - print(f"\n" + "="*60) - print(f"📊 BEREINIGUNG ABGESCHLOSSEN") - print(f"="*60) - print(f"Bearbeitete Dateien: {modified_files}") - print(f"Entfernte Imports gesamt: {total_removed}") - print(f"Backup erstellt in: {self.backup_dir}") - - if self.changes: - print(f"\n📝 GEÄNDERTE DATEIEN:") - for change in self.changes: - print(f" 📄 {change['file']}: {change['count']} Imports entfernt") - - print(f"\n💡 NÄCHSTE SCHRITTE:") - print(f"1. Tests ausführen: python -m pytest") - print(f"2. App starten und prüfen: python app.py --debug") - print(f"3. Bei Problemen Backup wiederherstellen") - print(f"4. Manuelle Bereinigung von app.py und models.py") - - return modified_files, total_removed - - def restore_backup(self): - """Stellt das Backup wieder her""" - if not self.backup_dir.exists(): - print("❌ Kein Backup gefunden!") - return False - - print(f"🔄 Stelle Backup wieder her aus: {self.backup_dir}") - - restored = 0 - for backup_file in self.backup_dir.rglob("*.py"): - rel_path = backup_file.relative_to(self.backup_dir) - original_file = self.backend_path / rel_path - - if original_file.exists(): - shutil.copy2(backup_file, original_file) - restored += 1 - - print(f"✅ {restored} Dateien wiederhergestellt") - return True - -def main(): - backend_path = Path(__file__).parent - cleaner = ImportCleaner(str(backend_path)) - - import sys - if len(sys.argv) > 1 and sys.argv[1] == '--restore': - # Backup wiederherstellen - cleaner.restore_backup() - else: - # Bereinigung durchführen - modified, removed = cleaner.run_cleanup() - - if modified > 0: - print(f"\n⚠️ WICHTIG: Führe Tests aus um sicherzustellen dass alles funktioniert!") - print(f"Bei Problemen: python cleanup_imports.py --restore") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/backend/function_analysis_report.json b/backend/function_analysis_report.json deleted file mode 100644 index e215285dd..000000000 --- a/backend/function_analysis_report.json +++ /dev/null @@ -1,109615 +0,0 @@ -{ - "analysis_date": "2025-06-19T18:05:25.682742", - "project_path": "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend", - "summary": { - "total_files": 70, - "total_functions": 1126, - "unused_functions": 288, - "similar_functions": 5846, - "redundant_helpers": 819 - }, - "findings": { - "unused_functions": [ - { - "key": "models.py:configure_sqlite_for_production", - "name": "configure_sqlite_for_production", - "file": "models.py", - "line": 51, - "is_private": false, - "body_lines": 23, - "docstring": "Konfiguriert SQLite für Produktionsumgebung mit WAL-Modus und Optimierungen." - }, - { - "key": "models.py:maintenance_worker", - "name": "maintenance_worker", - "file": "models.py", - "line": 179, - "is_private": false, - "body_lines": 2, - "docstring": null - }, - { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "models.py:has_role", - "name": "has_role", - "file": "models.py", - "line": 381, - "is_private": false, - "body_lines": 2, - "docstring": "Überprüft, ob der Benutzer eine bestimmte Rolle hat.\n\nArgs:\n role: Name der Rolle (z.B. 'admin', " - }, - { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393, - "is_private": false, - "body_lines": 4, - "docstring": "Generiert Initialen aus dem Benutzernamen für Avatar-Anzeige.\n\nReturns:\n str: Initialen des Benut" - }, - { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416, - "is_private": false, - "body_lines": 2, - "docstring": "Gibt den Anzeigenamen des Benutzers zurück.\n\nReturns:\n str: Name oder Username als Fallback" - }, - { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426, - "is_private": false, - "body_lines": 2, - "docstring": "Required for Flask-Login" - }, - { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430, - "is_private": false, - "body_lines": 2, - "docstring": "Required for Flask-Login - return user id as unicode string" - }, - { - "key": "models.py:get_by_username_or_email", - "name": "get_by_username_or_email", - "file": "models.py", - "line": 464, - "is_private": false, - "body_lines": 5, - "docstring": "Holt einen Benutzer anhand von Username oder E-Mail mit Caching." - }, - { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552, - "is_private": false, - "body_lines": 5, - "docstring": "Gibt das Berechtigungslevel des Benutzers zurück.\n\nReturns:\n str: 'admin', 'advanced', 'standard'" - }, - { - "key": "models.py:update_status", - "name": "update_status", - "file": "models.py", - "line": 729, - "is_private": false, - "body_lines": 6, - "docstring": "Aktualisiert den Job-Status und invalidiert den Cache." - }, - { - "key": "models.py:get_all_cached", - "name": "get_all_cached", - "file": "models.py", - "line": 634, - "is_private": false, - "body_lines": 5, - "docstring": "Holt alle Drucker mit Caching." - }, - { - "key": "models.py:get_online_printers", - "name": "get_online_printers", - "file": "models.py", - "line": 653, - "is_private": false, - "body_lines": 5, - "docstring": "Holt alle online Drucker mit Caching." - }, - { - "key": "models.py:get_active_jobs", - "name": "get_active_jobs", - "file": "models.py", - "line": 745, - "is_private": false, - "body_lines": 5, - "docstring": "Holt alle aktiven Jobs mit Caching." - }, - { - "key": "models.py:get_user_jobs", - "name": "get_user_jobs", - "file": "models.py", - "line": 766, - "is_private": false, - "body_lines": 5, - "docstring": "Holt alle Jobs eines Benutzers mit Caching." - }, - { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180, - "is_private": false, - "body_lines": 5, - "docstring": "Prüft ob der OTP-Code noch gültig und verwendbar ist." - }, - { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195, - "is_private": false, - "body_lines": 5, - "docstring": "Gibt den Status des OTP-Codes zurück." - }, - { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612, - "is_private": false, - "body_lines": 2, - "docstring": "Pausiert den Timer." - }, - { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635, - "is_private": false, - "body_lines": 2, - "docstring": "Stoppt den Timer." - }, - { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654, - "is_private": false, - "body_lines": 2, - "docstring": "Setzt den Timer auf die ursprüngliche Dauer zurück." - }, - { - "key": "models.py:extend_timer", - "name": "extend_timer", - "file": "models.py", - "line": 1676, - "is_private": false, - "body_lines": 2, - "docstring": "Verlängert den Timer um zusätzliche Sekunden." - }, - { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726, - "is_private": false, - "body_lines": 2, - "docstring": "Aktualisiert die letzte Aktivität (für Session-Timer)." - }, - { - "key": "models.py:get_by_name", - "name": "get_by_name", - "file": "models.py", - "line": 1744, - "is_private": false, - "body_lines": 5, - "docstring": "Holt einen Timer anhand des Namens." - }, - { - "key": "models.py:get_by_type", - "name": "get_by_type", - "file": "models.py", - "line": 1764, - "is_private": false, - "body_lines": 5, - "docstring": "Holt alle Timer eines bestimmten Typs." - }, - { - "key": "models.py:get_running_timers", - "name": "get_running_timers", - "file": "models.py", - "line": 1782, - "is_private": false, - "body_lines": 5, - "docstring": "Holt alle aktuell laufenden Timer." - }, - { - "key": "models.py:cleanup_expired_timers", - "name": "cleanup_expired_timers", - "file": "models.py", - "line": 1817, - "is_private": false, - "body_lines": 2, - "docstring": "Bereinigt abgelaufene Timer und führt Force-Quit-Aktionen aus." - }, - { - "key": "models.py:create_kiosk_timer", - "name": "create_kiosk_timer", - "file": "models.py", - "line": 1841, - "is_private": false, - "body_lines": 2, - "docstring": "Erstellt einen Standard-Kiosk-Timer." - }, - { - "key": "models.py:get_printer_history", - "name": "get_printer_history", - "file": "models.py", - "line": 2048, - "is_private": false, - "body_lines": 5, - "docstring": "Holt die Steckdosen-Historie für einen bestimmten Drucker.\n\nArgs:\n printer_id: ID des Druckers\n " - }, - { - "key": "models.py:get_all_recent_logs", - "name": "get_all_recent_logs", - "file": "models.py", - "line": 2084, - "is_private": false, - "body_lines": 5, - "docstring": "Holt alle aktuellen Steckdosen-Logs für die Administrator-Übersicht.\n\nArgs:\n hours: Anzahl der St" - }, - { - "key": "simple_form_tester.py:handle_starttag", - "name": "handle_starttag", - "file": "simple_form_tester.py", - "line": 56, - "is_private": false, - "body_lines": 2, - "docstring": null - }, - { - "key": "simple_form_tester.py:handle_endtag", - "name": "handle_endtag", - "file": "simple_form_tester.py", - "line": 79, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "test_flask_minimal.py:hello", - "name": "hello", - "file": "test_flask_minimal.py", - "line": 14, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "test_flask_minimal.py:health", - "name": "health", - "file": "test_flask_minimal.py", - "line": 24, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213, - "is_private": true, - "body_lines": 2, - "docstring": null - }, - { - "key": "form_test_automator.py:_generate_password", - "name": "_generate_password", - "file": "form_test_automator.py", - "line": 218, - "is_private": true, - "body_lines": 4, - "docstring": "Generiert sichere Passwörter" - }, - { - "key": "form_test_automator.py:_generate_phone", - "name": "_generate_phone", - "file": "form_test_automator.py", - "line": 228, - "is_private": true, - "body_lines": 2, - "docstring": null - }, - { - "key": "form_test_automator.py:_generate_url", - "name": "_generate_url", - "file": "form_test_automator.py", - "line": 233, - "is_private": true, - "body_lines": 2, - "docstring": null - }, - { - "key": "form_test_automator.py:_generate_datetime", - "name": "_generate_datetime", - "file": "form_test_automator.py", - "line": 243, - "is_private": true, - "body_lines": 1, - "docstring": null - }, - { - "key": "form_test_automator.py:_generate_range", - "name": "_generate_range", - "file": "form_test_automator.py", - "line": 259, - "is_private": true, - "body_lines": 1, - "docstring": null - }, - { - "key": "form_test_automator.py:_generate_color", - "name": "_generate_color", - "file": "form_test_automator.py", - "line": 262, - "is_private": true, - "body_lines": 1, - "docstring": null - }, - { - "key": "form_test_automator.py:_generate_text", - "name": "_generate_text", - "file": "form_test_automator.py", - "line": 265, - "is_private": true, - "body_lines": 8, - "docstring": "Generiert Text basierend auf Feld-Eigenschaften" - }, - { - "key": "app.py:aggressive_shutdown_handler", - "name": "aggressive_shutdown_handler", - "file": "app.py", - "line": 463, - "is_private": false, - "body_lines": 5, - "docstring": "Aggressiver Signal-Handler für sofortiges Herunterfahren bei Strg+C" - }, - { - "key": "app.py:csrf_protect", - "name": "csrf_protect", - "file": "app.py", - "line": 661, - "is_private": false, - "body_lines": 7, - "docstring": "Stellt sicher, dass CSRF-Token verfügbar ist" - }, - { - "key": "app.py:csrf_error", - "name": "csrf_error", - "file": "app.py", - "line": 712, - "is_private": false, - "body_lines": 6, - "docstring": "Behandelt CSRF-Fehler mit detaillierter Diagnose" - }, - { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750, - "is_private": false, - "body_lines": 2, - "docstring": "Lädt einen Benutzer für Flask-Login" - }, - { - "key": "app.py:inject_now", - "name": "inject_now", - "file": "app.py", - "line": 789, - "is_private": false, - "body_lines": 2, - "docstring": "Injiziert die aktuelle Zeit in alle Templates" - }, - { - "key": "app.py:inject_current_route", - "name": "inject_current_route", - "file": "app.py", - "line": 794, - "is_private": false, - "body_lines": 3, - "docstring": "Stellt current_route für alle Templates bereit.\n\nVerhindert Template-Fehler wenn request.endpoint No" - }, - { - "key": "app.py:format_datetime_filter", - "name": "format_datetime_filter", - "file": "app.py", - "line": 804, - "is_private": false, - "body_lines": 4, - "docstring": "Template-Filter für Datums-Formatierung" - }, - { - "key": "app.py:is_optimized_mode", - "name": "is_optimized_mode", - "file": "app.py", - "line": 816, - "is_private": false, - "body_lines": 2, - "docstring": "Prüft ob der optimierte Modus aktiv ist" - }, - { - "key": "app.py:log_request_info", - "name": "log_request_info", - "file": "app.py", - "line": 822, - "is_private": false, - "body_lines": 2, - "docstring": "Loggt Request-Informationen" - }, - { - "key": "app.py:log_response_info", - "name": "log_response_info", - "file": "app.py", - "line": 828, - "is_private": false, - "body_lines": 3, - "docstring": "Loggt Response-Informationen" - }, - { - "key": "app.py:minimize_session_cookie", - "name": "minimize_session_cookie", - "file": "app.py", - "line": 835, - "is_private": false, - "body_lines": 3, - "docstring": "Reduziert Session-Cookie automatisch nach jedem Request" - }, - { - "key": "app.py:check_session_activity", - "name": "check_session_activity", - "file": "app.py", - "line": 843, - "is_private": false, - "body_lines": 2, - "docstring": "Prüft Session-Aktivität und meldet inaktive Benutzer ab mit MINIMAL Cookie-Management" - }, - { - "key": "app.py:csrf_test_page", - "name": "csrf_test_page", - "file": "app.py", - "line": 889, - "is_private": false, - "body_lines": 2, - "docstring": "CSRF-Test-Seite für Diagnose und Debugging" - }, - { - "key": "app.py:csrf_test_api", - "name": "csrf_test_api", - "file": "app.py", - "line": 894, - "is_private": false, - "body_lines": 2, - "docstring": "API-Endpunkt für CSRF-Tests" - }, - { - "key": "app.py:service_worker", - "name": "service_worker", - "file": "app.py", - "line": 1241, - "is_private": false, - "body_lines": 2, - "docstring": "Service Worker für PWA-Funktionalität" - }, - { - "key": "app.py:api_health_check", - "name": "api_health_check", - "file": "app.py", - "line": 1440, - "is_private": false, - "body_lines": 2, - "docstring": "Einfacher Health-Check für Monitoring" - }, - { - "key": "app.py:api_version", - "name": "api_version", - "file": "app.py", - "line": 1469, - "is_private": false, - "body_lines": 2, - "docstring": "API-Version und System-Info" - }, - { - "key": "app.py:privacy", - "name": "privacy", - "file": "app.py", - "line": 1545, - "is_private": false, - "body_lines": 2, - "docstring": "Datenschutzerklärung" - }, - { - "key": "app.py:terms", - "name": "terms", - "file": "app.py", - "line": 1550, - "is_private": false, - "body_lines": 2, - "docstring": "Nutzungsbedingungen" - }, - { - "key": "app.py:imprint", - "name": "imprint", - "file": "app.py", - "line": 1555, - "is_private": false, - "body_lines": 2, - "docstring": "Impressum" - }, - { - "key": "app.py:legal", - "name": "legal", - "file": "app.py", - "line": 1560, - "is_private": false, - "body_lines": 2, - "docstring": "Rechtliche Hinweise - Weiterleitung zum Impressum" - }, - { - "key": "app.py:bad_request_error", - "name": "bad_request_error", - "file": "app.py", - "line": 1566, - "is_private": false, - "body_lines": 4, - "docstring": "400-Fehlerseite - Ungültige Anfrage" - }, - { - "key": "app.py:unauthorized_error", - "name": "unauthorized_error", - "file": "app.py", - "line": 1578, - "is_private": false, - "body_lines": 4, - "docstring": "401-Fehlerseite - Nicht autorisiert" - }, - { - "key": "app.py:forbidden_error", - "name": "forbidden_error", - "file": "app.py", - "line": 1590, - "is_private": false, - "body_lines": 4, - "docstring": "403-Fehlerseite - Zugriff verweigert" - }, - { - "key": "app.py:not_found_error", - "name": "not_found_error", - "file": "app.py", - "line": 1608, - "is_private": false, - "body_lines": 4, - "docstring": "404-Fehlerseite - Seite nicht gefunden" - }, - { - "key": "app.py:method_not_allowed_error", - "name": "method_not_allowed_error", - "file": "app.py", - "line": 1626, - "is_private": false, - "body_lines": 4, - "docstring": "405-Fehlerseite - Methode nicht erlaubt" - }, - { - "key": "app.py:payload_too_large_error", - "name": "payload_too_large_error", - "file": "app.py", - "line": 1638, - "is_private": false, - "body_lines": 4, - "docstring": "413-Fehlerseite - Datei zu groß" - }, - { - "key": "app.py:rate_limit_error", - "name": "rate_limit_error", - "file": "app.py", - "line": 1650, - "is_private": false, - "body_lines": 4, - "docstring": "429-Fehlerseite - Zu viele Anfragen" - }, - { - "key": "app.py:internal_error", - "name": "internal_error", - "file": "app.py", - "line": 1662, - "is_private": false, - "body_lines": 11, - "docstring": "500-Fehlerseite - Interner Serverfehler" - }, - { - "key": "app.py:bad_gateway_error", - "name": "bad_gateway_error", - "file": "app.py", - "line": 1691, - "is_private": false, - "body_lines": 4, - "docstring": "502-Fehlerseite - Bad Gateway" - }, - { - "key": "app.py:service_unavailable_error", - "name": "service_unavailable_error", - "file": "app.py", - "line": 1703, - "is_private": false, - "body_lines": 4, - "docstring": "503-Fehlerseite - Service nicht verfügbar" - }, - { - "key": "app.py:http_version_not_supported_error", - "name": "http_version_not_supported_error", - "file": "app.py", - "line": 1715, - "is_private": false, - "body_lines": 4, - "docstring": "505-Fehlerseite - HTTP-Version nicht unterstützt" - }, - { - "key": "app.py:handle_exception", - "name": "handle_exception", - "file": "app.py", - "line": 1728, - "is_private": false, - "body_lines": 13, - "docstring": "Allgemeiner Handler für unbehandelte Ausnahmen" - }, - { - "key": "app.py:production_info", - "name": "production_info", - "file": "app.py", - "line": 1983, - "is_private": false, - "body_lines": 2, - "docstring": "Stellt Production-Informationen für Templates bereit" - }, - { - "key": "app.py:get_minimal_session_data", - "name": "get_minimal_session_data", - "file": "app.py", - "line": 47, - "is_private": false, - "body_lines": 3, - "docstring": "Gibt nur minimale Session-Daten zurück" - }, - { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129, - "is_private": false, - "body_lines": 3, - "docstring": "Bereinigt abgelaufene Session-Dateien" - }, - { - "key": "tests/test_tapo_integration.py:setup", - "name": "setup", - "file": "tests/test_tapo_integration.py", - "line": 106, - "is_private": false, - "body_lines": 8, - "docstring": "Setup für jeden Test" - }, - { - "key": "config/settings.py:get_log_file", - "name": "get_log_file", - "file": "config/settings.py", - "line": 98, - "is_private": false, - "body_lines": 3, - "docstring": "Gibt den Pfad zur Log-Datei für eine bestimmte Kategorie zurück.\n\nArgs:\n category: Log-Kategorie " - }, - { - "key": "config/settings.py:ensure_log_directories", - "name": "ensure_log_directories", - "file": "config/settings.py", - "line": 113, - "is_private": false, - "body_lines": 3, - "docstring": "Erstellt alle erforderlichen Log-Verzeichnisse." - }, - { - "key": "config/settings.py:ensure_upload_directory", - "name": "ensure_upload_directory", - "file": "config/settings.py", - "line": 131, - "is_private": false, - "body_lines": 2, - "docstring": "Erstellt das Upload-Verzeichnis, falls es nicht existiert." - }, - { - "key": "config/__init__.py:get_config", - "name": "get_config", - "file": "config/__init__.py", - "line": 39, - "is_private": false, - "body_lines": 3, - "docstring": "Get configuration object based on environment name.\n\nArgs:\n config_name (str): Configuration envi" - }, - { - "key": "config/__init__.py:validate_config", - "name": "validate_config", - "file": "config/__init__.py", - "line": 57, - "is_private": false, - "body_lines": 4, - "docstring": "Validate configuration object.\n\nArgs:\n config_obj: Configuration object to validate\n \nReturns:" - }, - { - "key": "config/app_config.py:get_config_by_name", - "name": "get_config_by_name", - "file": "config/app_config.py", - "line": 171, - "is_private": false, - "body_lines": 2, - "docstring": "Get configuration class by name.\n\nArgs:\n config_name (str): Name of the configuration ('developme" - }, - { - "key": "config/security.py:get_security_headers", - "name": "get_security_headers", - "file": "config/security.py", - "line": 79, - "is_private": false, - "body_lines": 2, - "docstring": "Gibt die Sicherheits-Headers zurück" - }, - { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62, - "is_private": false, - "body_lines": 2, - "docstring": "Gibt die Sicherheits-Headers zurück" - }, - { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66, - "is_private": false, - "body_lines": 2, - "docstring": "Gibt die Rate-Limiting-Konfiguration zurück" - }, - { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70, - "is_private": false, - "body_lines": 2, - "docstring": "Gibt die Session-Konfiguration zurück" - }, - { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74, - "is_private": false, - "body_lines": 2, - "docstring": "Gibt die CSRF-Konfiguration zurück" - }, - { - "key": "blueprints/jobs.py:job_owner_required", - "name": "job_owner_required", - "file": "blueprints/jobs.py", - "line": 22, - "is_private": false, - "body_lines": 3, - "docstring": "Decorator um zu prüfen, ob der aktuelle Benutzer Besitzer eines Jobs ist oder Admin" - }, - { - "key": "blueprints/jobs.py:decorated_function", - "name": "decorated_function", - "file": "blueprints/jobs.py", - "line": 25, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "blueprints/guest.py:guest_request_form", - "name": "guest_request_form", - "file": "blueprints/guest.py", - "line": 40, - "is_private": false, - "body_lines": 3, - "docstring": "Formular für Gastanfragen anzeigen und verarbeiten." - }, - { - "key": "blueprints/guest.py:guest_start_public", - "name": "guest_start_public", - "file": "blueprints/guest.py", - "line": 126, - "is_private": false, - "body_lines": 2, - "docstring": "Öffentliche Code-Eingabe-Seite für Gäste (ohne Anmeldung)." - }, - { - "key": "blueprints/guest.py:guest_job_status", - "name": "guest_job_status", - "file": "blueprints/guest.py", - "line": 131, - "is_private": false, - "body_lines": 3, - "docstring": "Job-Status-Seite für Gäste anzeigen." - }, - { - "key": "blueprints/guest.py:guest_requests_overview", - "name": "guest_requests_overview", - "file": "blueprints/guest.py", - "line": 156, - "is_private": false, - "body_lines": 2, - "docstring": "Öffentliche Übersicht aller Druckanträge mit zensierten persönlichen Daten." - }, - { - "key": "blueprints/guest.py:guest_request_status", - "name": "guest_request_status", - "file": "blueprints/guest.py", - "line": 215, - "is_private": false, - "body_lines": 3, - "docstring": "Status einer Gastanfrage anzeigen." - }, - { - "key": "blueprints/guest.py:guest_requests_by_email", - "name": "guest_requests_by_email", - "file": "blueprints/guest.py", - "line": 256, - "is_private": false, - "body_lines": 4, - "docstring": "Guest-Requests für eine bestimmte E-Mail-Adresse anzeigen." - }, - { - "key": "blueprints/guest.py:api_create_guest_request", - "name": "api_create_guest_request", - "file": "blueprints/guest.py", - "line": 302, - "is_private": false, - "body_lines": 11, - "docstring": "Neue Gastanfrage erstellen." - }, - { - "key": "blueprints/guest.py:api_start_job_with_code", - "name": "api_start_job_with_code", - "file": "blueprints/guest.py", - "line": 382, - "is_private": false, - "body_lines": 2, - "docstring": "Job mit 6-stelligem OTP-Code starten (vereinfacht - nur Code erforderlich)." - }, - { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477, - "is_private": false, - "body_lines": 2, - "docstring": "Status einer Gastanfrage abrufen." - }, - { - "key": "blueprints/guest.py:api_get_guest_job_status", - "name": "api_get_guest_job_status", - "file": "blueprints/guest.py", - "line": 496, - "is_private": false, - "body_lines": 2, - "docstring": "Job-Status für Gäste abrufen." - }, - { - "key": "blueprints/guest.py:api_get_all_requests", - "name": "api_get_all_requests", - "file": "blueprints/guest.py", - "line": 624, - "is_private": false, - "body_lines": 2, - "docstring": "Alle Gastanfragen für Admins abrufen." - }, - { - "key": "blueprints/guest.py:api_get_request_details", - "name": "api_get_request_details", - "file": "blueprints/guest.py", - "line": 695, - "is_private": false, - "body_lines": 2, - "docstring": "Detaillierte Informationen zu einer Gastanfrage für Admins abrufen." - }, - { - "key": "blueprints/guest.py:api_update_request", - "name": "api_update_request", - "file": "blueprints/guest.py", - "line": 734, - "is_private": false, - "body_lines": 2, - "docstring": "Gastanfrage aktualisieren (nur für Admins)." - }, - { - "key": "blueprints/guest.py:api_delete_request", - "name": "api_delete_request", - "file": "blueprints/guest.py", - "line": 783, - "is_private": false, - "body_lines": 2, - "docstring": "Gastanfrage löschen (nur für Admins)." - }, - { - "key": "blueprints/guest.py:admin_requests_management", - "name": "admin_requests_management", - "file": "blueprints/guest.py", - "line": 817, - "is_private": false, - "body_lines": 2, - "docstring": "Admin-Oberfläche für die Verwaltung von Gastanfragen." - }, - { - "key": "blueprints/guest.py:api_approve_request", - "name": "api_approve_request", - "file": "blueprints/guest.py", - "line": 823, - "is_private": false, - "body_lines": 2, - "docstring": "Gastanfrage genehmigen." - }, - { - "key": "blueprints/guest.py:api_deny_request", - "name": "api_deny_request", - "file": "blueprints/guest.py", - "line": 918, - "is_private": false, - "body_lines": 2, - "docstring": "Gastanfrage ablehnen." - }, - { - "key": "blueprints/guest.py:api_get_request_otp", - "name": "api_get_request_otp", - "file": "blueprints/guest.py", - "line": 960, - "is_private": false, - "body_lines": 2, - "docstring": "OTP-Code für genehmigte Gastanfrage abrufen (nur für Admins)." - }, - { - "key": "blueprints/guest.py:api_guest_status_by_otp", - "name": "api_guest_status_by_otp", - "file": "blueprints/guest.py", - "line": 1002, - "is_private": false, - "body_lines": 2, - "docstring": "Öffentliche Route für Gäste um ihren Auftragsstatus mit Name + OTP-Code zu prüfen.\nKeine Authentifiz" - }, - { - "key": "blueprints/guest.py:guest_status_check_page", - "name": "guest_status_check_page", - "file": "blueprints/guest.py", - "line": 1112, - "is_private": false, - "body_lines": 2, - "docstring": "Status-Check-Seite für Gäste." - }, - { - "key": "blueprints/uploads.py:admin_required", - "name": "admin_required", - "file": "blueprints/uploads.py", - "line": 26, - "is_private": false, - "body_lines": 3, - "docstring": "Decorator für Admin-geschützte Routen" - }, - { - "key": "blueprints/uploads.py:upload_guest_file", - "name": "upload_guest_file", - "file": "blueprints/uploads.py", - "line": 87, - "is_private": false, - "body_lines": 2, - "docstring": "Lädt eine Gast-Datei hoch (ohne Login)" - }, - { - "key": "blueprints/legal_pages.py:imprint", - "name": "imprint", - "file": "blueprints/legal_pages.py", - "line": 12, - "is_private": false, - "body_lines": 2, - "docstring": "Impressum/Rechtliche Hinweise" - }, - { - "key": "blueprints/legal_pages.py:privacy", - "name": "privacy", - "file": "blueprints/legal_pages.py", - "line": 18, - "is_private": false, - "body_lines": 2, - "docstring": "Datenschutzerklärung" - }, - { - "key": "blueprints/legal_pages.py:terms", - "name": "terms", - "file": "blueprints/legal_pages.py", - "line": 24, - "is_private": false, - "body_lines": 2, - "docstring": "Nutzungsbedingungen" - }, - { - "key": "blueprints/legal_pages.py:legal", - "name": "legal", - "file": "blueprints/legal_pages.py", - "line": 30, - "is_private": false, - "body_lines": 2, - "docstring": "Allgemeine rechtliche Informationen" - }, - { - "key": "blueprints/legal_pages.py:system_info", - "name": "system_info", - "file": "blueprints/legal_pages.py", - "line": 36, - "is_private": false, - "body_lines": 3, - "docstring": "System-Informationen und Version" - }, - { - "key": "blueprints/auth.py:reset_password_request", - "name": "reset_password_request", - "file": "blueprints/auth.py", - "line": 149, - "is_private": false, - "body_lines": 3, - "docstring": "Passwort-Reset anfordern (Placeholder)" - }, - { - "key": "blueprints/auth.py:api_login", - "name": "api_login", - "file": "blueprints/auth.py", - "line": 156, - "is_private": false, - "body_lines": 2, - "docstring": "API-Login-Endpunkt für Frontend" - }, - { - "key": "blueprints/auth.py:api_callback", - "name": "api_callback", - "file": "blueprints/auth.py", - "line": 211, - "is_private": false, - "body_lines": 2, - "docstring": "OAuth-Callback-Endpunkt für externe Authentifizierung" - }, - { - "key": "blueprints/api.py:session_status", - "name": "session_status", - "file": "blueprints/api.py", - "line": 180, - "is_private": false, - "body_lines": 2, - "docstring": "Gibt den aktuellen Session-Status zurück" - }, - { - "key": "blueprints/api_simple.py:health_check", - "name": "health_check", - "file": "blueprints/api_simple.py", - "line": 218, - "is_private": false, - "body_lines": 2, - "docstring": "API Gesundheitscheck." - }, - { - "key": "blueprints/energy_monitoring.py:get_energy_monitoring", - "name": "get_energy_monitoring", - "file": "blueprints/energy_monitoring.py", - "line": 429, - "is_private": false, - "body_lines": 2, - "docstring": "Legacy-Funktion für Energiemonitoring-Zugriff." - }, - { - "key": "blueprints/kiosk.py:get_status", - "name": "get_status", - "file": "blueprints/kiosk.py", - "line": 35, - "is_private": false, - "body_lines": 2, - "docstring": "Gibt den aktuellen Kiosk-Status zurück" - }, - { - "key": "blueprints/kiosk.py:deactivate", - "name": "deactivate", - "file": "blueprints/kiosk.py", - "line": 58, - "is_private": false, - "body_lines": 2, - "docstring": "Deaktiviert den Kiosk-Modus\n\nDiese Route kann sowohl von angemeldeten Benutzern als auch\nohne Anmeld" - }, - { - "key": "blueprints/kiosk.py:restart_system", - "name": "restart_system", - "file": "blueprints/kiosk.py", - "line": 164, - "is_private": false, - "body_lines": 2, - "docstring": "Startet das System neu (nur für Kiosk-Modus).\nDiese Route ist öffentlich zugänglich für den Kiosk-Ne" - }, - { - "key": "blueprints/kiosk.py:delayed_restart", - "name": "delayed_restart", - "file": "blueprints/kiosk.py", - "line": 182, - "is_private": false, - "body_lines": 2, - "docstring": null - }, - { - "key": "blueprints/admin_unified.py:admin_required", - "name": "admin_required", - "file": "blueprints/admin_unified.py", - "line": 54, - "is_private": false, - "body_lines": 3, - "docstring": "Vereinheitlichter Decorator für Admin-Berechtigung.\n\nKombiniert die beste Praxis aus beiden ursprüng" - }, - { - "key": "blueprints/user_management.py:users_admin_required", - "name": "users_admin_required", - "file": "blueprints/user_management.py", - "line": 44, - "is_private": false, - "body_lines": 3, - "docstring": "Decorator für Admin-Berechtigung bei Benutzerverwaltung.\nErweitert den Standard-Admin-Check um spezi" - }, - { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448, - "is_private": false, - "body_lines": 2, - "docstring": "Admin-Seite für Benutzerberechtigungen" - }, - { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475, - "is_private": false, - "body_lines": 2, - "docstring": "API-Endpunkt für Benutzerberechtigungen" - }, - { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506, - "is_private": false, - "body_lines": 2, - "docstring": "Benutzerberechtigungen via API aktualisieren" - }, - { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542, - "is_private": false, - "body_lines": 2, - "docstring": "Benutzerberechtigungen via Formular aktualisieren" - }, - { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574, - "is_private": false, - "body_lines": 2, - "docstring": "Berechtigungsbereich für Benutzer bearbeiten" - }, - { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595, - "is_private": false, - "body_lines": 2, - "docstring": "API-Endpunkt für detaillierte Benutzerdaten" - }, - { - "key": "utils/utilities_collection.py:send_email", - "name": "send_email", - "file": "utils/utilities_collection.py", - "line": 299, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/utilities_collection.py:add_printers", - "name": "add_printers", - "file": "utils/utilities_collection.py", - "line": 302, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/utilities_collection.py:run_maintenance", - "name": "run_maintenance", - "file": "utils/utilities_collection.py", - "line": 305, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/utilities_collection.py:apply_quick_fixes", - "name": "apply_quick_fixes", - "file": "utils/utilities_collection.py", - "line": 311, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/utilities_collection.py:get_all", - "name": "get_all", - "file": "utils/utilities_collection.py", - "line": 58, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/utilities_collection.py:get_offline_message", - "name": "get_offline_message", - "file": "utils/utilities_collection.py", - "line": 189, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/utilities_collection.py:optimize_frontend", - "name": "optimize_frontend", - "file": "utils/utilities_collection.py", - "line": 244, - "is_private": false, - "body_lines": 3, - "docstring": "Frontend optimieren" - }, - { - "key": "utils/utilities_collection.py:update_requirements", - "name": "update_requirements", - "file": "utils/utilities_collection.py", - "line": 250, - "is_private": false, - "body_lines": 3, - "docstring": "Requirements aktualisieren" - }, - { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/development_tools.py:run_debug_checks", - "name": "run_debug_checks", - "file": "utils/development_tools.py", - "line": 225, - "is_private": false, - "body_lines": 3, - "docstring": "Führt alle Debug-Checks aus" - }, - { - "key": "utils/development_tools.py:run_system_tests", - "name": "run_system_tests", - "file": "utils/development_tools.py", - "line": 230, - "is_private": false, - "body_lines": 2, - "docstring": "Führt System-Tests aus" - }, - { - "key": "utils/development_tools.py:setup_test_environment", - "name": "setup_test_environment", - "file": "utils/development_tools.py", - "line": 234, - "is_private": false, - "body_lines": 2, - "docstring": "Richtet Test-Umgebung ein" - }, - { - "key": "utils/development_tools.py:cleanup_test_environment", - "name": "cleanup_test_environment", - "file": "utils/development_tools.py", - "line": 238, - "is_private": false, - "body_lines": 2, - "docstring": "Räumt Test-Umgebung auf" - }, - { - "key": "utils/development_tools.py:debug_drucker_erkennung", - "name": "debug_drucker_erkennung", - "file": "utils/development_tools.py", - "line": 245, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/development_tools.py:debug_login", - "name": "debug_login", - "file": "utils/development_tools.py", - "line": 248, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/development_tools.py:debug_guest_requests", - "name": "debug_guest_requests", - "file": "utils/development_tools.py", - "line": 251, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/permissions.py:admin_required", - "name": "admin_required", - "file": "utils/permissions.py", - "line": 17, - "is_private": false, - "body_lines": 3, - "docstring": "Decorator für Admin-Berechtigung.\n\nÜberprüft sowohl die Rolle als auch die is_admin Property.\nFalls " - }, - { - "key": "utils/permissions.py:approver_required", - "name": "approver_required", - "file": "utils/permissions.py", - "line": 189, - "is_private": false, - "body_lines": 3, - "docstring": "Decorator für Genehmigungsberechtigungen.\n\nPrüft ob der Benutzer Gastanfragen genehmigen darf." - }, - { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204, - "is_private": false, - "body_lines": 2, - "docstring": "Holt die Berechtigungen eines Benutzers.\n\nArgs:\n user_id: ID des Benutzers\n \nReturns:\n dict" - }, - { - "key": "utils/ui_components.py:validate_form_field", - "name": "validate_form_field", - "file": "utils/ui_components.py", - "line": 327, - "is_private": false, - "body_lines": 2, - "docstring": "Validiert Formular-Feld" - }, - { - "key": "utils/ui_components.py:create_data_table", - "name": "create_data_table", - "file": "utils/ui_components.py", - "line": 331, - "is_private": false, - "body_lines": 3, - "docstring": "Erstellt Datentabelle" - }, - { - "key": "utils/ui_components.py:create_upload_zone", - "name": "create_upload_zone", - "file": "utils/ui_components.py", - "line": 336, - "is_private": false, - "body_lines": 2, - "docstring": "Erstellt Upload-Zone" - }, - { - "key": "utils/ui_components.py:get_dashboard_stats", - "name": "get_dashboard_stats", - "file": "utils/ui_components.py", - "line": 340, - "is_private": false, - "body_lines": 2, - "docstring": "Holt Dashboard-Statistiken" - }, - { - "key": "utils/ui_components.py:init_template_helpers", - "name": "init_template_helpers", - "file": "utils/ui_components.py", - "line": 364, - "is_private": false, - "body_lines": 3, - "docstring": "Registriert Template-Helfer in Flask-App" - }, - { - "key": "utils/ui_components.py:add_rule", - "name": "add_rule", - "file": "utils/ui_components.py", - "line": 89, - "is_private": false, - "body_lines": 4, - "docstring": "Fügt Validierungsregel hinzu" - }, - { - "key": "utils/ui_components.py:handle_upload", - "name": "handle_upload", - "file": "utils/ui_components.py", - "line": 208, - "is_private": false, - "body_lines": 3, - "docstring": "Verarbeitet Datei-Upload" - }, - { - "key": "utils/ui_components.py:subscribe", - "name": "subscribe", - "file": "utils/ui_components.py", - "line": 246, - "is_private": false, - "body_lines": 4, - "docstring": "Abonniert Kanäle für Client" - }, - { - "key": "utils/ui_components.py:unsubscribe", - "name": "unsubscribe", - "file": "utils/ui_components.py", - "line": 254, - "is_private": false, - "body_lines": 2, - "docstring": "Meldet Client ab" - }, - { - "key": "utils/ui_components.py:broadcast_update", - "name": "broadcast_update", - "file": "utils/ui_components.py", - "line": 259, - "is_private": false, - "body_lines": 3, - "docstring": "Sendet Update an alle Abonnenten" - }, - { - "key": "utils/job_queue_system.py:schedule_print_job", - "name": "schedule_print_job", - "file": "utils/job_queue_system.py", - "line": 466, - "is_private": false, - "body_lines": 2, - "docstring": "Plant Druckauftrag ein" - }, - { - "key": "utils/job_queue_system.py:check_scheduling_conflict", - "name": "check_scheduling_conflict", - "file": "utils/job_queue_system.py", - "line": 474, - "is_private": false, - "body_lines": 2, - "docstring": "Prüft Terminkonflikt" - }, - { - "key": "utils/job_queue_system.py:resolve_conflict", - "name": "resolve_conflict", - "file": "utils/job_queue_system.py", - "line": 189, - "is_private": false, - "body_lines": 3, - "docstring": "Löst Konflikt zwischen zwei Jobs" - }, - { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253, - "is_private": true, - "body_lines": 2, - "docstring": "Timer-Hauptschleife" - }, - { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436, - "is_private": true, - "body_lines": 2, - "docstring": "Scheduler-Hauptschleife" - }, - { - "key": "utils/job_queue_system.py:add_to_queue", - "name": "add_to_queue", - "file": "utils/job_queue_system.py", - "line": 488, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/job_queue_system.py:check_conflicts", - "name": "check_conflicts", - "file": "utils/job_queue_system.py", - "line": 504, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/job_queue_system.py:schedule_task", - "name": "schedule_task", - "file": "utils/job_queue_system.py", - "line": 510, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/data_management.py:send2trash", - "name": "send2trash", - "file": "utils/data_management.py", - "line": 360, - "is_private": false, - "body_lines": 2, - "docstring": "Kompatibilitätsfunktion für Send2Trash" - }, - { - "key": "utils/settings.py:get_log_file", - "name": "get_log_file", - "file": "utils/settings.py", - "line": 98, - "is_private": false, - "body_lines": 3, - "docstring": "Gibt den Pfad zur Log-Datei für eine bestimmte Kategorie zurück.\n\nArgs:\n category: Log-Kategorie " - }, - { - "key": "utils/settings.py:ensure_log_directories", - "name": "ensure_log_directories", - "file": "utils/settings.py", - "line": 113, - "is_private": false, - "body_lines": 3, - "docstring": "Erstellt alle erforderlichen Log-Verzeichnisse." - }, - { - "key": "utils/settings.py:ensure_upload_directory", - "name": "ensure_upload_directory", - "file": "utils/settings.py", - "line": 131, - "is_private": false, - "body_lines": 2, - "docstring": "Erstellt das Upload-Verzeichnis, falls es nicht existiert." - }, - { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563, - "is_private": false, - "body_lines": 5, - "docstring": "Schaltet alle gespeicherten Steckdosen aus (einheitlicher Startzustand)\n\nReturns:\n Dict[str, bool" - }, - { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619, - "is_private": false, - "body_lines": 4, - "docstring": "Holt den Status aller konfigurierten Tapo-Steckdosen\n\nReturns:\n Dict[str, Dict]: Status aller Ste" - }, - { - "key": "utils/hardware_integration.py:turn_off_outlet", - "name": "turn_off_outlet", - "file": "utils/hardware_integration.py", - "line": 969, - "is_private": false, - "body_lines": 2, - "docstring": "Wrapper für Legacy-Kompatibilität - schaltet eine Tapo-Steckdose aus\n\nArgs:\n ip: IP-Adresse der S" - }, - { - "key": "utils/hardware_integration.py:turn_on_outlet", - "name": "turn_on_outlet", - "file": "utils/hardware_integration.py", - "line": 982, - "is_private": false, - "body_lines": 2, - "docstring": "Wrapper für Legacy-Kompatibilität - schaltet eine Tapo-Steckdose ein\n\nArgs:\n ip: IP-Adresse der S" - }, - { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233, - "is_private": false, - "body_lines": 2, - "docstring": "Prüft alle Jobs und steuert Steckdosen entsprechend\n\nDiese Methode sollte regelmäßig vom Scheduler a" - }, - { - "key": "utils/hardware_integration.py:get_session_status", - "name": "get_session_status", - "file": "utils/hardware_integration.py", - "line": 1280, - "is_private": false, - "body_lines": 2, - "docstring": "Holt den gecachten Status für eine Session\n\nArgs:\n session_id: Session-ID\n printer_ids: Option" - }, - { - "key": "utils/hardware_integration.py:update_session_status", - "name": "update_session_status", - "file": "utils/hardware_integration.py", - "line": 1322, - "is_private": false, - "body_lines": 2, - "docstring": "Aktualisiert den Session-Status-Cache\n\nArgs:\n session_id: Session-ID\n printer_id: Optional - s" - }, - { - "key": "utils/ip_security.py:require_plug_ip_access", - "name": "require_plug_ip_access", - "file": "utils/ip_security.py", - "line": 170, - "is_private": false, - "body_lines": 3, - "docstring": "Decorator für Steckdosen-Zugriff der IP-Beschränkungen durchsetzt\n\nArgs:\n func: Zu schützende Fun" - }, - { - "key": "utils/ip_security.py:require_admin_ip_access", - "name": "require_admin_ip_access", - "file": "utils/ip_security.py", - "line": 208, - "is_private": false, - "body_lines": 3, - "docstring": "Decorator für Admin-Zugriff mit IP-Beschränkungen\n\nArgs:\n func: Zu schützende Funktion\n \nRetur" - }, - { - "key": "utils/ip_security.py:is_ip_blocked", - "name": "is_ip_blocked", - "file": "utils/ip_security.py", - "line": 150, - "is_private": false, - "body_lines": 2, - "docstring": "Prüft, ob eine IP explizit gesperrt ist\n\nArgs:\n ip: IP-Adresse\n \nReturns:\n bool: True wenn " - }, - { - "key": "utils/ip_security.py:wrapper", - "name": "wrapper", - "file": "utils/ip_security.py", - "line": 219, - "is_private": false, - "body_lines": 3, - "docstring": null - }, - { - "key": "utils/ssl_suite.py:get_ssl_status", - "name": "get_ssl_status", - "file": "utils/ssl_suite.py", - "line": 250, - "is_private": false, - "body_lines": 2, - "docstring": "Holt SSL-Status" - }, - { - "key": "utils/ssl_suite.py:apply_ssl_fixes", - "name": "apply_ssl_fixes", - "file": "utils/ssl_suite.py", - "line": 261, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/ssl_suite.py:get_ssl_config", - "name": "get_ssl_config", - "file": "utils/ssl_suite.py", - "line": 265, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/ssl_suite.py:manage_ssl_certificates", - "name": "manage_ssl_certificates", - "file": "utils/ssl_suite.py", - "line": 269, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/api_utils.py:validate_printer_data", - "name": "validate_printer_data", - "file": "utils/api_utils.py", - "line": 88, - "is_private": false, - "body_lines": 2, - "docstring": "Validiert und standardisiert Drucker-Daten.\n\nArgs:\n printer_dict: Rohe Drucker-Daten\n \nReturns" - }, - { - "key": "utils/api_utils.py:handle_api_exception", - "name": "handle_api_exception", - "file": "utils/api_utils.py", - "line": 112, - "is_private": false, - "body_lines": 6, - "docstring": "Behandelt API-Exceptions und erstellt konsistente Fehler-Responses.\n\nArgs:\n error: Die aufgetrete" - }, - { - "key": "utils/api_utils.py:normalize_response", - "name": "normalize_response", - "file": "utils/api_utils.py", - "line": 169, - "is_private": false, - "body_lines": 5, - "docstring": "Normalisiert eine Response auf das Standard-Format.\n\nArgs:\n response_data: Zu normalisierende Res" - }, - { - "key": "utils/security_suite.py:get_security_manager", - "name": "get_security_manager", - "file": "utils/security_suite.py", - "line": 108, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/security_suite.py:csp_nonce", - "name": "csp_nonce", - "file": "utils/security_suite.py", - "line": 118, - "is_private": false, - "body_lines": 2, - "docstring": "Template Helper für CSP Nonce" - }, - { - "key": "utils/security_suite.py:decorator", - "name": "decorator", - "file": "utils/security_suite.py", - "line": 88, - "is_private": false, - "body_lines": 2, - "docstring": null - }, - { - "key": "utils/security_suite.py:before_request_security", - "name": "before_request_security", - "file": "utils/security_suite.py", - "line": 131, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/security_suite.py:after_request_security", - "name": "after_request_security", - "file": "utils/security_suite.py", - "line": 135, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/drag_drop_system.py:validate_file_upload", - "name": "validate_file_upload", - "file": "utils/drag_drop_system.py", - "line": 402, - "is_private": false, - "body_lines": 13, - "docstring": "Validiert eine Datei für Upload" - }, - { - "key": "utils/drag_drop_system.py:add_file_to_session", - "name": "add_file_to_session", - "file": "utils/drag_drop_system.py", - "line": 67, - "is_private": false, - "body_lines": 3, - "docstring": "Fügt eine Datei zur Upload-Session hinzu" - }, - { - "key": "utils/drag_drop_system.py:update_file_progress", - "name": "update_file_progress", - "file": "utils/drag_drop_system.py", - "line": 74, - "is_private": false, - "body_lines": 2, - "docstring": "Aktualisiert Upload-Progress" - }, - { - "key": "utils/drag_drop_system.py:cleanup_session", - "name": "cleanup_session", - "file": "utils/drag_drop_system.py", - "line": 113, - "is_private": false, - "body_lines": 2, - "docstring": "Bereinigt eine Upload-Session" - }, - { - "key": "utils/drag_drop_system.py:remove_job_from_order", - "name": "remove_job_from_order", - "file": "utils/drag_drop_system.py", - "line": 265, - "is_private": false, - "body_lines": 2, - "docstring": "Entfernt einen Job aus allen Drucker-Reihenfolgen.\n\nArgs:\n job_id: ID des zu entfernenden Jobs\n\nR" - }, - { - "key": "utils/drag_drop_system.py:cleanup_worker", - "name": "cleanup_worker", - "file": "utils/drag_drop_system.py", - "line": 313, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39, - "is_private": false, - "body_lines": 2, - "docstring": "Führt Cleanup für alle registrierten Engines durch." - }, - { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56, - "is_private": false, - "body_lines": 2, - "docstring": "Gibt die Anzahl der registrierten Engines zurück." - }, - { - "key": "utils/audit_logger.py:log_admin_action", - "name": "log_admin_action", - "file": "utils/audit_logger.py", - "line": 51, - "is_private": false, - "body_lines": 2, - "docstring": "Loggt Admin-Aktionen für Audit-Zwecke.\n\nArgs:\n action: Beschreibung der durchgeführten Aktion\n " - }, - { - "key": "utils/audit_logger.py:log_security_event", - "name": "log_security_event", - "file": "utils/audit_logger.py", - "line": 68, - "is_private": false, - "body_lines": 2, - "docstring": "Loggt sicherheitsrelevante Events.\n\nArgs:\n event_type: Art des Security-Events (LOGIN, LOGOUT, FA" - }, - { - "key": "utils/audit_logger.py:log_audit_event", - "name": "log_audit_event", - "file": "utils/audit_logger.py", - "line": 30, - "is_private": false, - "body_lines": 5, - "docstring": "Loggt relevante Anfragen für Audit-Zwecke" - }, - { - "key": "utils/job_scheduler.py:update_task", - "name": "update_task", - "file": "utils/job_scheduler.py", - "line": 81, - "is_private": false, - "body_lines": 9, - "docstring": "Aktualisiert die Konfiguration einer bestehenden Task.\n\nArgs:\n task_id: ID der zu aktualisierende" - }, - { - "key": "utils/job_scheduler.py:remove_task", - "name": "remove_task", - "file": "utils/job_scheduler.py", - "line": 125, - "is_private": false, - "body_lines": 5, - "docstring": "Entfernt eine Task aus dem Scheduler.\n\nArgs:\n task_id: ID der zu entfernenden Task\n \nReturns:\n" - }, - { - "key": "utils/job_scheduler.py:get_task_info", - "name": "get_task_info", - "file": "utils/job_scheduler.py", - "line": 143, - "is_private": false, - "body_lines": 3, - "docstring": "Gibt Informationen zu einer Task oder allen Tasks zurück.\n\nArgs:\n task_id: ID der Task oder None " - }, - { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194, - "is_private": false, - "body_lines": 7, - "docstring": "Gibt die Laufzeit des Schedulers seit dem Start zurück.\n\nReturns:\n str: Formatierte Laufzeit oder" - }, - { - "key": "utils/job_scheduler.py:_run", - "name": "_run", - "file": "utils/job_scheduler.py", - "line": 266, - "is_private": true, - "body_lines": 4, - "docstring": "Hauptloop des Schedulers." - }, - { - "key": "utils/job_scheduler.py:_check_jobs", - "name": "_check_jobs", - "file": "utils/job_scheduler.py", - "line": 374, - "is_private": true, - "body_lines": 3, - "docstring": "Überprüft und verwaltet Druckjobs mit intelligentem Power Management:\n- Startet anstehende Jobs (gep" - }, - { - "key": "utils/job_scheduler.py:handle_immediate_job", - "name": "handle_immediate_job", - "file": "utils/job_scheduler.py", - "line": 488, - "is_private": false, - "body_lines": 3, - "docstring": "Behandelt einen Job sofort (für Sofort-Start bei Job-Erstellung).\n\nArgs:\n job_id: ID des zu start" - }, - { - "key": "utils/job_scheduler.py:check_and_manage_printer_power", - "name": "check_and_manage_printer_power", - "file": "utils/job_scheduler.py", - "line": 547, - "is_private": false, - "body_lines": 3, - "docstring": "Prüft und verwaltet die Stromversorgung eines spezifischen Druckers.\n\nArgs:\n printer_id: ID des z" - }, - { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624, - "is_private": true, - "body_lines": 2, - "docstring": "Prüft anstehende Jobs und startet sie automatisch." - }, - { - "key": "utils/core_system.py:safe_subprocess_run", - "name": "safe_subprocess_run", - "file": "utils/core_system.py", - "line": 203, - "is_private": false, - "body_lines": 5, - "docstring": "Sicherer subprocess.run Wrapper für Windows mit UTF-8 Encoding" - }, - { - "key": "utils/core_system.py:_signal_handler", - "name": "_signal_handler", - "file": "utils/core_system.py", - "line": 568, - "is_private": true, - "body_lines": 3, - "docstring": "Signal-Handler für sauberes Beenden" - }, - { - "key": "utils/core_system.py:set_timeout", - "name": "set_timeout", - "file": "utils/core_system.py", - "line": 370, - "is_private": false, - "body_lines": 6, - "docstring": "Setzt einen Timeout für eine Operation" - }, - { - "key": "utils/core_system.py:cancel_timeout", - "name": "cancel_timeout", - "file": "utils/core_system.py", - "line": 394, - "is_private": false, - "body_lines": 2, - "docstring": "Bricht einen Timeout ab" - }, - { - "key": "utils/core_system.py:start_watchdog", - "name": "start_watchdog", - "file": "utils/core_system.py", - "line": 742, - "is_private": false, - "body_lines": 2, - "docstring": "Startet den Watchdog-Service" - }, - { - "key": "utils/core_system.py:timeout_handler", - "name": "timeout_handler", - "file": "utils/core_system.py", - "line": 373, - "is_private": false, - "body_lines": 3, - "docstring": null - }, - { - "key": "utils/core_system.py:windows_bind_with_reuse", - "name": "windows_bind_with_reuse", - "file": "utils/core_system.py", - "line": 188, - "is_private": false, - "body_lines": 2, - "docstring": null - }, - { - "key": "utils/database_suite.py:get_database_stats", - "name": "get_database_stats", - "file": "utils/database_suite.py", - "line": 226, - "is_private": false, - "body_lines": 2, - "docstring": "Holt Datenbank-Statistiken" - }, - { - "key": "utils/database_suite.py:get_db_connection", - "name": "get_db_connection", - "file": "utils/database_suite.py", - "line": 262, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/database_suite.py:run_migrations", - "name": "run_migrations", - "file": "utils/database_suite.py", - "line": 270, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/database_suite.py:clean_database", - "name": "clean_database", - "file": "utils/database_suite.py", - "line": 274, - "is_private": false, - "body_lines": 1, - "docstring": null - }, - { - "key": "utils/logging_config.py:emergency_log", - "name": "emergency_log", - "file": "utils/logging_config.py", - "line": 352, - "is_private": false, - "body_lines": 2, - "docstring": "Notfall-Logging das auch funktioniert wenn das Hauptsystem fehlschlägt.\n\nArgs:\n message: Nachrich" - }, - { - "key": "utils/logging_config.py:decorator", - "name": "decorator", - "file": "utils/logging_config.py", - "line": 244, - "is_private": false, - "body_lines": 2, - "docstring": null - }, - { - "key": "utils/logging_config.py:wrapper", - "name": "wrapper", - "file": "utils/logging_config.py", - "line": 246, - "is_private": false, - "body_lines": 3, - "docstring": null - }, - { - "key": "utils/monitoring_analytics.py:get_system_performance", - "name": "get_system_performance", - "file": "utils/monitoring_analytics.py", - "line": 302, - "is_private": false, - "body_lines": 2, - "docstring": "Holt System-Performance-Daten" - }, - { - "key": "utils/monitoring_analytics.py:get_job_statistics", - "name": "get_job_statistics", - "file": "utils/monitoring_analytics.py", - "line": 306, - "is_private": false, - "body_lines": 2, - "docstring": "Holt Job-Statistiken" - }, - { - "key": "utils/monitoring_analytics.py:get_printer_statistics", - "name": "get_printer_statistics", - "file": "utils/monitoring_analytics.py", - "line": 310, - "is_private": false, - "body_lines": 2, - "docstring": "Holt Drucker-Statistiken" - }, - { - "key": "utils/monitoring_analytics.py:get_health_check", - "name": "get_health_check", - "file": "utils/monitoring_analytics.py", - "line": 318, - "is_private": false, - "body_lines": 2, - "docstring": "System-Gesundheitscheck" - }, - { - "key": "utils/monitoring_analytics.py:collect_analytics_data", - "name": "collect_analytics_data", - "file": "utils/monitoring_analytics.py", - "line": 325, - "is_private": false, - "body_lines": 2, - "docstring": "Legacy-Wrapper für Analytics" - }, - { - "key": "utils/monitoring_analytics.py:track_performance", - "name": "track_performance", - "file": "utils/monitoring_analytics.py", - "line": 330, - "is_private": false, - "body_lines": 2, - "docstring": "Legacy-Wrapper für Performance-Tracking" - }, - { - "key": "utils/monitoring_analytics.py:create_pdf_report", - "name": "create_pdf_report", - "file": "utils/monitoring_analytics.py", - "line": 335, - "is_private": false, - "body_lines": 2, - "docstring": "Legacy-Wrapper für PDF-Report" - }, - { - "key": "utils/monitoring_analytics.py:generate_usage_report", - "name": "generate_usage_report", - "file": "utils/monitoring_analytics.py", - "line": 223, - "is_private": false, - "body_lines": 2, - "docstring": "Generiert Nutzungs-Report für Zeitraum" - }, - { - "key": "utils/ip_validation.py:validate_printer_ips", - "name": "validate_printer_ips", - "file": "utils/ip_validation.py", - "line": 75, - "is_private": false, - "body_lines": 8, - "docstring": "Validiert sowohl Drucker- als auch Plug-IP-Adresse.\nStellt sicher, dass beide identisch sind (Redund" - }, - { - "key": "utils/ip_validation.py:check_ip_conflicts", - "name": "check_ip_conflicts", - "file": "utils/ip_validation.py", - "line": 107, - "is_private": false, - "body_lines": 4, - "docstring": "Prüft, ob eine IP-Adresse bereits von einem anderen Drucker verwendet wird.\n\nArgs:\n new_ip: Die z" - }, - { - "key": "utils/script_collection.py:setup_system", - "name": "setup_system", - "file": "utils/script_collection.py", - "line": 232, - "is_private": false, - "body_lines": 2, - "docstring": "System-Setup" - }, - { - "key": "utils/script_collection.py:migrate_database", - "name": "migrate_database", - "file": "utils/script_collection.py", - "line": 96, - "is_private": false, - "body_lines": 3, - "docstring": "Datenbank-Migration" - }, - { - "key": "utils/script_collection.py:create_test_printers", - "name": "create_test_printers", - "file": "utils/script_collection.py", - "line": 143, - "is_private": false, - "body_lines": 3, - "docstring": "Erstellt Test-Drucker" - }, - { - "key": "utils/script_collection.py:update_requirements", - "name": "update_requirements", - "file": "utils/script_collection.py", - "line": 160, - "is_private": false, - "body_lines": 3, - "docstring": "Aktualisiert Requirements" - }, - { - "key": "legacy/app_original.py:aggressive_shutdown_handler", - "name": "aggressive_shutdown_handler", - "file": "legacy/app_original.py", - "line": 326, - "is_private": false, - "body_lines": 6, - "docstring": "Aggressiver Signal-Handler für sofortiges Herunterfahren bei Strg+C.\nSchließt sofort alle Datenbankv" - }, - { - "key": "legacy/app_original.py:csrf_error", - "name": "csrf_error", - "file": "legacy/app_original.py", - "line": 527, - "is_private": false, - "body_lines": 3, - "docstring": "Behandelt CSRF-Fehler und gibt detaillierte Informationen zurück." - }, - { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558, - "is_private": false, - "body_lines": 2, - "docstring": "Performance-optimierter User-Loader mit Caching und robustem Error-Handling." - }, - { - "key": "legacy/app_original.py:inject_now", - "name": "inject_now", - "file": "legacy/app_original.py", - "line": 719, - "is_private": false, - "body_lines": 2, - "docstring": "Inject the current datetime into templates." - }, - { - "key": "legacy/app_original.py:format_datetime_filter", - "name": "format_datetime_filter", - "file": "legacy/app_original.py", - "line": 725, - "is_private": false, - "body_lines": 4, - "docstring": "Format a datetime object to a German-style date and time string" - }, - { - "key": "legacy/app_original.py:is_optimized_mode", - "name": "is_optimized_mode", - "file": "legacy/app_original.py", - "line": 738, - "is_private": false, - "body_lines": 2, - "docstring": "Prüft ob die Anwendung im optimierten Modus läuft" - }, - { - "key": "legacy/app_original.py:get_optimization_info", - "name": "get_optimization_info", - "file": "legacy/app_original.py", - "line": 743, - "is_private": false, - "body_lines": 2, - "docstring": "Gibt Optimierungsinformationen für Templates zurück" - }, - { - "key": "legacy/app_original.py:log_request_info", - "name": "log_request_info", - "file": "legacy/app_original.py", - "line": 755, - "is_private": false, - "body_lines": 2, - "docstring": "Loggt detaillierte Informationen über eingehende HTTP-Anfragen." - }, - { - "key": "legacy/app_original.py:log_response_info", - "name": "log_response_info", - "file": "legacy/app_original.py", - "line": 762, - "is_private": false, - "body_lines": 3, - "docstring": "Loggt detaillierte Informationen über ausgehende HTTP-Antworten." - }, - { - "key": "legacy/app_original.py:job_owner_required", - "name": "job_owner_required", - "file": "legacy/app_original.py", - "line": 787, - "is_private": false, - "body_lines": 2, - "docstring": null - }, - { - "key": "legacy/app_original.py:admin_required", - "name": "admin_required", - "file": "legacy/app_original.py", - "line": 809, - "is_private": false, - "body_lines": 2, - "docstring": null - }, - { - "key": "legacy/app_original.py:reset_password_request", - "name": "reset_password_request", - "file": "legacy/app_original.py", - "line": 952, - "is_private": false, - "body_lines": 3, - "docstring": "Passwort-Reset anfordern (Placeholder)." - }, - { - "key": "legacy/app_original.py:api_login", - "name": "api_login", - "file": "legacy/app_original.py", - "line": 959, - "is_private": false, - "body_lines": 2, - "docstring": "API-Login-Endpunkt für Frontend" - }, - { - "key": "legacy/app_original.py:api_callback", - "name": "api_callback", - "file": "legacy/app_original.py", - "line": 1013, - "is_private": false, - "body_lines": 2, - "docstring": "OAuth-Callback-Endpunkt für externe Authentifizierung" - }, - { - "key": "legacy/app_original.py:kiosk_get_status", - "name": "kiosk_get_status", - "file": "legacy/app_original.py", - "line": 1324, - "is_private": false, - "body_lines": 2, - "docstring": "Kiosk-Status abrufen." - }, - { - "key": "legacy/app_original.py:kiosk_deactivate", - "name": "kiosk_deactivate", - "file": "legacy/app_original.py", - "line": 1339, - "is_private": false, - "body_lines": 2, - "docstring": "Kiosk-Modus mit Passwort deaktivieren." - }, - { - "key": "legacy/app_original.py:kiosk_restart_system", - "name": "kiosk_restart_system", - "file": "legacy/app_original.py", - "line": 1417, - "is_private": false, - "body_lines": 2, - "docstring": "System neu starten (nur nach Kiosk-Deaktivierung)." - }, - { - "key": "legacy/app_original.py:check_multiple_printers_status", - "name": "check_multiple_printers_status", - "file": "legacy/app_original.py", - "line": 2262, - "is_private": false, - "body_lines": 8, - "docstring": "Überprüft den Status mehrerer Drucker parallel.\n\nArgs:\n printers: Liste der zu prüfenden Drucker\n" - }, - { - "key": "legacy/app_original.py:privacy", - "name": "privacy", - "file": "legacy/app_original.py", - "line": 2445, - "is_private": false, - "body_lines": 2, - "docstring": "Datenschutzerklärung-Seite" - }, - { - "key": "legacy/app_original.py:terms", - "name": "terms", - "file": "legacy/app_original.py", - "line": 2450, - "is_private": false, - "body_lines": 2, - "docstring": "Nutzungsbedingungen-Seite" - }, - { - "key": "legacy/app_original.py:imprint", - "name": "imprint", - "file": "legacy/app_original.py", - "line": 2455, - "is_private": false, - "body_lines": 2, - "docstring": "Impressum-Seite" - }, - { - "key": "legacy/app_original.py:legal", - "name": "legal", - "file": "legacy/app_original.py", - "line": 2460, - "is_private": false, - "body_lines": 2, - "docstring": "Rechtliche Hinweise-Übersichtsseite" - }, - { - "key": "legacy/app_original.py:admin_printer_settings_page", - "name": "admin_printer_settings_page", - "file": "legacy/app_original.py", - "line": 2874, - "is_private": false, - "body_lines": 4, - "docstring": "Zeigt die Drucker-Einstellungsseite an." - }, - { - "key": "legacy/app_original.py:upload_guest_file", - "name": "upload_guest_file", - "file": "legacy/app_original.py", - "line": 3838, - "is_private": false, - "body_lines": 2, - "docstring": "Lädt eine Datei für einen Gastauftrag hoch\n\nForm Data:\n file: Die hochzuladende Datei\n guest_n" - }, - { - "key": "legacy/app_original.py:check_session_activity", - "name": "check_session_activity", - "file": "legacy/app_original.py", - "line": 4754, - "is_private": false, - "body_lines": 7, - "docstring": "Überprüft Session-Aktivität und meldet Benutzer bei Inaktivität automatisch ab." - }, - { - "key": "legacy/app_original.py:setup_session_security", - "name": "setup_session_security", - "file": "legacy/app_original.py", - "line": 4820, - "is_private": false, - "body_lines": 2, - "docstring": "Initialisiert Session-Sicherheit für neue Sessions." - }, - { - "key": "legacy/app_original.py:get_guest_request_status", - "name": "get_guest_request_status", - "file": "legacy/app_original.py", - "line": 4943, - "is_private": false, - "body_lines": 2, - "docstring": "Öffentliche Route für Gäste um ihren Auftragsstatus mit OTP-Code zu prüfen.\nKeine Authentifizierung " - }, - { - "key": "legacy/app_original.py:guest_status_page", - "name": "guest_status_page", - "file": "legacy/app_original.py", - "line": 5048, - "is_private": false, - "body_lines": 2, - "docstring": "Öffentliche Seite für Gäste um ihren Auftragsstatus zu prüfen." - }, - { - "key": "legacy/app_original.py:get_validation_js", - "name": "get_validation_js", - "file": "legacy/app_original.py", - "line": 6289, - "is_private": false, - "body_lines": 2, - "docstring": "Liefert Client-seitige Validierungs-JavaScript" - }, - { - "key": "legacy/app_original.py:validate_form_api", - "name": "validate_form_api", - "file": "legacy/app_original.py", - "line": 6302, - "is_private": false, - "body_lines": 2, - "docstring": "API-Endpunkt für Formular-Validierung" - }, - { - "key": "legacy/app_original.py:get_dashboard_js", - "name": "get_dashboard_js", - "file": "legacy/app_original.py", - "line": 6460, - "is_private": false, - "body_lines": 2, - "docstring": "Liefert Client-seitige Dashboard-JavaScript" - }, - { - "key": "legacy/app_original.py:get_dragdrop_js", - "name": "get_dragdrop_js", - "file": "legacy/app_original.py", - "line": 6566, - "is_private": false, - "body_lines": 2, - "docstring": "Liefert Client-seitige Drag & Drop JavaScript" - }, - { - "key": "legacy/app_original.py:get_dragdrop_css", - "name": "get_dragdrop_css", - "file": "legacy/app_original.py", - "line": 6579, - "is_private": false, - "body_lines": 2, - "docstring": "Liefert Client-seitige Drag & Drop CSS" - }, - { - "key": "legacy/app_original.py:get_tables_js", - "name": "get_tables_js", - "file": "legacy/app_original.py", - "line": 6800, - "is_private": false, - "body_lines": 2, - "docstring": "Liefert Client-seitige Advanced Tables JavaScript" - }, - { - "key": "legacy/app_original.py:get_tables_css", - "name": "get_tables_css", - "file": "legacy/app_original.py", - "line": 6813, - "is_private": false, - "body_lines": 2, - "docstring": "Liefert Client-seitige Advanced Tables CSS" - }, - { - "key": "legacy/app_original.py:api_optimization_status", - "name": "api_optimization_status", - "file": "legacy/app_original.py", - "line": 8381, - "is_private": false, - "body_lines": 2, - "docstring": "API-Endpunkt für den aktuellen Optimierungsstatus.\n\nGibt Informationen über aktivierte Optimierungen" - }, - { - "key": "legacy/app_original.py:api_public_statistics", - "name": "api_public_statistics", - "file": "legacy/app_original.py", - "line": 8503, - "is_private": false, - "body_lines": 2, - "docstring": "Öffentliche Statistiken ohne Authentifizierung.\n\nStellt grundlegende, nicht-sensible Systemstatistik" - }, - { - "key": "legacy/app_original.py:add_optimized_cache_headers", - "name": "add_optimized_cache_headers", - "file": "legacy/app_original.py", - "line": 473, - "is_private": false, - "body_lines": 3, - "docstring": "Fügt optimierte Cache-Header für statische Dateien hinzu" - }, - { - "key": "legacy/app_original.py:add_cache_headers", - "name": "add_cache_headers", - "file": "legacy/app_original.py", - "line": 83, - "is_private": false, - "body_lines": 2, - "docstring": null - }, - { - "key": "legacy/app_original.py:fetch_printers", - "name": "fetch_printers", - "file": "legacy/app_original.py", - "line": 4690, - "is_private": false, - "body_lines": 2, - "docstring": null - } - ], - "similar_functions": [ - { - "func1": { - "key": "cleanup_imports.py:__init__", - "name": "__init__", - "file": "cleanup_imports.py", - "line": 18 - }, - "func2": { - "key": "function_analysis_tool.py:__init__", - "name": "__init__", - "file": "function_analysis_tool.py", - "line": 19 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:__init__", - "name": "__init__", - "file": "cleanup_imports.py", - "line": 18 - }, - "func2": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:__init__", - "name": "__init__", - "file": "cleanup_imports.py", - "line": 18 - }, - "func2": { - "key": "import_analyzer.py:__init__", - "name": "__init__", - "file": "import_analyzer.py", - "line": 22 - }, - "similarity": 0.95, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:__init__", - "name": "__init__", - "file": "cleanup_imports.py", - "line": 18 - }, - "func2": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:__init__", - "name": "__init__", - "file": "cleanup_imports.py", - "line": 18 - }, - "func2": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "similarity": 0.79, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:__init__", - "name": "__init__", - "file": "cleanup_imports.py", - "line": 18 - }, - "func2": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "similarity": 0.74, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:__init__", - "name": "__init__", - "file": "cleanup_imports.py", - "line": 18 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:__init__", - "name": "__init__", - "file": "cleanup_imports.py", - "line": 18 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.73, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:__init__", - "name": "__init__", - "file": "cleanup_imports.py", - "line": 18 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "cleanup_imports.py:__init__", - "name": "__init__", - "file": "cleanup_imports.py", - "line": 18 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.79, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:__init__", - "name": "__init__", - "file": "cleanup_imports.py", - "line": 18 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.73, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:__init__", - "name": "__init__", - "file": "cleanup_imports.py", - "line": 18 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:__init__", - "name": "__init__", - "file": "cleanup_imports.py", - "line": 18 - }, - "func2": { - "key": "utils/core_system.py:__init__", - "name": "__init__", - "file": "utils/core_system.py", - "line": 730 - }, - "similarity": 0.7142857142857143, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:__init__", - "name": "__init__", - "file": "cleanup_imports.py", - "line": 18 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "similarity": 0.8476190476190476, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "similarity": 0.7147058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "similarity": 0.7147058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.7473684210526315, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7277777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7382352941176471, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7282352941176471, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7653846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7200000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7200000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "cleanup_imports.py:create_backup", - "name": "create_backup", - "file": "cleanup_imports.py", - "line": 74 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7085714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:should_process_file", - "name": "should_process_file", - "file": "cleanup_imports.py", - "line": 88 - }, - "func2": { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:should_process_file", - "name": "should_process_file", - "file": "cleanup_imports.py", - "line": 88 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7088235294117646, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:should_process_file", - "name": "should_process_file", - "file": "cleanup_imports.py", - "line": 88 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:analyze_file_imports", - "name": "analyze_file_imports", - "file": "cleanup_imports.py", - "line": 101 - }, - "func2": { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143 - }, - "similarity": 0.7023529411764706, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "cleanup_imports.py:analyze_file_imports", - "name": "analyze_file_imports", - "file": "cleanup_imports.py", - "line": 101 - }, - "func2": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:analyze_file_imports", - "name": "analyze_file_imports", - "file": "cleanup_imports.py", - "line": 101 - }, - "func2": { - "key": "function_analysis_tool.py:analyze_file", - "name": "analyze_file", - "file": "function_analysis_tool.py", - "line": 26 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:analyze_file_imports", - "name": "analyze_file_imports", - "file": "cleanup_imports.py", - "line": 101 - }, - "func2": { - "key": "import_analyzer.py:analyze_file", - "name": "analyze_file", - "file": "import_analyzer.py", - "line": 36 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:analyze_file_imports", - "name": "analyze_file_imports", - "file": "cleanup_imports.py", - "line": 101 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.7088235294117646, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:analyze_file_imports", - "name": "analyze_file_imports", - "file": "cleanup_imports.py", - "line": 101 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.7088235294117646, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:analyze_file_imports", - "name": "analyze_file_imports", - "file": "cleanup_imports.py", - "line": 101 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:analyze_file_imports", - "name": "analyze_file_imports", - "file": "cleanup_imports.py", - "line": 101 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.7088235294117646, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:analyze_file_imports", - "name": "analyze_file_imports", - "file": "cleanup_imports.py", - "line": 101 - }, - "func2": { - "key": "utils/data_management.py:_move_to_trash_windows", - "name": "_move_to_trash_windows", - "file": "utils/data_management.py", - "line": 202 - }, - "similarity": 0.8105263157894738, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:analyze_file_imports", - "name": "analyze_file_imports", - "file": "cleanup_imports.py", - "line": 101 - }, - "func2": { - "key": "utils/data_management.py:_move_to_trash_unix", - "name": "_move_to_trash_unix", - "file": "utils/data_management.py", - "line": 225 - }, - "similarity": 0.8105263157894738, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:analyze_file_imports", - "name": "analyze_file_imports", - "file": "cleanup_imports.py", - "line": 101 - }, - "func2": { - "key": "utils/data_management.py:_delete_permanently", - "name": "_delete_permanently", - "file": "utils/data_management.py", - "line": 252 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:analyze_file_imports", - "name": "analyze_file_imports", - "file": "cleanup_imports.py", - "line": 101 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7088235294117646, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:analyze_file_imports", - "name": "analyze_file_imports", - "file": "cleanup_imports.py", - "line": 101 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7323529411764707, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:analyze_file_imports", - "name": "analyze_file_imports", - "file": "cleanup_imports.py", - "line": 101 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:analyze_file_imports", - "name": "analyze_file_imports", - "file": "cleanup_imports.py", - "line": 101 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:analyze_file_imports", - "name": "analyze_file_imports", - "file": "cleanup_imports.py", - "line": 101 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143 - }, - "func2": { - "key": "cleanup_imports.py:remove_unused_imports", - "name": "remove_unused_imports", - "file": "cleanup_imports.py", - "line": 164 - }, - "similarity": 0.76, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143 - }, - "func2": { - "key": "template_analysis_tool.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_analysis_tool.py", - "line": 120 - }, - "similarity": 0.7466666666666666, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143 - }, - "func2": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143 - }, - "func2": { - "key": "function_analysis_tool.py:find_similar_functions", - "name": "find_similar_functions", - "file": "function_analysis_tool.py", - "line": 108 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143 - }, - "func2": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7749999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143 - }, - "func2": { - "key": "import_analyzer.py:get_module_name", - "name": "get_module_name", - "file": "import_analyzer.py", - "line": 209 - }, - "similarity": 0.7050000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7026315789473685, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7058823529411765, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.725, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.715, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143 - }, - "func2": { - "key": "utils/data_management.py:move_to_trash", - "name": "move_to_trash", - "file": "utils/data_management.py", - "line": 184 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:remove_unused_imports", - "name": "remove_unused_imports", - "file": "cleanup_imports.py", - "line": 164 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:remove_unused_imports", - "name": "remove_unused_imports", - "file": "cleanup_imports.py", - "line": 164 - }, - "func2": { - "key": "utils/data_management.py:move_to_trash", - "name": "move_to_trash", - "file": "utils/data_management.py", - "line": 184 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:run_cleanup", - "name": "run_cleanup", - "file": "cleanup_imports.py", - "line": 248 - }, - "func2": { - "key": "import_analyzer.py:print_report", - "name": "print_report", - "file": "import_analyzer.py", - "line": 261 - }, - "similarity": 0.753030303030303, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:run_cleanup", - "name": "run_cleanup", - "file": "cleanup_imports.py", - "line": 248 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_crud_operations_printers", - "name": "test_crud_operations_printers", - "file": "tests/test_tapo_integration.py", - "line": 232 - }, - "similarity": 0.814935064935065, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:run_cleanup", - "name": "run_cleanup", - "file": "cleanup_imports.py", - "line": 248 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_automatic_plug_control_with_jobs", - "name": "test_automatic_plug_control_with_jobs", - "file": "tests/test_tapo_integration.py", - "line": 279 - }, - "similarity": 0.7466165413533834, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "cleanup_imports.py:run_cleanup", - "name": "run_cleanup", - "file": "cleanup_imports.py", - "line": 248 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.7095238095238094, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "similarity": 0.7102941176470587, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "models.py:to_dict", - "name": "to_dict", - "file": "models.py", - "line": 1930 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "similarity": 0.7604395604395605, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "similarity": 0.76890756302521, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "similarity": 0.7285714285714285, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "similarity": 0.7321428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "similarity": 0.734920634920635, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "similarity": 0.7453781512605042, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "similarity": 0.7180555555555556, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7142857142857143, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.7260504201680672, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "similarity": 0.7026737967914438, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "tests/test_tapo_integration.py:setup", - "name": "setup", - "file": "tests/test_tapo_integration.py", - "line": 106 - }, - "similarity": 0.7291666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7758333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.7671428571428571, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7587301587301588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.7037593984962406, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7793650793650795, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.792436974789916, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7214285714285714, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7067226890756302, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.7671428571428571, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7276190476190476, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.71, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7276190476190476, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7671428571428571, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7857142857142858, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7142857142857143, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7466165413533834, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "cleanup_imports.py:restore_backup", - "name": "restore_backup", - "file": "cleanup_imports.py", - "line": 288 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7225, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:__init__", - "name": "__init__", - "file": "template_analysis_tool.py", - "line": 21 - }, - "func2": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "similarity": 0.7571428571428571, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:__init__", - "name": "__init__", - "file": "template_analysis_tool.py", - "line": 21 - }, - "func2": { - "key": "import_analyzer.py:__init__", - "name": "__init__", - "file": "import_analyzer.py", - "line": 22 - }, - "similarity": 0.7321428571428572, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:__init__", - "name": "__init__", - "file": "template_analysis_tool.py", - "line": 21 - }, - "func2": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "similarity": 0.7571428571428571, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:__init__", - "name": "__init__", - "file": "template_analysis_tool.py", - "line": 21 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.7571428571428571, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:__init__", - "name": "__init__", - "file": "template_analysis_tool.py", - "line": 21 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.71, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:__init__", - "name": "__init__", - "file": "template_analysis_tool.py", - "line": 21 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.7571428571428571, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:__init__", - "name": "__init__", - "file": "template_analysis_tool.py", - "line": 21 - }, - "func2": { - "key": "utils/core_system.py:__init__", - "name": "__init__", - "file": "utils/core_system.py", - "line": 730 - }, - "similarity": 0.775, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:__init__", - "name": "__init__", - "file": "template_analysis_tool.py", - "line": 21 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.7571428571428571, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "similarity": 0.8073529411764706, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "similarity": 0.7922222222222223, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "similarity": 0.7215686274509804, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "similarity": 0.7019607843137254, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "similarity": 0.7204545454545455, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "similarity": 0.7222222222222223, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "similarity": 0.7222222222222223, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "similarity": 0.7807486631016043, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "similarity": 0.8387878787878786, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7111111111111111, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.7254901960784313, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "similarity": 0.9168831168831169, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "similarity": 0.8454545454545455, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "similarity": 0.7922222222222223, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7916666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.7854545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.7582352941176471, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.7414285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7823529411764707, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.725, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.7255555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7083333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.745, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7582352941176471, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7333333333333333, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_template_endpoints", - "name": "analyze_template_endpoints", - "file": "template_analysis_tool.py", - "line": 30 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7078431372549019, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "similarity": 0.7605263157894737, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "similarity": 0.8338235294117646, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "similarity": 0.8102941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "similarity": 0.7999999999999999, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "import_analyzer.py:run_analysis", - "name": "run_analysis", - "file": "import_analyzer.py", - "line": 222 - }, - "similarity": 0.816923076923077, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "similarity": 0.875, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "similarity": 0.8323529411764706, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7933333333333332, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_crud_operations_printers", - "name": "test_crud_operations_printers", - "file": "tests/test_tapo_integration.py", - "line": 232 - }, - "similarity": 0.7224598930481283, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_automatic_plug_control_with_jobs", - "name": "test_automatic_plug_control_with_jobs", - "file": "tests/test_tapo_integration.py", - "line": 279 - }, - "similarity": 0.7476190476190476, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.8035714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.77, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7388888888888889, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7558823529411766, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.7277777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.79, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.8222222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:analyze_blueprint_routes", - "name": "analyze_blueprint_routes", - "file": "template_analysis_tool.py", - "line": 51 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7183333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "similarity": 0.7766666666666666, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "similarity": 0.7477272727272727, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "similarity": 0.7388235294117647, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "simple_form_tester.py:test_form_validation", - "name": "test_form_validation", - "file": "simple_form_tester.py", - "line": 269 - }, - "similarity": 0.7366666666666667, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "similarity": 0.7466666666666666, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "similarity": 0.7388235294117647, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "similarity": 0.7727272727272727, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "similarity": 0.866060606060606, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "similarity": 0.7152941176470589, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "similarity": 0.9114285714285715, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "similarity": 0.7477777777777778, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7323529411764707, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.7088235294117647, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "import_analyzer.py:run_analysis", - "name": "run_analysis", - "file": "import_analyzer.py", - "line": 222 - }, - "similarity": 0.7057692307692307, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "similarity": 0.8080213903743315, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "similarity": 0.762200956937799, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "similarity": 0.8222222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7282352941176471, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_crud_operations_printers", - "name": "test_crud_operations_printers", - "file": "tests/test_tapo_integration.py", - "line": 232 - }, - "similarity": 0.7113636363636363, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.8464114832535885, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7026315789473684, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.831578947368421, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7549999999999999, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7466666666666666, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7244444444444444, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7200000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7023529411764706, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.8700000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "utils/job_scheduler.py:start", - "name": "start", - "file": "utils/job_scheduler.py", - "line": 216 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:cross_reference_validation", - "name": "cross_reference_validation", - "file": "template_analysis_tool.py", - "line": 85 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7466666666666666, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_analysis_tool.py", - "line": 120 - }, - "func2": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_analysis_tool.py", - "line": 120 - }, - "func2": { - "key": "function_analysis_tool.py:find_similar_functions", - "name": "find_similar_functions", - "file": "function_analysis_tool.py", - "line": 108 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_analysis_tool.py", - "line": 120 - }, - "func2": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_analysis_tool.py", - "line": 120 - }, - "func2": { - "key": "template_validation_final.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_validation_final.py", - "line": 127 - }, - "similarity": 0.95, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_analysis_tool.py", - "line": 120 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7749999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_analysis_tool.py", - "line": 120 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.7966666666666666, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_analysis_tool.py", - "line": 120 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7026315789473685, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_analysis_tool.py", - "line": 120 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_analysis_tool.py", - "line": 120 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7058823529411765, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_analysis_tool.py", - "line": 120 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.725, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "similarity": 0.738095238095238, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "models.py:to_dict", - "name": "to_dict", - "file": "models.py", - "line": 1930 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "similarity": 0.7542857142857143, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "similarity": 0.7575757575757576, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "similarity": 0.7296703296703296, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "similarity": 0.8714285714285714, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "similarity": 0.8047619047619047, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "similarity": 0.7857142857142858, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "similarity": 0.7453781512605042, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "function_analysis_tool.py:_generate_recommendations", - "name": "_generate_recommendations", - "file": "function_analysis_tool.py", - "line": 269 - }, - "similarity": 0.7217948717948719, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "similarity": 0.7025974025974027, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "similarity": 0.7480519480519481, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "similarity": 0.7571428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "similarity": 0.8025, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "similarity": 0.7285714285714285, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "similarity": 0.7466666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7260504201680672, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.7392857142857143, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "similarity": 0.7025974025974027, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "similarity": 0.7912087912087912, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.7483516483516482, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.7483516483516482, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7910714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.7014354066985646, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.7869230769230768, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.773109243697479, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.7452941176470588, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.7142857142857143, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.719047619047619, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7571428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.792436974789916, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.76890756302521, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.738095238095238, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7114285714285714, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7714285714285715, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7912087912087912, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.7253846153846153, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7912087912087912, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.8433333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.8032967032967033, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.7025974025974027, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.715, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7619047619047619, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.7175824175824176, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.8415584415584416, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_session_progress", - "name": "get_session_progress", - "file": "utils/drag_drop_system.py", - "line": 93 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.7025974025974027, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.792436974789916, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/core_system.py:restart_service", - "name": "restart_service", - "file": "utils/core_system.py", - "line": 584 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7339285714285715, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_corrections", - "name": "generate_corrections", - "file": "template_analysis_tool.py", - "line": 142 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.7025974025974027, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "similarity": 0.7545454545454545, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "similarity": 0.7772727272727273, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "similarity": 0.7500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "form_test_automator.py:_generate_phone", - "name": "_generate_phone", - "file": "form_test_automator.py", - "line": 228 - }, - "similarity": 0.81, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "form_test_automator.py:_generate_url", - "name": "_generate_url", - "file": "form_test_automator.py", - "line": 233 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "form_test_automator.py:_generate_date", - "name": "_generate_date", - "file": "form_test_automator.py", - "line": 238 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.9000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7400000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.8181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.9000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_usage_report", - "name": "generate_usage_report", - "file": "utils/monitoring_analytics.py", - "line": 223 - }, - "similarity": 0.7272727272727273, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "template_analysis_tool.py", - "line": 176 - }, - "func2": { - "key": "legacy/app_original.py:generate_report", - "name": "generate_report", - "file": "legacy/app_original.py", - "line": 6338 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:set_cache", - "name": "set_cache", - "file": "models.py", - "line": 252 - }, - "func2": { - "key": "models.py:get_cache", - "name": "get_cache", - "file": "models.py", - "line": 260 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:clear_cache", - "name": "clear_cache", - "file": "models.py", - "line": 274 - }, - "func2": { - "key": "blueprints/admin_unified.py:clear_cache", - "name": "clear_cache", - "file": "blueprints/admin_unified.py", - "line": 1293 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:clear_cache", - "name": "clear_cache", - "file": "models.py", - "line": 274 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:set_password", - "name": "set_password", - "file": "models.py", - "line": 365 - }, - "func2": { - "key": "models.py:check_password", - "name": "check_password", - "file": "models.py", - "line": 372 - }, - "similarity": 0.8019230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:set_password", - "name": "set_password", - "file": "models.py", - "line": 365 - }, - "func2": { - "key": "form_test_automator.py:_generate_password", - "name": "_generate_password", - "file": "form_test_automator.py", - "line": 218 - }, - "similarity": 0.7333333333333334, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "form_test_automator.py:__post_init__", - "name": "__post_init__", - "file": "form_test_automator.py", - "line": 146 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "form_test_automator.py:email", - "name": "email", - "file": "form_test_automator.py", - "line": 48 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "form_test_automator.py:name", - "name": "name", - "file": "form_test_automator.py", - "line": 49 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "similarity": 0.8181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "form_test_automator.py:company", - "name": "company", - "file": "form_test_automator.py", - "line": 52 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "form_test_automator.py:street_address", - "name": "street_address", - "file": "form_test_automator.py", - "line": 54 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "form_test_automator.py:add_column", - "name": "add_column", - "file": "form_test_automator.py", - "line": 88 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "form_test_automator.py:add_row", - "name": "add_row", - "file": "form_test_automator.py", - "line": 89 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "utils/job_queue_system.py:__post_init__", - "name": "__post_init__", - "file": "utils/job_queue_system.py", - "line": 61 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:has_role", - "name": "has_role", - "file": "models.py", - "line": 381 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "similarity": 0.8019230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "similarity": 0.7685714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "similarity": 0.7246153846153847, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7047058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.715, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "similarity": 0.8066666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7517647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.740909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7861538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7114285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "similarity": 0.7022727272727273, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7553846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.7027777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.8066666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7916666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.7027777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.8066666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/database_suite.py:get_table_info", - "name": "get_table_info", - "file": "utils/database_suite.py", - "line": 88 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.8799999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7795454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/data_management.py:_delete_permanently", - "name": "_delete_permanently", - "file": "utils/data_management.py", - "line": 252 - }, - "similarity": 0.726923076923077, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/core_system.py:restart_system_service", - "name": "restart_system_service", - "file": "utils/core_system.py", - "line": 766 - }, - "similarity": 0.740909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/core_system.py:is_service_active", - "name": "is_service_active", - "file": "utils/core_system.py", - "line": 573 - }, - "similarity": 0.8055555555555556, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/data_management.py:delete_file", - "name": "delete_file", - "file": "utils/data_management.py", - "line": 157 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.8222222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:to_dict", - "name": "to_dict", - "file": "models.py", - "line": 1930 - }, - "func2": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:to_dict", - "name": "to_dict", - "file": "models.py", - "line": 1930 - }, - "func2": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "similarity": 0.7753246753246754, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:to_dict", - "name": "to_dict", - "file": "models.py", - "line": 1930 - }, - "func2": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:to_dict", - "name": "to_dict", - "file": "models.py", - "line": 1930 - }, - "func2": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "similarity": 0.7053571428571428, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:to_dict", - "name": "to_dict", - "file": "models.py", - "line": 1930 - }, - "func2": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:to_dict", - "name": "to_dict", - "file": "models.py", - "line": 1930 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:to_dict", - "name": "to_dict", - "file": "models.py", - "line": 1930 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:to_dict", - "name": "to_dict", - "file": "models.py", - "line": 1930 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7324675324675325, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:to_dict", - "name": "to_dict", - "file": "models.py", - "line": 1930 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:to_dict", - "name": "to_dict", - "file": "models.py", - "line": 1930 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:to_dict", - "name": "to_dict", - "file": "models.py", - "line": 1930 - }, - "func2": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:to_dict", - "name": "to_dict", - "file": "models.py", - "line": 1930 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_by_username_or_email", - "name": "get_by_username_or_email", - "file": "models.py", - "line": 464 - }, - "func2": { - "key": "models.py:get_online_printers", - "name": "get_online_printers", - "file": "models.py", - "line": 653 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_by_username_or_email", - "name": "get_by_username_or_email", - "file": "models.py", - "line": 464 - }, - "func2": { - "key": "models.py:get_running_timers", - "name": "get_running_timers", - "file": "models.py", - "line": 1782 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_by_id_cached", - "name": "get_by_id_cached", - "file": "models.py", - "line": 486 - }, - "func2": { - "key": "models.py:get_all_cached", - "name": "get_all_cached", - "file": "models.py", - "line": 634 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_by_id_cached", - "name": "get_by_id_cached", - "file": "models.py", - "line": 486 - }, - "func2": { - "key": "models.py:get_user_jobs", - "name": "get_user_jobs", - "file": "models.py", - "line": 766 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "similarity": 0.7371428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "similarity": 0.7569230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "similarity": 0.775, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "similarity": 0.765, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "similarity": 0.7916666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "app.py:store_large_session_data", - "name": "store_large_session_data", - "file": "app.py", - "line": 75 - }, - "similarity": 0.7142857142857142, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "app.py:load_large_session_data", - "name": "load_large_session_data", - "file": "app.py", - "line": 104 - }, - "similarity": 0.7642857142857142, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "similarity": 0.875, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7388235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.7549999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "import_analyzer.py:get_module_name", - "name": "get_module_name", - "file": "import_analyzer.py", - "line": 209 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.8142857142857143, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.765, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "similarity": 0.7821428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.8107142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7858823529411765, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7000000000000001, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7602941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7367647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.8222222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7050000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7472222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "similarity": 0.7384615384615384, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7657142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.8019230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.8428571428571427, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/ip_security.py:is_client_ip_allowed", - "name": "is_client_ip_allowed", - "file": "utils/ip_security.py", - "line": 66 - }, - "similarity": 0.7433333333333334, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7535714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/ip_security.py:validate_plug_access", - "name": "validate_plug_access", - "file": "utils/ip_security.py", - "line": 122 - }, - "similarity": 0.7433333333333334, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.7383333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.8184615384615384, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/logging_config.py:doRollover", - "name": "doRollover", - "file": "utils/logging_config.py", - "line": 38 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_last_login", - "name": "update_last_login", - "file": "models.py", - "line": 505 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7857142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "similarity": 0.7852941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "similarity": 0.7177777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "similarity": 0.78, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "similarity": 0.7147058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "similarity": 0.7617647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "similarity": 0.8066666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.8222222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "similarity": 0.7533333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.78, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.831578947368421, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.8444444444444446, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7617647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7944444444444445, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.8088235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7752941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.79, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7022222222222223, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7622222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.7057142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7633333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7266666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7685714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.7533333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "utils/ssl_suite.py:verify_ssl_files", - "name": "verify_ssl_files", - "file": "utils/ssl_suite.py", - "line": 52 - }, - "similarity": 0.7366666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "similarity": 0.7142857142857143, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_status", - "name": "update_status", - "file": "models.py", - "line": 729 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_all_cached", - "name": "get_all_cached", - "file": "models.py", - "line": 634 - }, - "func2": { - "key": "models.py:get_online_printers", - "name": "get_online_printers", - "file": "models.py", - "line": 653 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_all_cached", - "name": "get_all_cached", - "file": "models.py", - "line": 634 - }, - "func2": { - "key": "models.py:get_active_jobs", - "name": "get_active_jobs", - "file": "models.py", - "line": 745 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_all_cached", - "name": "get_all_cached", - "file": "models.py", - "line": 634 - }, - "func2": { - "key": "models.py:get_running_timers", - "name": "get_running_timers", - "file": "models.py", - "line": 1782 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_online_printers", - "name": "get_online_printers", - "file": "models.py", - "line": 653 - }, - "func2": { - "key": "models.py:get_active_jobs", - "name": "get_active_jobs", - "file": "models.py", - "line": 745 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_online_printers", - "name": "get_online_printers", - "file": "models.py", - "line": 653 - }, - "func2": { - "key": "models.py:get_order_for_printer", - "name": "get_order_for_printer", - "file": "models.py", - "line": 1313 - }, - "similarity": 0.726923076923077, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_online_printers", - "name": "get_online_printers", - "file": "models.py", - "line": 653 - }, - "func2": { - "key": "models.py:get_running_timers", - "name": "get_running_timers", - "file": "models.py", - "line": 1782 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_online_printers", - "name": "get_online_printers", - "file": "models.py", - "line": 653 - }, - "func2": { - "key": "models.py:get_printer_history", - "name": "get_printer_history", - "file": "models.py", - "line": 2048 - }, - "similarity": 0.7076923076923076, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_active_jobs", - "name": "get_active_jobs", - "file": "models.py", - "line": 745 - }, - "func2": { - "key": "models.py:get_running_timers", - "name": "get_running_timers", - "file": "models.py", - "line": 1782 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "similarity": 0.7363636363636364, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "simple_form_tester.py:generate_report", - "name": "generate_report", - "file": "simple_form_tester.py", - "line": 379 - }, - "similarity": 0.7454545454545454, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "similarity": 0.7090909090909092, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "form_test_automator.py:generate_report", - "name": "generate_report", - "file": "form_test_automator.py", - "line": 2266 - }, - "similarity": 0.7136363636363636, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "import_analyzer.py:print_report", - "name": "print_report", - "file": "import_analyzer.py", - "line": 261 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "similarity": 0.7477272727272727, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7335664335664335, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.788111888111888, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.7282828282828282, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.7441558441558441, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.8909090909090909, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.7727272727272727, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.788111888111888, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:generate_otp", - "name": "generate_otp", - "file": "models.py", - "line": 1093 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7563636363636365, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.7133333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.7894736842105263, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7894736842105263, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7473684210526315, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "similarity": 0.7147058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "similarity": 0.715, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "similarity": 0.71, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "similarity": 0.7132867132867132, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "similarity": 0.7008333333333333, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "similarity": 0.7266666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "similarity": 0.7553846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.8071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7277777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.775, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7533333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.765, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7214285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7246153846153847, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "similarity": 0.7633333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "similarity": 0.8066666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "similarity": 0.7214285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "function_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "function_analysis_tool.py", - "line": 246 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "tests/test_tapo_integration.py:setup", - "name": "setup", - "file": "tests/test_tapo_integration.py", - "line": 106 - }, - "similarity": 0.7097222222222223, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.7114285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.7553846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7028846153846153, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7382352941176471, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.715, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7553846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7688311688311689, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7833333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.8600000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.7246153846153847, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "similarity": 0.7324675324675325, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7382352941176471, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7581818181818182, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7085714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7420454545454546, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:find_by_otp", - "name": "find_by_otp", - "file": "models.py", - "line": 1211 - }, - "func2": { - "key": "models.py:find_by_otp_and_name", - "name": "find_by_otp_and_name", - "file": "models.py", - "line": 1239 - }, - "similarity": 0.8076923076923077, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_order_for_printer", - "name": "get_order_for_printer", - "file": "models.py", - "line": 1313 - }, - "func2": { - "key": "models.py:get_ordered_job_ids", - "name": "get_ordered_job_ids", - "file": "models.py", - "line": 1365 - }, - "similarity": 0.7160714285714286, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_order_for_printer", - "name": "get_order_for_printer", - "file": "models.py", - "line": 1313 - }, - "func2": { - "key": "models.py:get_printer_history", - "name": "get_printer_history", - "file": "models.py", - "line": 2048 - }, - "similarity": 0.7571428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:remove_job_from_orders", - "name": "remove_job_from_orders", - "file": "models.py", - "line": 1383 - }, - "func2": { - "key": "blueprints/jobs.py:resume_job", - "name": "resume_job", - "file": "blueprints/jobs.py", - "line": 659 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:remove_job_from_orders", - "name": "remove_job_from_orders", - "file": "models.py", - "line": 1383 - }, - "func2": { - "key": "utils/drag_drop_system.py:remove_job_from_order", - "name": "remove_job_from_order", - "file": "utils/drag_drop_system.py", - "line": 265 - }, - "similarity": 0.7636363636363637, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "models.py", - "line": 1415 - }, - "func2": { - "key": "models.py:get_expired_timers", - "name": "get_expired_timers", - "file": "models.py", - "line": 1800 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "models.py", - "line": 1415 - }, - "func2": { - "key": "models.py:cleanup_expired_timers", - "name": "cleanup_expired_timers", - "file": "models.py", - "line": 1817 - }, - "similarity": 0.8823529411764706, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "models.py", - "line": 1415 - }, - "func2": { - "key": "models.py:cleanup_old_logs", - "name": "cleanup_old_logs", - "file": "models.py", - "line": 2201 - }, - "similarity": 0.7433333333333334, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "models.py", - "line": 1415 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "function_analysis_tool.py:find_similar_functions", - "name": "find_similar_functions", - "file": "function_analysis_tool.py", - "line": 108 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "similarity": 0.8222222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "function_analysis_tool.py:_generate_recommendations", - "name": "_generate_recommendations", - "file": "function_analysis_tool.py", - "line": 269 - }, - "similarity": 0.7214285714285715, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "similarity": 0.7136363636363636, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "similarity": 0.7602941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "template_validation_final.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_validation_final.py", - "line": 127 - }, - "similarity": 0.7088235294117646, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "similarity": 0.7088235294117647, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.8323529411764706, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "similarity": 0.775, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_crud_operations_printers", - "name": "test_crud_operations_printers", - "file": "tests/test_tapo_integration.py", - "line": 232 - }, - "similarity": 0.7018181818181819, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.7373205741626794, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.7466666666666666, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.8388888888888889, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.7466666666666666, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.781578947368421, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.8823529411764706, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7222222222222223, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7323529411764707, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.8433333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7823529411764707, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.7050000000000001, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.8166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7704761904761905, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.8166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7942857142857143, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7142857142857143, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7200000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.775, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/ssl_suite.py:verify_ssl_files", - "name": "verify_ssl_files", - "file": "utils/ssl_suite.py", - "line": 52 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.8071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "similarity": 0.7438095238095239, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.775, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7142857142857143, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7433333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_current_remaining_seconds", - "name": "get_current_remaining_seconds", - "file": "models.py", - "line": 1541 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/database_cleanup.py:register_engine", - "name": "register_engine", - "file": "utils/database_cleanup.py", - "line": 28 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "similarity": 0.8181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7052631578947368, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "similarity": 0.7602941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7622222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "similarity": 0.7047058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.8066666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.7505263157894737, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7222222222222223, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7473684210526315, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7144736842105263, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7282352941176471, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7047058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7000000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "utils/job_scheduler.py:_run", - "name": "_run", - "file": "utils/job_scheduler.py", - "line": 266 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7823529411764707, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.8107142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.713235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7116666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "function_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "function_analysis_tool.py", - "line": 246 - }, - "similarity": 0.7172727272727273, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "form_test_automator.py:_generate_password", - "name": "_generate_password", - "file": "form_test_automator.py", - "line": 218 - }, - "similarity": 0.7576923076923077, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7517647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.765, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "similarity": 0.7685714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7988235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.7269230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7367647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7533333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7685714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7987012987012987, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7685714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7266666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.8019230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.8672727272727273, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/drag_drop_system.py:create_upload_session", - "name": "create_upload_session", - "file": "utils/drag_drop_system.py", - "line": 61 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/job_scheduler.py:_run", - "name": "_run", - "file": "utils/job_scheduler.py", - "line": 266 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7685714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7576923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7269230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.765, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7383333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7403846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "similarity": 0.9200000000000002, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "similarity": 0.8799999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "similarity": 0.95, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "similarity": 0.7700000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "form_test_automator.py:street_address", - "name": "street_address", - "file": "form_test_automator.py", - "line": 54 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.8181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.9200000000000002, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.8181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/job_queue_system.py:add_timer", - "name": "add_timer", - "file": "utils/job_queue_system.py", - "line": 234 - }, - "similarity": 0.7611111111111111, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.8181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/core_system.py:restart_system_service", - "name": "restart_system_service", - "file": "utils/core_system.py", - "line": 766 - }, - "similarity": 0.740909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.8181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/core_system.py:register_thread", - "name": "register_thread", - "file": "utils/core_system.py", - "line": 130 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/core_system.py:is_service_active", - "name": "is_service_active", - "file": "utils/core_system.py", - "line": 573 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8909090909090909, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7181818181818183, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587 - }, - "func2": { - "key": "legacy/app_original.py:start_timer", - "name": "start_timer", - "file": "legacy/app_original.py", - "line": 777 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "similarity": 0.8909090909090909, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "similarity": 0.8799999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.7057142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7272727272727273, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/job_queue_system.py:add_timer", - "name": "add_timer", - "file": "utils/job_queue_system.py", - "line": 234 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/hardware_integration.py:get_live_printer_status", - "name": "get_live_printer_status", - "file": "utils/hardware_integration.py", - "line": 1029 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.9076923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "similarity": 0.7576923076923077, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.9000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.9000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "similarity": 0.9111111111111112, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.9200000000000002, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.8799999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/job_queue_system.py:add_timer", - "name": "add_timer", - "file": "utils/job_queue_system.py", - "line": 234 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/database_cleanup.py:register_engine", - "name": "register_engine", - "file": "utils/database_cleanup.py", - "line": 28 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/core_system.py:restart_system_service", - "name": "restart_system_service", - "file": "utils/core_system.py", - "line": 766 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8799999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7269230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/core_system.py:force_quit_process", - "name": "force_quit_process", - "file": "utils/core_system.py", - "line": 404 - }, - "similarity": 0.7076923076923076, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7000000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.7052631578947368, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_expired_timers", - "name": "get_expired_timers", - "file": "models.py", - "line": 1800 - }, - "func2": { - "key": "models.py:cleanup_expired_timers", - "name": "cleanup_expired_timers", - "file": "models.py", - "line": 1817 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:get_all_recent_logs", - "name": "get_all_recent_logs", - "file": "models.py", - "line": 2084 - }, - "func2": { - "key": "models.py:get_status_statistics", - "name": "get_status_statistics", - "file": "models.py", - "line": 2120 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "models.py:cleanup_old_logs", - "name": "cleanup_old_logs", - "file": "models.py", - "line": 2201 - }, - "func2": { - "key": "utils/database_suite.py:cleanup_old_jobs", - "name": "cleanup_old_jobs", - "file": "utils/database_suite.py", - "line": 179 - }, - "similarity": 0.7142857142857142, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "start_production.py:start_application", - "name": "start_application", - "file": "start_production.py", - "line": 185 - }, - "func2": { - "key": "start_development.py:start_application", - "name": "start_application", - "file": "start_development.py", - "line": 213 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "start_production.py:main", - "name": "main", - "file": "start_production.py", - "line": 200 - }, - "func2": { - "key": "test_development.py:main", - "name": "main", - "file": "test_development.py", - "line": 385 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "start_production.py:main", - "name": "main", - "file": "start_production.py", - "line": 200 - }, - "func2": { - "key": "static/icons/generate_icons.py:main", - "name": "main", - "file": "static/icons/generate_icons.py", - "line": 57 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "start_production.py:main", - "name": "main", - "file": "start_production.py", - "line": 200 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:main", - "name": "main", - "file": "scripts/test_protocol_generator.py", - "line": 513 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "start_production.py:main", - "name": "main", - "file": "start_production.py", - "line": 200 - }, - "func2": { - "key": "scripts/test_printer_setup.py:main", - "name": "main", - "file": "scripts/test_printer_setup.py", - "line": 226 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "setup_development.py:print_development_banner", - "name": "print_development_banner", - "file": "setup_development.py", - "line": 18 - }, - "func2": { - "key": "start_development.py:print_development_banner", - "name": "print_development_banner", - "file": "start_development.py", - "line": 44 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:main", - "name": "main", - "file": "simple_form_tester.py", - "line": 562 - }, - "func2": { - "key": "start_development.py:main", - "name": "main", - "file": "start_development.py", - "line": 230 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:__init__", - "name": "__init__", - "file": "simple_form_tester.py", - "line": 93 - }, - "func2": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:__init__", - "name": "__init__", - "file": "simple_form_tester.py", - "line": 93 - }, - "func2": { - "key": "app.py:__init__", - "name": "__init__", - "file": "app.py", - "line": 63 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:__init__", - "name": "__init__", - "file": "simple_form_tester.py", - "line": 93 - }, - "func2": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:__init__", - "name": "__init__", - "file": "simple_form_tester.py", - "line": 93 - }, - "func2": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:__init__", - "name": "__init__", - "file": "simple_form_tester.py", - "line": 93 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:__init__", - "name": "__init__", - "file": "simple_form_tester.py", - "line": 93 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:__init__", - "name": "__init__", - "file": "simple_form_tester.py", - "line": 93 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:__init__", - "name": "__init__", - "file": "simple_form_tester.py", - "line": 93 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:__init__", - "name": "__init__", - "file": "simple_form_tester.py", - "line": 93 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:__init__", - "name": "__init__", - "file": "simple_form_tester.py", - "line": 93 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:__init__", - "name": "__init__", - "file": "simple_form_tester.py", - "line": 93 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:__init__", - "name": "__init__", - "file": "simple_form_tester.py", - "line": 93 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:__init__", - "name": "__init__", - "file": "simple_form_tester.py", - "line": 93 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:__init__", - "name": "__init__", - "file": "simple_form_tester.py", - "line": 93 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:handle_starttag", - "name": "handle_starttag", - "file": "simple_form_tester.py", - "line": 56 - }, - "func2": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "similarity": 0.7022727272727274, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:handle_starttag", - "name": "handle_starttag", - "file": "simple_form_tester.py", - "line": 56 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.7272727272727273, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:handle_starttag", - "name": "handle_starttag", - "file": "simple_form_tester.py", - "line": 56 - }, - "func2": { - "key": "utils/ui_components.py:register_handler", - "name": "register_handler", - "file": "utils/ui_components.py", - "line": 204 - }, - "similarity": 0.7266666666666667, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:handle_starttag", - "name": "handle_starttag", - "file": "simple_form_tester.py", - "line": 56 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7666666666666666, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:handle_endtag", - "name": "handle_endtag", - "file": "simple_form_tester.py", - "line": 79 - }, - "func2": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:_parse_cookies", - "name": "_parse_cookies", - "file": "simple_form_tester.py", - "line": 123 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "form_test_automator.py:_generate_password", - "name": "_generate_password", - "file": "form_test_automator.py", - "line": 218 - }, - "similarity": 0.7500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "form_test_automator.py:_generate_phone", - "name": "_generate_phone", - "file": "form_test_automator.py", - "line": 228 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "form_test_automator.py:_generate_url", - "name": "_generate_url", - "file": "form_test_automator.py", - "line": 233 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "form_test_automator.py:_generate_date", - "name": "_generate_date", - "file": "form_test_automator.py", - "line": 238 - }, - "similarity": 0.9555555555555555, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "form_test_automator.py:_generate_datetime", - "name": "_generate_datetime", - "file": "form_test_automator.py", - "line": 243 - }, - "similarity": 0.740909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "form_test_automator.py:_generate_time", - "name": "_generate_time", - "file": "form_test_automator.py", - "line": 246 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "form_test_automator.py:_generate_number", - "name": "_generate_number", - "file": "form_test_automator.py", - "line": 249 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "form_test_automator.py:_generate_range", - "name": "_generate_range", - "file": "form_test_automator.py", - "line": 259 - }, - "similarity": 0.7611111111111112, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "form_test_automator.py:_generate_invalid_data", - "name": "_generate_invalid_data", - "file": "form_test_automator.py", - "line": 300 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "form_test_automator.py:_generate_edge_case", - "name": "_generate_edge_case", - "file": "form_test_automator.py", - "line": 316 - }, - "similarity": 0.8600000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.77, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.726923076923077, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:submit_form", - "name": "submit_form", - "file": "simple_form_tester.py", - "line": 166 - }, - "func2": { - "key": "simple_form_tester.py:test_form_submission", - "name": "test_form_submission", - "file": "simple_form_tester.py", - "line": 324 - }, - "similarity": 0.7083333333333334, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "simple_form_tester.py:validate_field", - "name": "validate_field", - "file": "simple_form_tester.py", - "line": 225 - }, - "func2": { - "key": "utils/ui_components.py:validate_field", - "name": "validate_field", - "file": "utils/ui_components.py", - "line": 97 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:test_form_validation", - "name": "test_form_validation", - "file": "simple_form_tester.py", - "line": 269 - }, - "func2": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "similarity": 0.77, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_report", - "name": "generate_report", - "file": "simple_form_tester.py", - "line": 379 - }, - "func2": { - "key": "function_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "function_analysis_tool.py", - "line": 246 - }, - "similarity": 0.7666666666666666, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_report", - "name": "generate_report", - "file": "simple_form_tester.py", - "line": 379 - }, - "func2": { - "key": "form_test_automator.py:generate_json_report", - "name": "generate_json_report", - "file": "form_test_automator.py", - "line": 1435 - }, - "similarity": 0.7106060606060607, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "simple_form_tester.py:generate_report", - "name": "generate_report", - "file": "simple_form_tester.py", - "line": 379 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7333333333333334, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:main", - "name": "main", - "file": "function_analysis_tool.py", - "line": 316 - }, - "func2": { - "key": "scripts/screenshot_tool.py:main", - "name": "main", - "file": "scripts/screenshot_tool.py", - "line": 665 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:__init__", - "name": "__init__", - "file": "function_analysis_tool.py", - "line": 19 - }, - "func2": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:__init__", - "name": "__init__", - "file": "function_analysis_tool.py", - "line": 19 - }, - "func2": { - "key": "import_analyzer.py:__init__", - "name": "__init__", - "file": "import_analyzer.py", - "line": 22 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:__init__", - "name": "__init__", - "file": "function_analysis_tool.py", - "line": 19 - }, - "func2": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:__init__", - "name": "__init__", - "file": "function_analysis_tool.py", - "line": 19 - }, - "func2": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "similarity": 0.79, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:__init__", - "name": "__init__", - "file": "function_analysis_tool.py", - "line": 19 - }, - "func2": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "similarity": 0.74, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:__init__", - "name": "__init__", - "file": "function_analysis_tool.py", - "line": 19 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:__init__", - "name": "__init__", - "file": "function_analysis_tool.py", - "line": 19 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.73, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:__init__", - "name": "__init__", - "file": "function_analysis_tool.py", - "line": 19 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:__init__", - "name": "__init__", - "file": "function_analysis_tool.py", - "line": 19 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.79, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:__init__", - "name": "__init__", - "file": "function_analysis_tool.py", - "line": 19 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.73, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:__init__", - "name": "__init__", - "file": "function_analysis_tool.py", - "line": 19 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:__init__", - "name": "__init__", - "file": "function_analysis_tool.py", - "line": 19 - }, - "func2": { - "key": "utils/core_system.py:__init__", - "name": "__init__", - "file": "utils/core_system.py", - "line": 730 - }, - "similarity": 0.7142857142857143, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:__init__", - "name": "__init__", - "file": "function_analysis_tool.py", - "line": 19 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_file", - "name": "analyze_file", - "file": "function_analysis_tool.py", - "line": 26 - }, - "func2": { - "key": "import_analyzer.py:analyze_file", - "name": "analyze_file", - "file": "import_analyzer.py", - "line": 36 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_file", - "name": "analyze_file", - "file": "function_analysis_tool.py", - "line": 26 - }, - "func2": { - "key": "utils/data_management.py:_move_to_trash_windows", - "name": "_move_to_trash_windows", - "file": "utils/data_management.py", - "line": 202 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_file", - "name": "analyze_file", - "file": "function_analysis_tool.py", - "line": 26 - }, - "func2": { - "key": "utils/data_management.py:_move_to_trash_unix", - "name": "_move_to_trash_unix", - "file": "utils/data_management.py", - "line": 225 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_file", - "name": "analyze_file", - "file": "function_analysis_tool.py", - "line": 26 - }, - "func2": { - "key": "utils/data_management.py:_delete_permanently", - "name": "_delete_permanently", - "file": "utils/data_management.py", - "line": 252 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "similarity": 0.7207792207792207, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "similarity": 0.765, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.8166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "similarity": 0.7366666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7116666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.7080808080808081, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.7085714285714286, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7722222222222223, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.7152941176470589, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.718421052631579, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.8269230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.8269230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7569230769230768, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7333333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7785714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "utils/ssl_suite.py:verify_ssl_files", - "name": "verify_ssl_files", - "file": "utils/ssl_suite.py", - "line": 52 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7214285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7785714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_unused_functions", - "name": "find_unused_functions", - "file": "function_analysis_tool.py", - "line": 75 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_similar_functions", - "name": "find_similar_functions", - "file": "function_analysis_tool.py", - "line": 108 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.8233333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_similar_functions", - "name": "find_similar_functions", - "file": "function_analysis_tool.py", - "line": 108 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_similar_functions", - "name": "find_similar_functions", - "file": "function_analysis_tool.py", - "line": 108 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7026315789473685, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_similar_functions", - "name": "find_similar_functions", - "file": "function_analysis_tool.py", - "line": 108 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7058823529411765, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "similarity": 0.7136363636363636, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "similarity": 0.7999999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "template_validation_final.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_validation_final.py", - "line": 127 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "similarity": 0.7088235294117647, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.8323529411764706, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "similarity": 0.775, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "similarity": 0.7022222222222223, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7916666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.7747474747474747, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.7466666666666666, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.8388888888888889, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.7115789473684211, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.781578947368421, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.8823529411764706, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7588235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7617647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7444444444444445, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.775, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7321428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.7371428571428571, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7382352941176471, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7050000000000001, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.775, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "utils/ssl_suite.py:verify_ssl_files", - "name": "verify_ssl_files", - "file": "utils/ssl_suite.py", - "line": 52 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.775, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7383333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:find_redundant_helpers", - "name": "find_redundant_helpers", - "file": "function_analysis_tool.py", - "line": 127 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7142857142857143, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:_calculate_similarity", - "name": "_calculate_similarity", - "file": "function_analysis_tool.py", - "line": 157 - }, - "func2": { - "key": "function_analysis_tool.py:_get_similarity_reason", - "name": "_get_similarity_reason", - "file": "function_analysis_tool.py", - "line": 190 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:_string_similarity", - "name": "_string_similarity", - "file": "function_analysis_tool.py", - "line": 179 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7076923076923076, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "func2": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "func2": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "similarity": 0.7336898395721925, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "func2": { - "key": "import_analyzer.py:run_analysis", - "name": "run_analysis", - "file": "import_analyzer.py", - "line": 222 - }, - "similarity": 0.7038461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "similarity": 0.875, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "similarity": 0.7727272727272727, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7181818181818181, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.7904761904761904, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.7727272727272727, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.7527272727272727, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7080808080808081, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.7374331550802139, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7194805194805195, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.7593939393939394, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7727272727272727, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:analyze_project", - "name": "analyze_project", - "file": "function_analysis_tool.py", - "line": 205 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.7527777777777778, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "function_analysis_tool.py", - "line": 246 - }, - "func2": { - "key": "form_test_automator.py:generate_report", - "name": "generate_report", - "file": "form_test_automator.py", - "line": 2266 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "function_analysis_tool.py", - "line": 246 - }, - "func2": { - "key": "import_analyzer.py:save_report", - "name": "save_report", - "file": "import_analyzer.py", - "line": 329 - }, - "similarity": 0.8045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "function_analysis_tool.py", - "line": 246 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7642857142857143, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:generate_report", - "name": "generate_report", - "file": "function_analysis_tool.py", - "line": 246 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.77, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "function_analysis_tool.py:_generate_recommendations", - "name": "_generate_recommendations", - "file": "function_analysis_tool.py", - "line": 269 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7057142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "test_development.py:main", - "name": "main", - "file": "test_development.py", - "line": 385 - }, - "func2": { - "key": "static/icons/generate_icons.py:main", - "name": "main", - "file": "static/icons/generate_icons.py", - "line": 57 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "test_development.py:main", - "name": "main", - "file": "test_development.py", - "line": 385 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:main", - "name": "main", - "file": "scripts/test_protocol_generator.py", - "line": 513 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "test_development.py:main", - "name": "main", - "file": "test_development.py", - "line": 385 - }, - "func2": { - "key": "scripts/test_printer_setup.py:main", - "name": "main", - "file": "scripts/test_printer_setup.py", - "line": 226 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "import_analyzer.py:__init__", - "name": "__init__", - "file": "import_analyzer.py", - "line": 22 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "similarity": 0.8636363636363635, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.8799999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "utils/core_system.py:__init__", - "name": "__init__", - "file": "utils/core_system.py", - "line": 730 - }, - "similarity": 0.8071428571428572, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:__init__", - "name": "__init__", - "file": "template_validation_final.py", - "line": 19 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "similarity": 0.7848484848484848, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7113636363636363, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "import_analyzer.py:run_analysis", - "name": "run_analysis", - "file": "import_analyzer.py", - "line": 222 - }, - "similarity": 0.7138461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "similarity": 0.9142857142857144, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.7167832167832169, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "similarity": 0.7844919786096256, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7315151515151515, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_crud_operations_printers", - "name": "test_crud_operations_printers", - "file": "tests/test_tapo_integration.py", - "line": 232 - }, - "similarity": 0.7642857142857143, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_automatic_plug_control_with_jobs", - "name": "test_automatic_plug_control_with_jobs", - "file": "tests/test_tapo_integration.py", - "line": 279 - }, - "similarity": 0.7033333333333334, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.8298701298701299, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.718716577540107, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.794949494949495, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7303030303030302, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7224598930481283, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7386363636363635, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7024242424242424, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.7477272727272727, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.7727272727272727, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7440559440559441, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.8298701298701299, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.706060606060606, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:collect_all_endpoints", - "name": "collect_all_endpoints", - "file": "template_validation_final.py", - "line": 28 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.8416666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "similarity": 0.775, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "template_validation_final.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_validation_final.py", - "line": 127 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.8088235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.7852941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "similarity": 0.79, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.7162679425837319, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.8823529411764706, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.8222222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7382352941176471, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7222222222222223, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7147058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7438095238095239, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.7085714285714286, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7147058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7147058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "utils/ssl_suite.py:verify_ssl_files", - "name": "verify_ssl_files", - "file": "utils/ssl_suite.py", - "line": 52 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7366666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.8105263157894738, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:extract_template_references", - "name": "extract_template_references", - "file": "template_validation_final.py", - "line": 69 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7147058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "similarity": 0.7549019607843137, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7463235294117647, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.7227941176470588, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "similarity": 0.729946524064171, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "similarity": 0.7275, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "similarity": 0.7752941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.7708133971291865, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.78, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.719078947368421, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.7505263157894737, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.775, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7694444444444445, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7472222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7000000000000001, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7088235294117647, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7125, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.7685714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7275, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.78, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7383333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.7933333333333332, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "utils/ssl_suite.py:verify_ssl_files", - "name": "verify_ssl_files", - "file": "utils/ssl_suite.py", - "line": 52 - }, - "similarity": 0.7535714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7694444444444445, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:validate_all_references", - "name": "validate_all_references", - "file": "template_validation_final.py", - "line": 91 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_validation_final.py", - "line": 127 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.725, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_validation_final.py", - "line": 127 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.7466666666666667, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_validation_final.py", - "line": 127 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7558823529411764, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:_find_similar_endpoints", - "name": "_find_similar_endpoints", - "file": "template_validation_final.py", - "line": 127 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7749999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "similarity": 0.7367647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7752941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.79, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "similarity": 0.7971428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.7884615384615384, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7844444444444445, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.7294736842105263, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7588235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.8933333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.715, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.7642857142857143, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7714285714285715, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.715, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/ui_components.py:create_table_config", - "name": "create_table_config", - "file": "utils/ui_components.py", - "line": 146 - }, - "similarity": 0.7142857142857142, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7533333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7383333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7861538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/drag_drop_system.py:create_upload_session", - "name": "create_upload_session", - "file": "utils/drag_drop_system.py", - "line": 61 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7222222222222223, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7971428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/database_suite.py:get_table_info", - "name": "get_table_info", - "file": "utils/database_suite.py", - "line": 88 - }, - "similarity": 0.7576923076923077, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7642857142857143, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__post_init__", - "name": "__post_init__", - "file": "form_test_automator.py", - "line": 146 - }, - "func2": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__post_init__", - "name": "__post_init__", - "file": "form_test_automator.py", - "line": 146 - }, - "func2": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__post_init__", - "name": "__post_init__", - "file": "form_test_automator.py", - "line": 146 - }, - "func2": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__post_init__", - "name": "__post_init__", - "file": "form_test_automator.py", - "line": 146 - }, - "func2": { - "key": "form_test_automator.py:company", - "name": "company", - "file": "form_test_automator.py", - "line": 52 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__post_init__", - "name": "__post_init__", - "file": "form_test_automator.py", - "line": 146 - }, - "func2": { - "key": "form_test_automator.py:street_address", - "name": "street_address", - "file": "form_test_automator.py", - "line": 54 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__post_init__", - "name": "__post_init__", - "file": "form_test_automator.py", - "line": 146 - }, - "func2": { - "key": "form_test_automator.py:phone_number", - "name": "phone_number", - "file": "form_test_automator.py", - "line": 55 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__post_init__", - "name": "__post_init__", - "file": "form_test_automator.py", - "line": 146 - }, - "func2": { - "key": "form_test_automator.py:print", - "name": "print", - "file": "form_test_automator.py", - "line": 85 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__post_init__", - "name": "__post_init__", - "file": "form_test_automator.py", - "line": 146 - }, - "func2": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__post_init__", - "name": "__post_init__", - "file": "form_test_automator.py", - "line": 146 - }, - "func2": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__post_init__", - "name": "__post_init__", - "file": "form_test_automator.py", - "line": 146 - }, - "func2": { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__post_init__", - "name": "__post_init__", - "file": "form_test_automator.py", - "line": 146 - }, - "func2": { - "key": "utils/job_queue_system.py:__post_init__", - "name": "__post_init__", - "file": "utils/job_queue_system.py", - "line": 61 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__post_init__", - "name": "__post_init__", - "file": "form_test_automator.py", - "line": 146 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__post_init__", - "name": "__post_init__", - "file": "form_test_automator.py", - "line": 146 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__post_init__", - "name": "__post_init__", - "file": "form_test_automator.py", - "line": 146 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "form_test_automator.py:city", - "name": "city", - "file": "form_test_automator.py", - "line": 53 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "form_test_automator.py:print", - "name": "print", - "file": "form_test_automator.py", - "line": 85 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "app.py:__init__", - "name": "__init__", - "file": "app.py", - "line": 63 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "similarity": 0.7749999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "similarity": 0.7272727272727273, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/job_queue_system.py:__post_init__", - "name": "__post_init__", - "file": "utils/job_queue_system.py", - "line": 61 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.73, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.7749999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/security_suite.py:__init__", - "name": "__init__", - "file": "utils/security_suite.py", - "line": 70 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:__init__", - "name": "__init__", - "file": "form_test_automator.py", - "line": 87 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "form_test_automator.py:_generate_phone", - "name": "_generate_phone", - "file": "form_test_automator.py", - "line": 228 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "form_test_automator.py:_generate_url", - "name": "_generate_url", - "file": "form_test_automator.py", - "line": 233 - }, - "similarity": 0.8909090909090909, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "form_test_automator.py:_generate_date", - "name": "_generate_date", - "file": "form_test_automator.py", - "line": 238 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "form_test_automator.py:_generate_datetime", - "name": "_generate_datetime", - "file": "form_test_automator.py", - "line": 243 - }, - "similarity": 0.7772727272727273, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "form_test_automator.py:_generate_time", - "name": "_generate_time", - "file": "form_test_automator.py", - "line": 246 - }, - "similarity": 0.81, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "form_test_automator.py:_generate_number", - "name": "_generate_number", - "file": "form_test_automator.py", - "line": 249 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "form_test_automator.py:_generate_range", - "name": "_generate_range", - "file": "form_test_automator.py", - "line": 259 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "form_test_automator.py:_generate_color", - "name": "_generate_color", - "file": "form_test_automator.py", - "line": 262 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "form_test_automator.py:_generate_invalid_data", - "name": "_generate_invalid_data", - "file": "form_test_automator.py", - "line": 300 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "form_test_automator.py:_generate_edge_case", - "name": "_generate_edge_case", - "file": "form_test_automator.py", - "line": 316 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.726923076923077, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.7772727272727273, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.726923076923077, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_password", - "name": "_generate_password", - "file": "form_test_automator.py", - "line": 218 - }, - "func2": { - "key": "form_test_automator.py:_generate_phone", - "name": "_generate_phone", - "file": "form_test_automator.py", - "line": 228 - }, - "similarity": 0.7269230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_password", - "name": "_generate_password", - "file": "form_test_automator.py", - "line": 218 - }, - "func2": { - "key": "form_test_automator.py:_generate_date", - "name": "_generate_date", - "file": "form_test_automator.py", - "line": 238 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_password", - "name": "_generate_password", - "file": "form_test_automator.py", - "line": 218 - }, - "func2": { - "key": "form_test_automator.py:_generate_invalid_data", - "name": "_generate_invalid_data", - "file": "form_test_automator.py", - "line": 300 - }, - "similarity": 0.7383333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_password", - "name": "_generate_password", - "file": "form_test_automator.py", - "line": 218 - }, - "func2": { - "key": "form_test_automator.py:_generate_edge_case", - "name": "_generate_edge_case", - "file": "form_test_automator.py", - "line": 316 - }, - "similarity": 0.8019230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_password", - "name": "_generate_password", - "file": "form_test_automator.py", - "line": 218 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_phone", - "name": "_generate_phone", - "file": "form_test_automator.py", - "line": 228 - }, - "func2": { - "key": "form_test_automator.py:_generate_url", - "name": "_generate_url", - "file": "form_test_automator.py", - "line": 233 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_phone", - "name": "_generate_phone", - "file": "form_test_automator.py", - "line": 228 - }, - "func2": { - "key": "form_test_automator.py:_generate_date", - "name": "_generate_date", - "file": "form_test_automator.py", - "line": 238 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_phone", - "name": "_generate_phone", - "file": "form_test_automator.py", - "line": 228 - }, - "func2": { - "key": "form_test_automator.py:_generate_number", - "name": "_generate_number", - "file": "form_test_automator.py", - "line": 249 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_phone", - "name": "_generate_phone", - "file": "form_test_automator.py", - "line": 228 - }, - "func2": { - "key": "form_test_automator.py:_generate_range", - "name": "_generate_range", - "file": "form_test_automator.py", - "line": 259 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_phone", - "name": "_generate_phone", - "file": "form_test_automator.py", - "line": 228 - }, - "func2": { - "key": "form_test_automator.py:_generate_color", - "name": "_generate_color", - "file": "form_test_automator.py", - "line": 262 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_phone", - "name": "_generate_phone", - "file": "form_test_automator.py", - "line": 228 - }, - "func2": { - "key": "form_test_automator.py:_generate_invalid_data", - "name": "_generate_invalid_data", - "file": "form_test_automator.py", - "line": 300 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_phone", - "name": "_generate_phone", - "file": "form_test_automator.py", - "line": 228 - }, - "func2": { - "key": "form_test_automator.py:_generate_edge_case", - "name": "_generate_edge_case", - "file": "form_test_automator.py", - "line": 316 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_phone", - "name": "_generate_phone", - "file": "form_test_automator.py", - "line": 228 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.726923076923077, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_phone", - "name": "_generate_phone", - "file": "form_test_automator.py", - "line": 228 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.726923076923077, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_url", - "name": "_generate_url", - "file": "form_test_automator.py", - "line": 233 - }, - "func2": { - "key": "form_test_automator.py:_generate_date", - "name": "_generate_date", - "file": "form_test_automator.py", - "line": 238 - }, - "similarity": 0.8799999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_url", - "name": "_generate_url", - "file": "form_test_automator.py", - "line": 233 - }, - "func2": { - "key": "form_test_automator.py:_generate_time", - "name": "_generate_time", - "file": "form_test_automator.py", - "line": 246 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_url", - "name": "_generate_url", - "file": "form_test_automator.py", - "line": 233 - }, - "func2": { - "key": "form_test_automator.py:_generate_number", - "name": "_generate_number", - "file": "form_test_automator.py", - "line": 249 - }, - "similarity": 0.8909090909090909, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_url", - "name": "_generate_url", - "file": "form_test_automator.py", - "line": 233 - }, - "func2": { - "key": "form_test_automator.py:_generate_range", - "name": "_generate_range", - "file": "form_test_automator.py", - "line": 259 - }, - "similarity": 0.7611111111111112, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_url", - "name": "_generate_url", - "file": "form_test_automator.py", - "line": 233 - }, - "func2": { - "key": "form_test_automator.py:_generate_color", - "name": "_generate_color", - "file": "form_test_automator.py", - "line": 262 - }, - "similarity": 0.740909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_url", - "name": "_generate_url", - "file": "form_test_automator.py", - "line": 233 - }, - "func2": { - "key": "form_test_automator.py:_generate_invalid_data", - "name": "_generate_invalid_data", - "file": "form_test_automator.py", - "line": 300 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_url", - "name": "_generate_url", - "file": "form_test_automator.py", - "line": 233 - }, - "func2": { - "key": "form_test_automator.py:_generate_edge_case", - "name": "_generate_edge_case", - "file": "form_test_automator.py", - "line": 316 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_url", - "name": "_generate_url", - "file": "form_test_automator.py", - "line": 233 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.77, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_url", - "name": "_generate_url", - "file": "form_test_automator.py", - "line": 233 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_url", - "name": "_generate_url", - "file": "form_test_automator.py", - "line": 233 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_date", - "name": "_generate_date", - "file": "form_test_automator.py", - "line": 238 - }, - "func2": { - "key": "form_test_automator.py:_generate_datetime", - "name": "_generate_datetime", - "file": "form_test_automator.py", - "line": 243 - }, - "similarity": 0.7700000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_date", - "name": "_generate_date", - "file": "form_test_automator.py", - "line": 238 - }, - "func2": { - "key": "form_test_automator.py:_generate_time", - "name": "_generate_time", - "file": "form_test_automator.py", - "line": 246 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_date", - "name": "_generate_date", - "file": "form_test_automator.py", - "line": 238 - }, - "func2": { - "key": "form_test_automator.py:_generate_number", - "name": "_generate_number", - "file": "form_test_automator.py", - "line": 249 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_date", - "name": "_generate_date", - "file": "form_test_automator.py", - "line": 238 - }, - "func2": { - "key": "form_test_automator.py:_generate_range", - "name": "_generate_range", - "file": "form_test_automator.py", - "line": 259 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_date", - "name": "_generate_date", - "file": "form_test_automator.py", - "line": 238 - }, - "func2": { - "key": "form_test_automator.py:_generate_color", - "name": "_generate_color", - "file": "form_test_automator.py", - "line": 262 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_date", - "name": "_generate_date", - "file": "form_test_automator.py", - "line": 238 - }, - "func2": { - "key": "form_test_automator.py:_generate_invalid_data", - "name": "_generate_invalid_data", - "file": "form_test_automator.py", - "line": 300 - }, - "similarity": 0.790909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_date", - "name": "_generate_date", - "file": "form_test_automator.py", - "line": 238 - }, - "func2": { - "key": "form_test_automator.py:_generate_edge_case", - "name": "_generate_edge_case", - "file": "form_test_automator.py", - "line": 316 - }, - "similarity": 0.8200000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_date", - "name": "_generate_date", - "file": "form_test_automator.py", - "line": 238 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_date", - "name": "_generate_date", - "file": "form_test_automator.py", - "line": 238 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_date", - "name": "_generate_date", - "file": "form_test_automator.py", - "line": 238 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_datetime", - "name": "_generate_datetime", - "file": "form_test_automator.py", - "line": 243 - }, - "func2": { - "key": "form_test_automator.py:_generate_time", - "name": "_generate_time", - "file": "form_test_automator.py", - "line": 246 - }, - "similarity": 0.96, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_datetime", - "name": "_generate_datetime", - "file": "form_test_automator.py", - "line": 243 - }, - "func2": { - "key": "form_test_automator.py:_generate_number", - "name": "_generate_number", - "file": "form_test_automator.py", - "line": 249 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_datetime", - "name": "_generate_datetime", - "file": "form_test_automator.py", - "line": 243 - }, - "func2": { - "key": "form_test_automator.py:_generate_range", - "name": "_generate_range", - "file": "form_test_automator.py", - "line": 259 - }, - "similarity": 0.8799999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_datetime", - "name": "_generate_datetime", - "file": "form_test_automator.py", - "line": 243 - }, - "func2": { - "key": "form_test_automator.py:_generate_color", - "name": "_generate_color", - "file": "form_test_automator.py", - "line": 262 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_datetime", - "name": "_generate_datetime", - "file": "form_test_automator.py", - "line": 243 - }, - "func2": { - "key": "form_test_automator.py:_generate_invalid_data", - "name": "_generate_invalid_data", - "file": "form_test_automator.py", - "line": 300 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_datetime", - "name": "_generate_datetime", - "file": "form_test_automator.py", - "line": 243 - }, - "func2": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_time", - "name": "_generate_time", - "file": "form_test_automator.py", - "line": 246 - }, - "func2": { - "key": "form_test_automator.py:_generate_number", - "name": "_generate_number", - "file": "form_test_automator.py", - "line": 249 - }, - "similarity": 0.740909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_time", - "name": "_generate_time", - "file": "form_test_automator.py", - "line": 246 - }, - "func2": { - "key": "form_test_automator.py:_generate_range", - "name": "_generate_range", - "file": "form_test_automator.py", - "line": 259 - }, - "similarity": 0.9111111111111112, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_time", - "name": "_generate_time", - "file": "form_test_automator.py", - "line": 246 - }, - "func2": { - "key": "form_test_automator.py:_generate_color", - "name": "_generate_color", - "file": "form_test_automator.py", - "line": 262 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_time", - "name": "_generate_time", - "file": "form_test_automator.py", - "line": 246 - }, - "func2": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "similarity": 0.740909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_number", - "name": "_generate_number", - "file": "form_test_automator.py", - "line": 249 - }, - "func2": { - "key": "form_test_automator.py:_generate_range", - "name": "_generate_range", - "file": "form_test_automator.py", - "line": 259 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_number", - "name": "_generate_number", - "file": "form_test_automator.py", - "line": 249 - }, - "func2": { - "key": "form_test_automator.py:_generate_invalid_data", - "name": "_generate_invalid_data", - "file": "form_test_automator.py", - "line": 300 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_number", - "name": "_generate_number", - "file": "form_test_automator.py", - "line": 249 - }, - "func2": { - "key": "form_test_automator.py:_generate_edge_case", - "name": "_generate_edge_case", - "file": "form_test_automator.py", - "line": 316 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_number", - "name": "_generate_number", - "file": "form_test_automator.py", - "line": 249 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_number", - "name": "_generate_number", - "file": "form_test_automator.py", - "line": 249 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_number", - "name": "_generate_number", - "file": "form_test_automator.py", - "line": 249 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_range", - "name": "_generate_range", - "file": "form_test_automator.py", - "line": 259 - }, - "func2": { - "key": "form_test_automator.py:_generate_color", - "name": "_generate_color", - "file": "form_test_automator.py", - "line": 262 - }, - "similarity": 0.8799999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_invalid_data", - "name": "_generate_invalid_data", - "file": "form_test_automator.py", - "line": 300 - }, - "func2": { - "key": "form_test_automator.py:_generate_edge_case", - "name": "_generate_edge_case", - "file": "form_test_automator.py", - "line": 316 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_invalid_data", - "name": "_generate_invalid_data", - "file": "form_test_automator.py", - "line": 300 - }, - "func2": { - "key": "app.py:load_large_session_data", - "name": "load_large_session_data", - "file": "app.py", - "line": 104 - }, - "similarity": 0.7076923076923076, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_edge_case", - "name": "_generate_edge_case", - "file": "form_test_automator.py", - "line": 316 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_generate_edge_case", - "name": "_generate_edge_case", - "file": "form_test_automator.py", - "line": 316 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.726923076923077, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/data_management.py:_delete_permanently", - "name": "_delete_permanently", - "file": "utils/data_management.py", - "line": 252 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:generate_visual_report", - "name": "generate_visual_report", - "file": "form_test_automator.py", - "line": 1192 - }, - "func2": { - "key": "form_test_automator.py:generate_json_report", - "name": "generate_json_report", - "file": "form_test_automator.py", - "line": 1435 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:generate_visual_report", - "name": "generate_visual_report", - "file": "form_test_automator.py", - "line": 1192 - }, - "func2": { - "key": "form_test_automator.py:generate_report", - "name": "generate_report", - "file": "form_test_automator.py", - "line": 2266 - }, - "similarity": 0.7142857142857144, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:generate_json_report", - "name": "generate_json_report", - "file": "form_test_automator.py", - "line": 1435 - }, - "func2": { - "key": "form_test_automator.py:generate_report", - "name": "generate_report", - "file": "form_test_automator.py", - "line": 2266 - }, - "similarity": 0.7844155844155845, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:generate_json_report", - "name": "generate_json_report", - "file": "form_test_automator.py", - "line": 1435 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7272727272727273, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:generate_report", - "name": "generate_report", - "file": "form_test_automator.py", - "line": 2266 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.8071428571428572, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:generate_report", - "name": "generate_report", - "file": "form_test_automator.py", - "line": 2266 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7200000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7019607843137254, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.7599999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "import_analyzer.py:run_analysis", - "name": "run_analysis", - "file": "import_analyzer.py", - "line": 222 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "similarity": 0.7704545454545455, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "similarity": 0.7954545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "tests/test_tapo_integration.py:setup", - "name": "setup", - "file": "tests/test_tapo_integration.py", - "line": 106 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "similarity": 0.8200000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.9333333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.7770334928229665, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.8776923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.805128205128205, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.7833333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.8161538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.8271428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.8333333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.7033333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.713235294117647, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.735897435897436, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "similarity": 0.7487179487179487, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "utils/job_scheduler.py:start", - "name": "start", - "file": "utils/job_scheduler.py", - "line": 216 - }, - "similarity": 0.7033333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7266666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:email", - "name": "email", - "file": "form_test_automator.py", - "line": 48 - }, - "func2": { - "key": "form_test_automator.py:name", - "name": "name", - "file": "form_test_automator.py", - "line": 49 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:email", - "name": "email", - "file": "form_test_automator.py", - "line": 48 - }, - "func2": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:email", - "name": "email", - "file": "form_test_automator.py", - "line": 48 - }, - "func2": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:email", - "name": "email", - "file": "form_test_automator.py", - "line": 48 - }, - "func2": { - "key": "form_test_automator.py:date", - "name": "date", - "file": "form_test_automator.py", - "line": 57 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:email", - "name": "email", - "file": "form_test_automator.py", - "line": 48 - }, - "func2": { - "key": "form_test_automator.py:add_column", - "name": "add_column", - "file": "form_test_automator.py", - "line": 88 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:email", - "name": "email", - "file": "form_test_automator.py", - "line": 48 - }, - "func2": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:email", - "name": "email", - "file": "form_test_automator.py", - "line": 48 - }, - "func2": { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:name", - "name": "name", - "file": "form_test_automator.py", - "line": 49 - }, - "func2": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:name", - "name": "name", - "file": "form_test_automator.py", - "line": 49 - }, - "func2": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:name", - "name": "name", - "file": "form_test_automator.py", - "line": 49 - }, - "func2": { - "key": "form_test_automator.py:company", - "name": "company", - "file": "form_test_automator.py", - "line": 52 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:name", - "name": "name", - "file": "form_test_automator.py", - "line": 49 - }, - "func2": { - "key": "form_test_automator.py:phone_number", - "name": "phone_number", - "file": "form_test_automator.py", - "line": 55 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:name", - "name": "name", - "file": "form_test_automator.py", - "line": 49 - }, - "func2": { - "key": "form_test_automator.py:date", - "name": "date", - "file": "form_test_automator.py", - "line": 57 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:name", - "name": "name", - "file": "form_test_automator.py", - "line": 49 - }, - "func2": { - "key": "form_test_automator.py:add_column", - "name": "add_column", - "file": "form_test_automator.py", - "line": 88 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:name", - "name": "name", - "file": "form_test_automator.py", - "line": 49 - }, - "func2": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "form_test_automator.py:street_address", - "name": "street_address", - "file": "form_test_automator.py", - "line": 54 - }, - "similarity": 0.8181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "form_test_automator.py:phone_number", - "name": "phone_number", - "file": "form_test_automator.py", - "line": 55 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "form_test_automator.py:date", - "name": "date", - "file": "form_test_automator.py", - "line": 57 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "form_test_automator.py:print", - "name": "print", - "file": "form_test_automator.py", - "line": 85 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "form_test_automator.py:add_column", - "name": "add_column", - "file": "form_test_automator.py", - "line": 88 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "utils/job_queue_system.py:__post_init__", - "name": "__post_init__", - "file": "utils/job_queue_system.py", - "line": 61 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7576923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "func2": { - "key": "form_test_automator.py:company", - "name": "company", - "file": "form_test_automator.py", - "line": 52 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "func2": { - "key": "form_test_automator.py:street_address", - "name": "street_address", - "file": "form_test_automator.py", - "line": 54 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "func2": { - "key": "form_test_automator.py:phone_number", - "name": "phone_number", - "file": "form_test_automator.py", - "line": 55 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "func2": { - "key": "form_test_automator.py:date", - "name": "date", - "file": "form_test_automator.py", - "line": 57 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "func2": { - "key": "form_test_automator.py:add_column", - "name": "add_column", - "file": "form_test_automator.py", - "line": 88 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "func2": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "func2": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "func2": { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "func2": { - "key": "utils/job_queue_system.py:__post_init__", - "name": "__post_init__", - "file": "utils/job_queue_system.py", - "line": 61 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:company", - "name": "company", - "file": "form_test_automator.py", - "line": 52 - }, - "func2": { - "key": "form_test_automator.py:phone_number", - "name": "phone_number", - "file": "form_test_automator.py", - "line": 55 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:company", - "name": "company", - "file": "form_test_automator.py", - "line": 52 - }, - "func2": { - "key": "form_test_automator.py:add_column", - "name": "add_column", - "file": "form_test_automator.py", - "line": 88 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:company", - "name": "company", - "file": "form_test_automator.py", - "line": 52 - }, - "func2": { - "key": "utils/job_queue_system.py:__post_init__", - "name": "__post_init__", - "file": "utils/job_queue_system.py", - "line": 61 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:city", - "name": "city", - "file": "form_test_automator.py", - "line": 53 - }, - "func2": { - "key": "form_test_automator.py:print", - "name": "print", - "file": "form_test_automator.py", - "line": 85 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:city", - "name": "city", - "file": "form_test_automator.py", - "line": 53 - }, - "func2": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:city", - "name": "city", - "file": "form_test_automator.py", - "line": 53 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:city", - "name": "city", - "file": "form_test_automator.py", - "line": 53 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:city", - "name": "city", - "file": "form_test_automator.py", - "line": 53 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:street_address", - "name": "street_address", - "file": "form_test_automator.py", - "line": 54 - }, - "func2": { - "key": "form_test_automator.py:date", - "name": "date", - "file": "form_test_automator.py", - "line": 57 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:street_address", - "name": "street_address", - "file": "form_test_automator.py", - "line": 54 - }, - "func2": { - "key": "form_test_automator.py:add_row", - "name": "add_row", - "file": "form_test_automator.py", - "line": 89 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:street_address", - "name": "street_address", - "file": "form_test_automator.py", - "line": 54 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.7611111111111112, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:street_address", - "name": "street_address", - "file": "form_test_automator.py", - "line": 54 - }, - "func2": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:street_address", - "name": "street_address", - "file": "form_test_automator.py", - "line": 54 - }, - "func2": { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:street_address", - "name": "street_address", - "file": "form_test_automator.py", - "line": 54 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:street_address", - "name": "street_address", - "file": "form_test_automator.py", - "line": 54 - }, - "func2": { - "key": "utils/job_queue_system.py:__post_init__", - "name": "__post_init__", - "file": "utils/job_queue_system.py", - "line": 61 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:street_address", - "name": "street_address", - "file": "form_test_automator.py", - "line": 54 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:phone_number", - "name": "phone_number", - "file": "form_test_automator.py", - "line": 55 - }, - "func2": { - "key": "form_test_automator.py:print", - "name": "print", - "file": "form_test_automator.py", - "line": 85 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:phone_number", - "name": "phone_number", - "file": "form_test_automator.py", - "line": 55 - }, - "func2": { - "key": "form_test_automator.py:add_column", - "name": "add_column", - "file": "form_test_automator.py", - "line": 88 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:phone_number", - "name": "phone_number", - "file": "form_test_automator.py", - "line": 55 - }, - "func2": { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:phone_number", - "name": "phone_number", - "file": "form_test_automator.py", - "line": 55 - }, - "func2": { - "key": "utils/job_queue_system.py:__post_init__", - "name": "__post_init__", - "file": "utils/job_queue_system.py", - "line": 61 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:date", - "name": "date", - "file": "form_test_automator.py", - "line": 57 - }, - "func2": { - "key": "form_test_automator.py:add_row", - "name": "add_row", - "file": "form_test_automator.py", - "line": 89 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:date", - "name": "date", - "file": "form_test_automator.py", - "line": 57 - }, - "func2": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:print", - "name": "print", - "file": "form_test_automator.py", - "line": 85 - }, - "func2": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:print", - "name": "print", - "file": "form_test_automator.py", - "line": 85 - }, - "func2": { - "key": "utils/job_queue_system.py:__post_init__", - "name": "__post_init__", - "file": "utils/job_queue_system.py", - "line": 61 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:print", - "name": "print", - "file": "form_test_automator.py", - "line": 85 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:print", - "name": "print", - "file": "form_test_automator.py", - "line": 85 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:print", - "name": "print", - "file": "form_test_automator.py", - "line": 85 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:add_column", - "name": "add_column", - "file": "form_test_automator.py", - "line": 88 - }, - "func2": { - "key": "form_test_automator.py:add_row", - "name": "add_row", - "file": "form_test_automator.py", - "line": 89 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:add_column", - "name": "add_column", - "file": "form_test_automator.py", - "line": 88 - }, - "func2": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:add_column", - "name": "add_column", - "file": "form_test_automator.py", - "line": 88 - }, - "func2": { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "form_test_automator.py:add_row", - "name": "add_row", - "file": "form_test_automator.py", - "line": 89 - }, - "func2": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:detect_raspberry_pi", - "name": "detect_raspberry_pi", - "file": "app.py", - "line": 301 - }, - "func2": { - "key": "legacy/app_original.py:detect_raspberry_pi", - "name": "detect_raspberry_pi", - "file": "legacy/app_original.py", - "line": 95 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "legacy/app_original.py:delete_user", - "name": "delete_user", - "file": "legacy/app_original.py", - "line": 3747 - }, - "similarity": 0.7181818181818183, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_user_cache", - "name": "clear_user_cache", - "file": "app.py", - "line": 449 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:clear_printer_status_cache", - "name": "clear_printer_status_cache", - "file": "app.py", - "line": 457 - }, - "func2": { - "key": "legacy/app_original.py:clear_printer_status_cache", - "name": "clear_printer_status_cache", - "file": "legacy/app_original.py", - "line": 319 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:aggressive_shutdown_handler", - "name": "aggressive_shutdown_handler", - "file": "app.py", - "line": 463 - }, - "func2": { - "key": "legacy/app_original.py:aggressive_shutdown_handler", - "name": "aggressive_shutdown_handler", - "file": "legacy/app_original.py", - "line": 326 - }, - "similarity": 0.95, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:aggressive_shutdown_handler", - "name": "aggressive_shutdown_handler", - "file": "app.py", - "line": 463 - }, - "func2": { - "key": "legacy/app_original.py:fallback_signal_handler", - "name": "fallback_signal_handler", - "file": "legacy/app_original.py", - "line": 9413 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:apply_production_config", - "name": "apply_production_config", - "file": "app.py", - "line": 520 - }, - "func2": { - "key": "app.py:apply_development_config", - "name": "apply_development_config", - "file": "app.py", - "line": 574 - }, - "similarity": 0.8638888888888889, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:apply_production_config", - "name": "apply_production_config", - "file": "app.py", - "line": 520 - }, - "func2": { - "key": "config/app_config.py:init_app", - "name": "init_app", - "file": "config/app_config.py", - "line": 137 - }, - "similarity": 0.71, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:apply_development_config", - "name": "apply_development_config", - "file": "app.py", - "line": 574 - }, - "func2": { - "key": "config/app_config.py:init_app", - "name": "init_app", - "file": "config/app_config.py", - "line": 137 - }, - "similarity": 0.7227272727272727, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:csrf_error", - "name": "csrf_error", - "file": "app.py", - "line": 712 - }, - "func2": { - "key": "legacy/app_original.py:csrf_error", - "name": "csrf_error", - "file": "legacy/app_original.py", - "line": 527 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "legacy/app_original.py:delete_user", - "name": "delete_user", - "file": "legacy/app_original.py", - "line": 3747 - }, - "similarity": 0.78, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:inject_now", - "name": "inject_now", - "file": "app.py", - "line": 789 - }, - "func2": { - "key": "legacy/app_original.py:inject_now", - "name": "inject_now", - "file": "legacy/app_original.py", - "line": 719 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:format_datetime_filter", - "name": "format_datetime_filter", - "file": "app.py", - "line": 804 - }, - "func2": { - "key": "utils/ui_components.py:format_datetime", - "name": "format_datetime", - "file": "utils/ui_components.py", - "line": 40 - }, - "similarity": 0.9636363636363636, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:format_datetime_filter", - "name": "format_datetime_filter", - "file": "app.py", - "line": 804 - }, - "func2": { - "key": "legacy/app_original.py:format_datetime_filter", - "name": "format_datetime_filter", - "file": "legacy/app_original.py", - "line": 725 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:is_optimized_mode", - "name": "is_optimized_mode", - "file": "app.py", - "line": 816 - }, - "func2": { - "key": "legacy/app_original.py:is_optimized_mode", - "name": "is_optimized_mode", - "file": "legacy/app_original.py", - "line": 738 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:log_request_info", - "name": "log_request_info", - "file": "app.py", - "line": 822 - }, - "func2": { - "key": "legacy/app_original.py:log_request_info", - "name": "log_request_info", - "file": "legacy/app_original.py", - "line": 755 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:log_response_info", - "name": "log_response_info", - "file": "app.py", - "line": 828 - }, - "func2": { - "key": "app.py:minimize_session_cookie", - "name": "minimize_session_cookie", - "file": "app.py", - "line": 835 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:log_response_info", - "name": "log_response_info", - "file": "app.py", - "line": 828 - }, - "func2": { - "key": "legacy/app_original.py:log_response_info", - "name": "log_response_info", - "file": "legacy/app_original.py", - "line": 762 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:log_response_info", - "name": "log_response_info", - "file": "app.py", - "line": 828 - }, - "func2": { - "key": "legacy/app_original.py:add_optimized_cache_headers", - "name": "add_optimized_cache_headers", - "file": "legacy/app_original.py", - "line": 473 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:minimize_session_cookie", - "name": "minimize_session_cookie", - "file": "app.py", - "line": 835 - }, - "func2": { - "key": "legacy/app_original.py:log_response_info", - "name": "log_response_info", - "file": "legacy/app_original.py", - "line": 762 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:minimize_session_cookie", - "name": "minimize_session_cookie", - "file": "app.py", - "line": 835 - }, - "func2": { - "key": "legacy/app_original.py:add_optimized_cache_headers", - "name": "add_optimized_cache_headers", - "file": "legacy/app_original.py", - "line": 473 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:printers_page", - "name": "printers_page", - "file": "app.py", - "line": 932 - }, - "func2": { - "key": "app.py:api_get_printers", - "name": "api_get_printers", - "file": "app.py", - "line": 1275 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:printers_page", - "name": "printers_page", - "file": "app.py", - "line": 932 - }, - "func2": { - "key": "legacy/app_original.py:printers_page", - "name": "printers_page", - "file": "legacy/app_original.py", - "line": 2422 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:jobs_page", - "name": "jobs_page", - "file": "app.py", - "line": 1221 - }, - "func2": { - "key": "legacy/app_original.py:jobs_page", - "name": "jobs_page", - "file": "legacy/app_original.py", - "line": 2428 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:new_job_page", - "name": "new_job_page", - "file": "app.py", - "line": 1227 - }, - "func2": { - "key": "legacy/app_original.py:new_job_page", - "name": "new_job_page", - "file": "legacy/app_original.py", - "line": 2434 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:stats_page", - "name": "stats_page", - "file": "app.py", - "line": 1233 - }, - "func2": { - "key": "legacy/app_original.py:stats_page", - "name": "stats_page", - "file": "legacy/app_original.py", - "line": 2440 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_start_job", - "name": "api_start_job", - "file": "app.py", - "line": 1247 - }, - "func2": { - "key": "app.py:api_pause_job", - "name": "api_pause_job", - "file": "app.py", - "line": 1254 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_start_job", - "name": "api_start_job", - "file": "app.py", - "line": 1247 - }, - "func2": { - "key": "app.py:api_resume_job", - "name": "api_resume_job", - "file": "app.py", - "line": 1261 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_start_job", - "name": "api_start_job", - "file": "app.py", - "line": 1247 - }, - "func2": { - "key": "app.py:api_finish_job", - "name": "api_finish_job", - "file": "app.py", - "line": 1268 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_start_job", - "name": "api_start_job", - "file": "app.py", - "line": 1247 - }, - "func2": { - "key": "blueprints/jobs.py:update_job", - "name": "update_job", - "file": "blueprints/jobs.py", - "line": 312 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_start_job", - "name": "api_start_job", - "file": "app.py", - "line": 1247 - }, - "func2": { - "key": "blueprints/jobs.py:delete_job", - "name": "delete_job", - "file": "blueprints/jobs.py", - "line": 385 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_start_job", - "name": "api_start_job", - "file": "app.py", - "line": 1247 - }, - "func2": { - "key": "blueprints/jobs.py:start_job", - "name": "start_job", - "file": "blueprints/jobs.py", - "line": 571 - }, - "similarity": 0.8200000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_start_job", - "name": "api_start_job", - "file": "app.py", - "line": 1247 - }, - "func2": { - "key": "blueprints/jobs.py:pause_job", - "name": "pause_job", - "file": "blueprints/jobs.py", - "line": 625 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_start_job", - "name": "api_start_job", - "file": "app.py", - "line": 1247 - }, - "func2": { - "key": "blueprints/guest.py:guest_job_status", - "name": "guest_job_status", - "file": "blueprints/guest.py", - "line": 131 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_start_job", - "name": "api_start_job", - "file": "app.py", - "line": 1247 - }, - "func2": { - "key": "blueprints/guest.py:api_get_guest_job_status", - "name": "api_get_guest_job_status", - "file": "blueprints/guest.py", - "line": 496 - }, - "similarity": 0.7769230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_start_job", - "name": "api_start_job", - "file": "app.py", - "line": 1247 - }, - "func2": { - "key": "legacy/app_original.py:get_job_detail", - "name": "get_job_detail", - "file": "legacy/app_original.py", - "line": 4349 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_start_job", - "name": "api_start_job", - "file": "app.py", - "line": 1247 - }, - "func2": { - "key": "legacy/app_original.py:delete_job", - "name": "delete_job", - "file": "legacy/app_original.py", - "line": 4378 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_start_job", - "name": "api_start_job", - "file": "app.py", - "line": 1247 - }, - "func2": { - "key": "legacy/app_original.py:update_job", - "name": "update_job", - "file": "legacy/app_original.py", - "line": 4564 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_pause_job", - "name": "api_pause_job", - "file": "app.py", - "line": 1254 - }, - "func2": { - "key": "app.py:api_resume_job", - "name": "api_resume_job", - "file": "app.py", - "line": 1261 - }, - "similarity": 0.9333333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_pause_job", - "name": "api_pause_job", - "file": "app.py", - "line": 1254 - }, - "func2": { - "key": "app.py:api_finish_job", - "name": "api_finish_job", - "file": "app.py", - "line": 1268 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_pause_job", - "name": "api_pause_job", - "file": "app.py", - "line": 1254 - }, - "func2": { - "key": "blueprints/jobs.py:update_job", - "name": "update_job", - "file": "blueprints/jobs.py", - "line": 312 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_pause_job", - "name": "api_pause_job", - "file": "app.py", - "line": 1254 - }, - "func2": { - "key": "blueprints/jobs.py:delete_job", - "name": "delete_job", - "file": "blueprints/jobs.py", - "line": 385 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_pause_job", - "name": "api_pause_job", - "file": "app.py", - "line": 1254 - }, - "func2": { - "key": "blueprints/jobs.py:start_job", - "name": "start_job", - "file": "blueprints/jobs.py", - "line": 571 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_pause_job", - "name": "api_pause_job", - "file": "app.py", - "line": 1254 - }, - "func2": { - "key": "blueprints/jobs.py:pause_job", - "name": "pause_job", - "file": "blueprints/jobs.py", - "line": 625 - }, - "similarity": 0.8600000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_pause_job", - "name": "api_pause_job", - "file": "app.py", - "line": 1254 - }, - "func2": { - "key": "blueprints/jobs.py:resume_job", - "name": "resume_job", - "file": "blueprints/jobs.py", - "line": 659 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_pause_job", - "name": "api_pause_job", - "file": "app.py", - "line": 1254 - }, - "func2": { - "key": "blueprints/guest.py:guest_job_status", - "name": "guest_job_status", - "file": "blueprints/guest.py", - "line": 131 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_pause_job", - "name": "api_pause_job", - "file": "app.py", - "line": 1254 - }, - "func2": { - "key": "blueprints/guest.py:api_get_guest_job_status", - "name": "api_get_guest_job_status", - "file": "blueprints/guest.py", - "line": 496 - }, - "similarity": 0.8333333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_pause_job", - "name": "api_pause_job", - "file": "app.py", - "line": 1254 - }, - "func2": { - "key": "legacy/app_original.py:get_job_detail", - "name": "get_job_detail", - "file": "legacy/app_original.py", - "line": 4349 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_pause_job", - "name": "api_pause_job", - "file": "app.py", - "line": 1254 - }, - "func2": { - "key": "legacy/app_original.py:delete_job", - "name": "delete_job", - "file": "legacy/app_original.py", - "line": 4378 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_pause_job", - "name": "api_pause_job", - "file": "app.py", - "line": 1254 - }, - "func2": { - "key": "legacy/app_original.py:update_job", - "name": "update_job", - "file": "legacy/app_original.py", - "line": 4564 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_resume_job", - "name": "api_resume_job", - "file": "app.py", - "line": 1261 - }, - "func2": { - "key": "app.py:api_finish_job", - "name": "api_finish_job", - "file": "app.py", - "line": 1268 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_resume_job", - "name": "api_resume_job", - "file": "app.py", - "line": 1261 - }, - "func2": { - "key": "blueprints/jobs.py:update_job", - "name": "update_job", - "file": "blueprints/jobs.py", - "line": 312 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_resume_job", - "name": "api_resume_job", - "file": "app.py", - "line": 1261 - }, - "func2": { - "key": "blueprints/jobs.py:delete_job", - "name": "delete_job", - "file": "blueprints/jobs.py", - "line": 385 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_resume_job", - "name": "api_resume_job", - "file": "app.py", - "line": 1261 - }, - "func2": { - "key": "blueprints/jobs.py:start_job", - "name": "start_job", - "file": "blueprints/jobs.py", - "line": 571 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_resume_job", - "name": "api_resume_job", - "file": "app.py", - "line": 1261 - }, - "func2": { - "key": "blueprints/jobs.py:pause_job", - "name": "pause_job", - "file": "blueprints/jobs.py", - "line": 625 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_resume_job", - "name": "api_resume_job", - "file": "app.py", - "line": 1261 - }, - "func2": { - "key": "blueprints/jobs.py:resume_job", - "name": "resume_job", - "file": "blueprints/jobs.py", - "line": 659 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_resume_job", - "name": "api_resume_job", - "file": "app.py", - "line": 1261 - }, - "func2": { - "key": "blueprints/guest.py:guest_job_status", - "name": "guest_job_status", - "file": "blueprints/guest.py", - "line": 131 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_resume_job", - "name": "api_resume_job", - "file": "app.py", - "line": 1261 - }, - "func2": { - "key": "blueprints/guest.py:api_get_guest_job_status", - "name": "api_get_guest_job_status", - "file": "blueprints/guest.py", - "line": 496 - }, - "similarity": 0.7857142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_resume_job", - "name": "api_resume_job", - "file": "app.py", - "line": 1261 - }, - "func2": { - "key": "legacy/app_original.py:get_job_detail", - "name": "get_job_detail", - "file": "legacy/app_original.py", - "line": 4349 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_resume_job", - "name": "api_resume_job", - "file": "app.py", - "line": 1261 - }, - "func2": { - "key": "legacy/app_original.py:delete_job", - "name": "delete_job", - "file": "legacy/app_original.py", - "line": 4378 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_resume_job", - "name": "api_resume_job", - "file": "app.py", - "line": 1261 - }, - "func2": { - "key": "legacy/app_original.py:update_job", - "name": "update_job", - "file": "legacy/app_original.py", - "line": 4564 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_finish_job", - "name": "api_finish_job", - "file": "app.py", - "line": 1268 - }, - "func2": { - "key": "blueprints/jobs.py:delete_job", - "name": "delete_job", - "file": "blueprints/jobs.py", - "line": 385 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_finish_job", - "name": "api_finish_job", - "file": "app.py", - "line": 1268 - }, - "func2": { - "key": "blueprints/jobs.py:pause_job", - "name": "pause_job", - "file": "blueprints/jobs.py", - "line": 625 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_finish_job", - "name": "api_finish_job", - "file": "app.py", - "line": 1268 - }, - "func2": { - "key": "blueprints/jobs.py:finish_job", - "name": "finish_job", - "file": "blueprints/jobs.py", - "line": 692 - }, - "similarity": 0.8272727272727274, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_finish_job", - "name": "api_finish_job", - "file": "app.py", - "line": 1268 - }, - "func2": { - "key": "blueprints/guest.py:guest_job_status", - "name": "guest_job_status", - "file": "blueprints/guest.py", - "line": 131 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_finish_job", - "name": "api_finish_job", - "file": "app.py", - "line": 1268 - }, - "func2": { - "key": "blueprints/guest.py:api_get_guest_job_status", - "name": "api_get_guest_job_status", - "file": "blueprints/guest.py", - "line": 496 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_finish_job", - "name": "api_finish_job", - "file": "app.py", - "line": 1268 - }, - "func2": { - "key": "legacy/app_original.py:get_job_detail", - "name": "get_job_detail", - "file": "legacy/app_original.py", - "line": 4349 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_finish_job", - "name": "api_finish_job", - "file": "app.py", - "line": 1268 - }, - "func2": { - "key": "legacy/app_original.py:delete_job", - "name": "delete_job", - "file": "legacy/app_original.py", - "line": 4378 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_finish_job", - "name": "api_finish_job", - "file": "app.py", - "line": 1268 - }, - "func2": { - "key": "legacy/app_original.py:update_job", - "name": "update_job", - "file": "legacy/app_original.py", - "line": 4564 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_get_printers", - "name": "api_get_printers", - "file": "app.py", - "line": 1275 - }, - "func2": { - "key": "legacy/app_original.py:printers_page", - "name": "printers_page", - "file": "legacy/app_original.py", - "line": 2422 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_get_printer_status", - "name": "api_get_printer_status", - "file": "app.py", - "line": 1365 - }, - "func2": { - "key": "blueprints/user_management.py:user_settings_api", - "name": "user_settings_api", - "file": "blueprints/user_management.py", - "line": 164 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:api_stats", - "name": "api_stats", - "file": "app.py", - "line": 1481 - }, - "func2": { - "key": "legacy/app_original.py:api_stats", - "name": "api_stats", - "file": "legacy/app_original.py", - "line": 8594 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:privacy", - "name": "privacy", - "file": "app.py", - "line": 1545 - }, - "func2": { - "key": "blueprints/legal_pages.py:privacy", - "name": "privacy", - "file": "blueprints/legal_pages.py", - "line": 18 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:privacy", - "name": "privacy", - "file": "app.py", - "line": 1545 - }, - "func2": { - "key": "legacy/app_original.py:privacy", - "name": "privacy", - "file": "legacy/app_original.py", - "line": 2445 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:terms", - "name": "terms", - "file": "app.py", - "line": 1550 - }, - "func2": { - "key": "blueprints/legal_pages.py:terms", - "name": "terms", - "file": "blueprints/legal_pages.py", - "line": 24 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:terms", - "name": "terms", - "file": "app.py", - "line": 1550 - }, - "func2": { - "key": "legacy/app_original.py:terms", - "name": "terms", - "file": "legacy/app_original.py", - "line": 2450 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:imprint", - "name": "imprint", - "file": "app.py", - "line": 1555 - }, - "func2": { - "key": "blueprints/legal_pages.py:imprint", - "name": "imprint", - "file": "blueprints/legal_pages.py", - "line": 12 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:imprint", - "name": "imprint", - "file": "app.py", - "line": 1555 - }, - "func2": { - "key": "legacy/app_original.py:imprint", - "name": "imprint", - "file": "legacy/app_original.py", - "line": 2455 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:legal", - "name": "legal", - "file": "app.py", - "line": 1560 - }, - "func2": { - "key": "blueprints/legal_pages.py:legal", - "name": "legal", - "file": "blueprints/legal_pages.py", - "line": 30 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:legal", - "name": "legal", - "file": "app.py", - "line": 1560 - }, - "func2": { - "key": "legacy/app_original.py:legal", - "name": "legal", - "file": "legacy/app_original.py", - "line": 2460 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:bad_request_error", - "name": "bad_request_error", - "file": "app.py", - "line": 1566 - }, - "func2": { - "key": "app.py:unauthorized_error", - "name": "unauthorized_error", - "file": "app.py", - "line": 1578 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:bad_request_error", - "name": "bad_request_error", - "file": "app.py", - "line": 1566 - }, - "func2": { - "key": "app.py:forbidden_error", - "name": "forbidden_error", - "file": "app.py", - "line": 1590 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:bad_request_error", - "name": "bad_request_error", - "file": "app.py", - "line": 1566 - }, - "func2": { - "key": "app.py:not_found_error", - "name": "not_found_error", - "file": "app.py", - "line": 1608 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:bad_request_error", - "name": "bad_request_error", - "file": "app.py", - "line": 1566 - }, - "func2": { - "key": "app.py:method_not_allowed_error", - "name": "method_not_allowed_error", - "file": "app.py", - "line": 1626 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:bad_request_error", - "name": "bad_request_error", - "file": "app.py", - "line": 1566 - }, - "func2": { - "key": "app.py:payload_too_large_error", - "name": "payload_too_large_error", - "file": "app.py", - "line": 1638 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:bad_request_error", - "name": "bad_request_error", - "file": "app.py", - "line": 1566 - }, - "func2": { - "key": "app.py:rate_limit_error", - "name": "rate_limit_error", - "file": "app.py", - "line": 1650 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:bad_request_error", - "name": "bad_request_error", - "file": "app.py", - "line": 1566 - }, - "func2": { - "key": "app.py:bad_gateway_error", - "name": "bad_gateway_error", - "file": "app.py", - "line": 1691 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:bad_request_error", - "name": "bad_request_error", - "file": "app.py", - "line": 1566 - }, - "func2": { - "key": "app.py:service_unavailable_error", - "name": "service_unavailable_error", - "file": "app.py", - "line": 1703 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:bad_request_error", - "name": "bad_request_error", - "file": "app.py", - "line": 1566 - }, - "func2": { - "key": "app.py:http_version_not_supported_error", - "name": "http_version_not_supported_error", - "file": "app.py", - "line": 1715 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:unauthorized_error", - "name": "unauthorized_error", - "file": "app.py", - "line": 1578 - }, - "func2": { - "key": "app.py:forbidden_error", - "name": "forbidden_error", - "file": "app.py", - "line": 1590 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:unauthorized_error", - "name": "unauthorized_error", - "file": "app.py", - "line": 1578 - }, - "func2": { - "key": "app.py:not_found_error", - "name": "not_found_error", - "file": "app.py", - "line": 1608 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:unauthorized_error", - "name": "unauthorized_error", - "file": "app.py", - "line": 1578 - }, - "func2": { - "key": "app.py:method_not_allowed_error", - "name": "method_not_allowed_error", - "file": "app.py", - "line": 1626 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:unauthorized_error", - "name": "unauthorized_error", - "file": "app.py", - "line": 1578 - }, - "func2": { - "key": "app.py:payload_too_large_error", - "name": "payload_too_large_error", - "file": "app.py", - "line": 1638 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:unauthorized_error", - "name": "unauthorized_error", - "file": "app.py", - "line": 1578 - }, - "func2": { - "key": "app.py:rate_limit_error", - "name": "rate_limit_error", - "file": "app.py", - "line": 1650 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:unauthorized_error", - "name": "unauthorized_error", - "file": "app.py", - "line": 1578 - }, - "func2": { - "key": "app.py:bad_gateway_error", - "name": "bad_gateway_error", - "file": "app.py", - "line": 1691 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:unauthorized_error", - "name": "unauthorized_error", - "file": "app.py", - "line": 1578 - }, - "func2": { - "key": "app.py:service_unavailable_error", - "name": "service_unavailable_error", - "file": "app.py", - "line": 1703 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:unauthorized_error", - "name": "unauthorized_error", - "file": "app.py", - "line": 1578 - }, - "func2": { - "key": "app.py:http_version_not_supported_error", - "name": "http_version_not_supported_error", - "file": "app.py", - "line": 1715 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:forbidden_error", - "name": "forbidden_error", - "file": "app.py", - "line": 1590 - }, - "func2": { - "key": "app.py:not_found_error", - "name": "not_found_error", - "file": "app.py", - "line": 1608 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:forbidden_error", - "name": "forbidden_error", - "file": "app.py", - "line": 1590 - }, - "func2": { - "key": "app.py:method_not_allowed_error", - "name": "method_not_allowed_error", - "file": "app.py", - "line": 1626 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:forbidden_error", - "name": "forbidden_error", - "file": "app.py", - "line": 1590 - }, - "func2": { - "key": "app.py:payload_too_large_error", - "name": "payload_too_large_error", - "file": "app.py", - "line": 1638 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:forbidden_error", - "name": "forbidden_error", - "file": "app.py", - "line": 1590 - }, - "func2": { - "key": "app.py:rate_limit_error", - "name": "rate_limit_error", - "file": "app.py", - "line": 1650 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:forbidden_error", - "name": "forbidden_error", - "file": "app.py", - "line": 1590 - }, - "func2": { - "key": "app.py:bad_gateway_error", - "name": "bad_gateway_error", - "file": "app.py", - "line": 1691 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:forbidden_error", - "name": "forbidden_error", - "file": "app.py", - "line": 1590 - }, - "func2": { - "key": "app.py:service_unavailable_error", - "name": "service_unavailable_error", - "file": "app.py", - "line": 1703 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:forbidden_error", - "name": "forbidden_error", - "file": "app.py", - "line": 1590 - }, - "func2": { - "key": "app.py:http_version_not_supported_error", - "name": "http_version_not_supported_error", - "file": "app.py", - "line": 1715 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:forbidden_error", - "name": "forbidden_error", - "file": "app.py", - "line": 1590 - }, - "func2": { - "key": "legacy/app_original.py:csrf_error", - "name": "csrf_error", - "file": "legacy/app_original.py", - "line": 527 - }, - "similarity": 0.7068181818181818, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:not_found_error", - "name": "not_found_error", - "file": "app.py", - "line": 1608 - }, - "func2": { - "key": "app.py:method_not_allowed_error", - "name": "method_not_allowed_error", - "file": "app.py", - "line": 1626 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:not_found_error", - "name": "not_found_error", - "file": "app.py", - "line": 1608 - }, - "func2": { - "key": "app.py:payload_too_large_error", - "name": "payload_too_large_error", - "file": "app.py", - "line": 1638 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:not_found_error", - "name": "not_found_error", - "file": "app.py", - "line": 1608 - }, - "func2": { - "key": "app.py:rate_limit_error", - "name": "rate_limit_error", - "file": "app.py", - "line": 1650 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:not_found_error", - "name": "not_found_error", - "file": "app.py", - "line": 1608 - }, - "func2": { - "key": "app.py:bad_gateway_error", - "name": "bad_gateway_error", - "file": "app.py", - "line": 1691 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:not_found_error", - "name": "not_found_error", - "file": "app.py", - "line": 1608 - }, - "func2": { - "key": "app.py:service_unavailable_error", - "name": "service_unavailable_error", - "file": "app.py", - "line": 1703 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:not_found_error", - "name": "not_found_error", - "file": "app.py", - "line": 1608 - }, - "func2": { - "key": "app.py:http_version_not_supported_error", - "name": "http_version_not_supported_error", - "file": "app.py", - "line": 1715 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:not_found_error", - "name": "not_found_error", - "file": "app.py", - "line": 1608 - }, - "func2": { - "key": "legacy/app_original.py:csrf_error", - "name": "csrf_error", - "file": "legacy/app_original.py", - "line": 527 - }, - "similarity": 0.7068181818181818, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:method_not_allowed_error", - "name": "method_not_allowed_error", - "file": "app.py", - "line": 1626 - }, - "func2": { - "key": "app.py:payload_too_large_error", - "name": "payload_too_large_error", - "file": "app.py", - "line": 1638 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:method_not_allowed_error", - "name": "method_not_allowed_error", - "file": "app.py", - "line": 1626 - }, - "func2": { - "key": "app.py:rate_limit_error", - "name": "rate_limit_error", - "file": "app.py", - "line": 1650 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:method_not_allowed_error", - "name": "method_not_allowed_error", - "file": "app.py", - "line": 1626 - }, - "func2": { - "key": "app.py:bad_gateway_error", - "name": "bad_gateway_error", - "file": "app.py", - "line": 1691 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:method_not_allowed_error", - "name": "method_not_allowed_error", - "file": "app.py", - "line": 1626 - }, - "func2": { - "key": "app.py:service_unavailable_error", - "name": "service_unavailable_error", - "file": "app.py", - "line": 1703 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:method_not_allowed_error", - "name": "method_not_allowed_error", - "file": "app.py", - "line": 1626 - }, - "func2": { - "key": "app.py:http_version_not_supported_error", - "name": "http_version_not_supported_error", - "file": "app.py", - "line": 1715 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:payload_too_large_error", - "name": "payload_too_large_error", - "file": "app.py", - "line": 1638 - }, - "func2": { - "key": "app.py:rate_limit_error", - "name": "rate_limit_error", - "file": "app.py", - "line": 1650 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:payload_too_large_error", - "name": "payload_too_large_error", - "file": "app.py", - "line": 1638 - }, - "func2": { - "key": "app.py:bad_gateway_error", - "name": "bad_gateway_error", - "file": "app.py", - "line": 1691 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:payload_too_large_error", - "name": "payload_too_large_error", - "file": "app.py", - "line": 1638 - }, - "func2": { - "key": "app.py:service_unavailable_error", - "name": "service_unavailable_error", - "file": "app.py", - "line": 1703 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:payload_too_large_error", - "name": "payload_too_large_error", - "file": "app.py", - "line": 1638 - }, - "func2": { - "key": "app.py:http_version_not_supported_error", - "name": "http_version_not_supported_error", - "file": "app.py", - "line": 1715 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:rate_limit_error", - "name": "rate_limit_error", - "file": "app.py", - "line": 1650 - }, - "func2": { - "key": "app.py:internal_error", - "name": "internal_error", - "file": "app.py", - "line": 1662 - }, - "similarity": 0.7290909090909092, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "app.py:rate_limit_error", - "name": "rate_limit_error", - "file": "app.py", - "line": 1650 - }, - "func2": { - "key": "app.py:bad_gateway_error", - "name": "bad_gateway_error", - "file": "app.py", - "line": 1691 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:rate_limit_error", - "name": "rate_limit_error", - "file": "app.py", - "line": 1650 - }, - "func2": { - "key": "app.py:service_unavailable_error", - "name": "service_unavailable_error", - "file": "app.py", - "line": 1703 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:rate_limit_error", - "name": "rate_limit_error", - "file": "app.py", - "line": 1650 - }, - "func2": { - "key": "app.py:http_version_not_supported_error", - "name": "http_version_not_supported_error", - "file": "app.py", - "line": 1715 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:internal_error", - "name": "internal_error", - "file": "app.py", - "line": 1662 - }, - "func2": { - "key": "app.py:handle_exception", - "name": "handle_exception", - "file": "app.py", - "line": 1728 - }, - "similarity": 0.7824175824175824, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:bad_gateway_error", - "name": "bad_gateway_error", - "file": "app.py", - "line": 1691 - }, - "func2": { - "key": "app.py:service_unavailable_error", - "name": "service_unavailable_error", - "file": "app.py", - "line": 1703 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:bad_gateway_error", - "name": "bad_gateway_error", - "file": "app.py", - "line": 1691 - }, - "func2": { - "key": "app.py:http_version_not_supported_error", - "name": "http_version_not_supported_error", - "file": "app.py", - "line": 1715 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:service_unavailable_error", - "name": "service_unavailable_error", - "file": "app.py", - "line": 1703 - }, - "func2": { - "key": "app.py:http_version_not_supported_error", - "name": "http_version_not_supported_error", - "file": "app.py", - "line": 1715 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:__init__", - "name": "__init__", - "file": "app.py", - "line": 63 - }, - "func2": { - "key": "app.py:init_app", - "name": "init_app", - "file": "app.py", - "line": 67 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:__init__", - "name": "__init__", - "file": "app.py", - "line": 63 - }, - "func2": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:__init__", - "name": "__init__", - "file": "app.py", - "line": 63 - }, - "func2": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:__init__", - "name": "__init__", - "file": "app.py", - "line": 63 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:__init__", - "name": "__init__", - "file": "app.py", - "line": 63 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:__init__", - "name": "__init__", - "file": "app.py", - "line": 63 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:__init__", - "name": "__init__", - "file": "app.py", - "line": 63 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:__init__", - "name": "__init__", - "file": "app.py", - "line": 63 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:__init__", - "name": "__init__", - "file": "app.py", - "line": 63 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:__init__", - "name": "__init__", - "file": "app.py", - "line": 63 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:__init__", - "name": "__init__", - "file": "app.py", - "line": 63 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:__init__", - "name": "__init__", - "file": "app.py", - "line": 63 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:__init__", - "name": "__init__", - "file": "app.py", - "line": 63 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:init_app", - "name": "init_app", - "file": "app.py", - "line": 67 - }, - "func2": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:init_app", - "name": "init_app", - "file": "app.py", - "line": 67 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:init_app", - "name": "init_app", - "file": "app.py", - "line": 67 - }, - "func2": { - "key": "legacy/app_original.py:init_app", - "name": "init_app", - "file": "legacy/app_original.py", - "line": 75 - }, - "similarity": 0.7214285714285714, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "app.py:store_large_session_data", - "name": "store_large_session_data", - "file": "app.py", - "line": 75 - }, - "func2": { - "key": "app.py:load_large_session_data", - "name": "load_large_session_data", - "file": "app.py", - "line": 104 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_large_session_data", - "name": "load_large_session_data", - "file": "app.py", - "line": 104 - }, - "func2": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_large_session_data", - "name": "load_large_session_data", - "file": "app.py", - "line": 104 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:load_large_session_data", - "name": "load_large_session_data", - "file": "app.py", - "line": 104 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7623529411764707, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.7388235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.7916666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.7916666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.768888888888889, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7323529411764707, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7838235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7602941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.8444444444444446, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7694444444444445, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7050000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7050000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7050000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.7116666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/ip_security.py:is_client_ip_allowed", - "name": "is_client_ip_allowed", - "file": "utils/ip_security.py", - "line": 66 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/drag_drop_system.py:create_upload_session", - "name": "create_upload_session", - "file": "utils/drag_drop_system.py", - "line": 61 - }, - "similarity": 0.7216666666666667, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.8466666666666667, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_jobs", - "name": "_check_jobs", - "file": "utils/job_scheduler.py", - "line": 374 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7050000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7588235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/logging_config.py:doRollover", - "name": "doRollover", - "file": "utils/logging_config.py", - "line": 38 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:main", - "name": "main", - "file": "import_analyzer.py", - "line": 348 - }, - "func2": { - "key": "scripts/migrate_database.py:main", - "name": "main", - "file": "scripts/migrate_database.py", - "line": 166 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:__init__", - "name": "__init__", - "file": "import_analyzer.py", - "line": 22 - }, - "func2": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:__init__", - "name": "__init__", - "file": "import_analyzer.py", - "line": 22 - }, - "func2": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:__init__", - "name": "__init__", - "file": "import_analyzer.py", - "line": 22 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "similarity": 0.7136363636363636, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:__init__", - "name": "__init__", - "file": "import_analyzer.py", - "line": 22 - }, - "func2": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:__init__", - "name": "__init__", - "file": "import_analyzer.py", - "line": 22 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:__init__", - "name": "__init__", - "file": "import_analyzer.py", - "line": 22 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:__init__", - "name": "__init__", - "file": "import_analyzer.py", - "line": 22 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.73, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:__init__", - "name": "__init__", - "file": "import_analyzer.py", - "line": 22 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:__init__", - "name": "__init__", - "file": "import_analyzer.py", - "line": 22 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:__init__", - "name": "__init__", - "file": "import_analyzer.py", - "line": 22 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:__init__", - "name": "__init__", - "file": "import_analyzer.py", - "line": 22 - }, - "func2": { - "key": "utils/core_system.py:__init__", - "name": "__init__", - "file": "utils/core_system.py", - "line": 730 - }, - "similarity": 0.7571428571428571, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:__init__", - "name": "__init__", - "file": "import_analyzer.py", - "line": 22 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:analyze_file", - "name": "analyze_file", - "file": "import_analyzer.py", - "line": 36 - }, - "func2": { - "key": "utils/data_management.py:_move_to_trash_windows", - "name": "_move_to_trash_windows", - "file": "utils/data_management.py", - "line": 202 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:analyze_file", - "name": "analyze_file", - "file": "import_analyzer.py", - "line": 36 - }, - "func2": { - "key": "utils/data_management.py:_move_to_trash_unix", - "name": "_move_to_trash_unix", - "file": "utils/data_management.py", - "line": 225 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:analyze_file", - "name": "analyze_file", - "file": "import_analyzer.py", - "line": 36 - }, - "func2": { - "key": "utils/data_management.py:_delete_permanently", - "name": "_delete_permanently", - "file": "utils/data_management.py", - "line": 252 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "similarity": 0.7200000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.7914285714285715, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7000000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7222222222222223, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.78, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "scripts/screenshot_tool.py:set_resolution", - "name": "set_resolution", - "file": "scripts/screenshot_tool.py", - "line": 297 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.78, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_ordered_jobs_for_printer", - "name": "get_ordered_jobs_for_printer", - "file": "utils/drag_drop_system.py", - "line": 194 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "similarity": 0.7088235294117646, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/core_system.py:windows_bind_with_reuse", - "name": "windows_bind_with_reuse", - "file": "utils/core_system.py", - "line": 188 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7473684210526315, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "similarity": 0.925, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.79, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "similarity": 0.765, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.7517647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.7696969696969697, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.7000000000000001, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.8736842105263158, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.8200000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7394736842105263, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.8794117647058823, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.8558823529411765, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.8223529411764706, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7622222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7466666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.8458823529411765, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7517647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7000000000000001, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.775, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7047058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7047058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "utils/drag_drop_system.py:create_upload_session", - "name": "create_upload_session", - "file": "utils/drag_drop_system.py", - "line": 61 - }, - "similarity": 0.715, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7023529411764706, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.8026315789473684, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7023529411764706, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.8066666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.765, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7541666666666667, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.7474747474747475, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.8526315789473684, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.8558823529411765, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.875, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7988235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7752941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7244444444444444, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.865, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.8066666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7276190476190476, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.8357142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.715, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "similarity": 0.700952380952381, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.781578947368421, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:get_module_name", - "name": "get_module_name", - "file": "import_analyzer.py", - "line": 209 - }, - "func2": { - "key": "utils/data_management.py:_delete_permanently", - "name": "_delete_permanently", - "file": "utils/data_management.py", - "line": 252 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:is_local_import", - "name": "is_local_import", - "file": "import_analyzer.py", - "line": 217 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:run_analysis", - "name": "run_analysis", - "file": "import_analyzer.py", - "line": 222 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "similarity": 0.7405128205128205, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:run_analysis", - "name": "run_analysis", - "file": "import_analyzer.py", - "line": 222 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "similarity": 0.7288461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:run_analysis", - "name": "run_analysis", - "file": "import_analyzer.py", - "line": 222 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "similarity": 0.744102564102564, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:run_analysis", - "name": "run_analysis", - "file": "import_analyzer.py", - "line": 222 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7512820512820513, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:run_analysis", - "name": "run_analysis", - "file": "import_analyzer.py", - "line": 222 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.7222672064777328, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:run_analysis", - "name": "run_analysis", - "file": "import_analyzer.py", - "line": 222 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.7461538461538461, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:run_analysis", - "name": "run_analysis", - "file": "import_analyzer.py", - "line": 222 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.7853146853146853, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:run_analysis", - "name": "run_analysis", - "file": "import_analyzer.py", - "line": 222 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7461538461538461, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "import_analyzer.py:run_analysis", - "name": "run_analysis", - "file": "import_analyzer.py", - "line": 222 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.7635897435897436, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:print_report", - "name": "print_report", - "file": "import_analyzer.py", - "line": 261 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_crud_operations_printers", - "name": "test_crud_operations_printers", - "file": "tests/test_tapo_integration.py", - "line": 232 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "import_analyzer.py:print_report", - "name": "print_report", - "file": "import_analyzer.py", - "line": 261 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_automatic_plug_control_with_jobs", - "name": "test_automatic_plug_control_with_jobs", - "file": "tests/test_tapo_integration.py", - "line": 279 - }, - "similarity": 0.7138755980861244, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "similarity": 0.8636363636363635, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.8799999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "utils/core_system.py:__init__", - "name": "__init__", - "file": "utils/core_system.py", - "line": 730 - }, - "similarity": 0.8071428571428572, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:__init__", - "name": "__init__", - "file": "template_problem_analysis.py", - "line": 19 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "func2": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "similarity": 0.875, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "similarity": 0.8080213903743315, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7581818181818182, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_crud_operations_printers", - "name": "test_crud_operations_printers", - "file": "tests/test_tapo_integration.py", - "line": 232 - }, - "similarity": 0.7000000000000001, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.8200000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.7727272727272727, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.7527272727272727, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7569696969696968, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7080808080808081, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7224598930481283, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.706060606060606, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.7593939393939394, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7727272727272727, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.7867647058823528, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_all_endpoints", - "name": "analyze_all_endpoints", - "file": "template_problem_analysis.py", - "line": 28 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7220779220779221, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "similarity": 0.8315508021390374, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7431818181818182, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_automatic_plug_control_with_jobs", - "name": "test_automatic_plug_control_with_jobs", - "file": "tests/test_tapo_integration.py", - "line": 279 - }, - "similarity": 0.7119047619047619, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.8095238095238095, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.7609625668449198, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.7441558441558441, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7303030303030302, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7459893048128342, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.7609625668449198, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7042424242424242, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.786060606060606, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7609625668449198, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:analyze_template_problems", - "name": "analyze_template_problems", - "file": "template_problem_analysis.py", - "line": 59 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.743421052631579, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.7685714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.7685714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7160714285714286, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7894736842105263, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7277777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.765, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7047058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7177777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7685714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7296703296703296, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7961538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7057142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7114285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7569230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7114285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "utils/ssl_suite.py:verify_ssl_files", - "name": "verify_ssl_files", - "file": "utils/ssl_suite.py", - "line": 52 - }, - "similarity": 0.7214285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7246153846153847, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7023529411764706, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7000000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.9142857142857144, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_determine_route_category", - "name": "_determine_route_category", - "file": "scripts/screenshot_tool.py", - "line": 501 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "similarity": 0.7576923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/data_management.py:_delete_permanently", - "name": "_delete_permanently", - "file": "utils/data_management.py", - "line": 252 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/hardware_integration.py:get_live_printer_status", - "name": "get_live_printer_status", - "file": "utils/hardware_integration.py", - "line": 1029 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7894736842105263, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/ssl_suite.py:generate_self_signed_cert", - "name": "generate_self_signed_cert", - "file": "utils/ssl_suite.py", - "line": 70 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_ordered_jobs_for_printer", - "name": "get_ordered_jobs_for_printer", - "file": "utils/drag_drop_system.py", - "line": 194 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/job_scheduler.py:toggle_printer_plug", - "name": "toggle_printer_plug", - "file": "utils/job_scheduler.py", - "line": 310 - }, - "similarity": 0.7076923076923076, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "ssl/ssl_fix.py:main", - "name": "main", - "file": "ssl/ssl_fix.py", - "line": 198 - }, - "func2": { - "key": "ssl/fix_ssl_browser.py:main", - "name": "main", - "file": "ssl/fix_ssl_browser.py", - "line": 199 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:setup", - "name": "setup", - "file": "tests/test_tapo_integration.py", - "line": 106 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:setup", - "name": "setup", - "file": "tests/test_tapo_integration.py", - "line": 106 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.7218181818181818, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:setup", - "name": "setup", - "file": "tests/test_tapo_integration.py", - "line": 106 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.7218181818181818, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:setup", - "name": "setup", - "file": "tests/test_tapo_integration.py", - "line": 106 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:setup", - "name": "setup", - "file": "tests/test_tapo_integration.py", - "line": 106 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:setup", - "name": "setup", - "file": "tests/test_tapo_integration.py", - "line": 106 - }, - "func2": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "similarity": 0.7402777777777778, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:setup", - "name": "setup", - "file": "tests/test_tapo_integration.py", - "line": 106 - }, - "func2": { - "key": "utils/job_scheduler.py:stop", - "name": "stop", - "file": "utils/job_scheduler.py", - "line": 237 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:setup", - "name": "setup", - "file": "tests/test_tapo_integration.py", - "line": 106 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.7269230769230769, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.7533333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7988235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.7752941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.775, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7533333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7685714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.8169230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7269230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7266666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.8019230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7553846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/drag_drop_system.py:create_upload_session", - "name": "create_upload_session", - "file": "utils/drag_drop_system.py", - "line": 61 - }, - "similarity": 0.7642857142857142, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/job_scheduler.py:_run", - "name": "_run", - "file": "utils/job_scheduler.py", - "line": 266 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7266666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7821428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7403846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7269230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.7177777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7266666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7988235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.708421052631579, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7367647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7971428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7685714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7266666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.8169230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7535714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7553846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/drag_drop_system.py:create_upload_session", - "name": "create_upload_session", - "file": "utils/drag_drop_system.py", - "line": 61 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/job_scheduler.py:_run", - "name": "_run", - "file": "utils/job_scheduler.py", - "line": 266 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.7116666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.8169230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7269230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7383333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7916666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7269230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "similarity": 0.8066666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.7822510822510822, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7152941176470589, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7115789473684211, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7244444444444444, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_all_printers_always_visible", - "name": "test_all_printers_always_visible", - "file": "tests/test_tapo_integration.py", - "line": 193 - }, - "func2": { - "key": "utils/job_scheduler.py:start", - "name": "start", - "file": "utils/job_scheduler.py", - "line": 216 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.7287081339712919, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.8733333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7097222222222223, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.708421052631579, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7999999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.775, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7951923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.7266666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7160714285714286, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7778846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.8066666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.8169230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.8886363636363636, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7160714285714286, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7134615384615384, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "similarity": 0.7471153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "utils/job_scheduler.py:stop", - "name": "stop", - "file": "utils/job_scheduler.py", - "line": 237 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7160714285714286, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_types", - "name": "test_printer_status_types", - "file": "tests/test_tapo_integration.py", - "line": 212 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7083333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_crud_operations_printers", - "name": "test_crud_operations_printers", - "file": "tests/test_tapo_integration.py", - "line": 232 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_automatic_plug_control_with_jobs", - "name": "test_automatic_plug_control_with_jobs", - "file": "tests/test_tapo_integration.py", - "line": 279 - }, - "similarity": 0.7854545454545454, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_crud_operations_printers", - "name": "test_crud_operations_printers", - "file": "tests/test_tapo_integration.py", - "line": 232 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.7388888888888889, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_crud_operations_printers", - "name": "test_crud_operations_printers", - "file": "tests/test_tapo_integration.py", - "line": 232 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.7748251748251748, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_crud_operations_printers", - "name": "test_crud_operations_printers", - "file": "tests/test_tapo_integration.py", - "line": 232 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7748251748251748, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_crud_operations_printers", - "name": "test_crud_operations_printers", - "file": "tests/test_tapo_integration.py", - "line": 232 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.7569696969696968, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_automatic_plug_control_with_jobs", - "name": "test_automatic_plug_control_with_jobs", - "file": "tests/test_tapo_integration.py", - "line": 279 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "similarity": 0.7880952380952382, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_automatic_plug_control_with_jobs", - "name": "test_automatic_plug_control_with_jobs", - "file": "tests/test_tapo_integration.py", - "line": 279 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7033333333333335, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_automatic_plug_control_with_jobs", - "name": "test_automatic_plug_control_with_jobs", - "file": "tests/test_tapo_integration.py", - "line": 279 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.7666666666666667, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_automatic_plug_control_with_jobs", - "name": "test_automatic_plug_control_with_jobs", - "file": "tests/test_tapo_integration.py", - "line": 279 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.7095238095238094, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "similarity": 0.8171717171717172, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7363636363636364, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.8203463203463204, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.7163636363636363, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7794258373205741, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7583732057416267, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7038277511961722, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.8171717171717172, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.7727272727272727, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.8171717171717172, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.8276315789473683, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "name": "test_calendar_shows_printer_status_for_admin", - "file": "tests/test_tapo_integration.py", - "line": 320 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7794258373205741, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "similarity": 0.7088235294117647, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "similarity": 0.7181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7549999999999999, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7269230769230769, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7253846153846153, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.9333333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.8436363636363635, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.79, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "func2": { - "key": "utils/job_scheduler.py:start", - "name": "start", - "file": "utils/job_scheduler.py", - "line": 216 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_printer_status_persistence", - "name": "test_printer_status_persistence", - "file": "tests/test_tapo_integration.py", - "line": 366 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7114285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "similarity": 0.7833333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "similarity": 0.8600000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.81, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.8611111111111112, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7926315789473684, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.771578947368421, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.8105263157894738, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.78, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7294736842105263, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.8588235294117648, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7260504201680672, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_human_readable_report", - "name": "_generate_human_readable_report", - "file": "scripts/screenshot_tool.py", - "line": 556 - }, - "similarity": 0.7011111111111111, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.8588235294117648, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7088235294117647, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7852941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.8222222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7517647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7022222222222223, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.7282352941176471, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7517647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/drag_drop_system.py:create_upload_session", - "name": "create_upload_session", - "file": "utils/drag_drop_system.py", - "line": 61 - }, - "similarity": 0.7194117647058823, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7088888888888889, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.8447368421052631, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7023529411764706, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.7022222222222223, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.8588235294117648, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7282352941176471, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7244444444444444, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.7326315789473683, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.7944444444444445, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7536842105263157, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "name": "test_concurrent_job_scheduling", - "file": "tests/test_tapo_integration.py", - "line": 410 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7282352941176471, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "similarity": 0.7605263157894737, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.7595238095238095, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.8388888888888889, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7844444444444445, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7894736842105263, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7926315789473684, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.708421052631579, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7025210084033613, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7617647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7595238095238095, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "static/icons/generate_icons.py:main", - "name": "main", - "file": "static/icons/generate_icons.py", - "line": 57 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:main", - "name": "main", - "file": "scripts/test_protocol_generator.py", - "line": 513 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "static/icons/generate_icons.py:main", - "name": "main", - "file": "static/icons/generate_icons.py", - "line": 57 - }, - "func2": { - "key": "scripts/test_printer_setup.py:main", - "name": "main", - "file": "scripts/test_printer_setup.py", - "line": 226 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "config/settings.py:get_env_variable", - "name": "get_env_variable", - "file": "config/settings.py", - "line": 5 - }, - "func2": { - "key": "utils/settings.py:get_env_variable", - "name": "get_env_variable", - "file": "utils/settings.py", - "line": 5 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/settings.py:get_log_file", - "name": "get_log_file", - "file": "config/settings.py", - "line": 98 - }, - "func2": { - "key": "utils/settings.py:get_log_file", - "name": "get_log_file", - "file": "utils/settings.py", - "line": 98 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/settings.py:ensure_log_directories", - "name": "ensure_log_directories", - "file": "config/settings.py", - "line": 113 - }, - "func2": { - "key": "utils/settings.py:ensure_log_directories", - "name": "ensure_log_directories", - "file": "utils/settings.py", - "line": 113 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "config/settings.py:ensure_database_directory", - "name": "ensure_database_directory", - "file": "config/settings.py", - "line": 119 - }, - "func2": { - "key": "utils/utilities_collection.py:ensure_database_directory", - "name": "ensure_database_directory", - "file": "utils/utilities_collection.py", - "line": 293 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "config/settings.py:ensure_database_directory", - "name": "ensure_database_directory", - "file": "config/settings.py", - "line": 119 - }, - "func2": { - "key": "utils/settings.py:ensure_database_directory", - "name": "ensure_database_directory", - "file": "utils/settings.py", - "line": 119 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "config/settings.py:ensure_ssl_directory", - "name": "ensure_ssl_directory", - "file": "config/settings.py", - "line": 125 - }, - "func2": { - "key": "utils/settings.py:ensure_ssl_directory", - "name": "ensure_ssl_directory", - "file": "utils/settings.py", - "line": 125 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "config/settings.py:ensure_upload_directory", - "name": "ensure_upload_directory", - "file": "config/settings.py", - "line": 131 - }, - "func2": { - "key": "utils/settings.py:ensure_upload_directory", - "name": "ensure_upload_directory", - "file": "utils/settings.py", - "line": 131 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "config/settings.py:get_ssl_context", - "name": "get_ssl_context", - "file": "config/settings.py", - "line": 136 - }, - "func2": { - "key": "utils/settings.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/settings.py", - "line": 136 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "config/settings.py:get_ssl_context", - "name": "get_ssl_context", - "file": "config/settings.py", - "line": 136 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "config/settings.py:create_simple_ssl_cert", - "name": "create_simple_ssl_cert", - "file": "config/settings.py", - "line": 171 - }, - "func2": { - "key": "utils/settings.py:create_simple_ssl_cert", - "name": "create_simple_ssl_cert", - "file": "utils/settings.py", - "line": 171 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "config/__init__.py:get_config", - "name": "get_config", - "file": "config/__init__.py", - "line": 39 - }, - "func2": { - "key": "config/app_config.py:get_config_by_name", - "name": "get_config_by_name", - "file": "config/app_config.py", - "line": 171 - }, - "similarity": 0.7769230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/app_config.py:init_app", - "name": "init_app", - "file": "config/app_config.py", - "line": 137 - }, - "func2": { - "key": "legacy/app_original.py:init_app", - "name": "init_app", - "file": "legacy/app_original.py", - "line": 75 - }, - "similarity": 0.9099999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "similarity": 0.8090909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "similarity": 0.7749999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.7749999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.9249999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.82, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.7749999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.9249999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/job_scheduler.py:_run", - "name": "_run", - "file": "utils/job_scheduler.py", - "line": 266 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/core_system.py:__init__", - "name": "__init__", - "file": "utils/core_system.py", - "line": 730 - }, - "similarity": 0.7214285714285714, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.7749999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/logging_config.py:__init__", - "name": "__init__", - "file": "utils/logging_config.py", - "line": 27 - }, - "similarity": 0.7428571428571429, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:__init__", - "name": "__init__", - "file": "config/security.py", - "line": 56 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/ui_components.py:register_handler", - "name": "register_handler", - "file": "utils/ui_components.py", - "line": 204 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.9272727272727272, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.8181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.9000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/core_system.py:register_thread", - "name": "register_thread", - "file": "utils/core_system.py", - "line": 130 - }, - "similarity": 0.81, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/core_system.py:start_watchdog", - "name": "start_watchdog", - "file": "utils/core_system.py", - "line": 742 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.9272727272727272, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/job_queue_system.py:add_timer", - "name": "add_timer", - "file": "utils/job_queue_system.py", - "line": 234 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/hardware_integration.py:get_live_printer_status", - "name": "get_live_printer_status", - "file": "utils/hardware_integration.py", - "line": 1029 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7473684210526315, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/ssl_suite.py:generate_self_signed_cert", - "name": "generate_self_signed_cert", - "file": "utils/ssl_suite.py", - "line": 70 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/database_cleanup.py:register_engine", - "name": "register_engine", - "file": "utils/database_cleanup.py", - "line": 28 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.8181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/core_system.py:register_thread", - "name": "register_thread", - "file": "utils/core_system.py", - "line": 130 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.9000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "similarity": 0.9636363636363636, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/ssl_suite.py:generate_self_signed_cert", - "name": "generate_self_signed_cert", - "file": "utils/ssl_suite.py", - "line": 70 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/database_cleanup.py:register_engine", - "name": "register_engine", - "file": "utils/database_cleanup.py", - "line": 28 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.8909090909090909, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/core_system.py:save_config", - "name": "save_config", - "file": "utils/core_system.py", - "line": 528 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.9200000000000002, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7769230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/ssl_suite.py:generate_self_signed_cert", - "name": "generate_self_signed_cert", - "file": "utils/ssl_suite.py", - "line": 70 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_ordered_jobs_for_printer", - "name": "get_ordered_jobs_for_printer", - "file": "utils/drag_drop_system.py", - "line": 194 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/database_cleanup.py:register_engine", - "name": "register_engine", - "file": "utils/database_cleanup.py", - "line": 28 - }, - "similarity": 0.740909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "similarity": 0.7433333333333334, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/core_system.py:save_config", - "name": "save_config", - "file": "utils/core_system.py", - "line": 528 - }, - "similarity": 0.726923076923077, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.8909090909090909, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:main", - "name": "main", - "file": "scripts/test_protocol_generator.py", - "line": 513 - }, - "func2": { - "key": "scripts/test_printer_setup.py:main", - "name": "main", - "file": "scripts/test_printer_setup.py", - "line": 226 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "func2": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "similarity": 0.7272727272727273, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.7545454545454545, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.7545454545454545, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.8636363636363635, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.7272727272727273, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.7818181818181817, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.9727272727272727, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.8090909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.7272727272727273, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7545454545454545, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.7818181818181817, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.8636363636363635, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "func2": { - "key": "utils/core_system.py:__init__", - "name": "__init__", - "file": "utils/core_system.py", - "line": 730 - }, - "similarity": 0.740909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.7272727272727273, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7545454545454545, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:__init__", - "name": "__init__", - "file": "scripts/test_protocol_generator.py", - "line": 29 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.8636363636363635, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "similarity": 0.8105263157894738, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.8222222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7088235294117647, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7382352941176471, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7147058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.79, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.7000000000000001, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.79, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "utils/ssl_suite.py:verify_ssl_files", - "name": "verify_ssl_files", - "file": "utils/ssl_suite.py", - "line": 52 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.78, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_syntax_validation", - "name": "test_syntax_validation", - "file": "scripts/test_protocol_generator.py", - "line": 107 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "similarity": 0.8888888888888888, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.8058823529411765, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7444444444444445, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7388888888888889, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.8088235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.788888888888889, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "similarity": 0.7152941176470589, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7852941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7453781512605042, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.7050000000000001, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7549999999999999, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7852941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "utils/ssl_suite.py:verify_ssl_files", - "name": "verify_ssl_files", - "file": "utils/ssl_suite.py", - "line": 52 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7382352941176471, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "similarity": 0.7218487394957984, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7852941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.725, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_import_functionality", - "name": "test_import_functionality", - "file": "scripts/test_protocol_generator.py", - "line": 153 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "similarity": 0.7444444444444445, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.7222222222222223, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7852941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7617647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7571428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.7088235294117647, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "utils/ssl_suite.py:verify_ssl_files", - "name": "verify_ssl_files", - "file": "utils/ssl_suite.py", - "line": 52 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7147058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "similarity": 0.7321428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.8200000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_models_and_blueprints", - "name": "test_models_and_blueprints", - "file": "scripts/test_protocol_generator.py", - "line": 200 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7694444444444445, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7177777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.8444444444444446, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.765, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.765, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.765, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7000000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7533333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/drag_drop_system.py:create_upload_session", - "name": "create_upload_session", - "file": "utils/drag_drop_system.py", - "line": 61 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7088235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7315789473684211, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.765, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7088235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7367647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7700000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7383333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "similarity": 0.7838235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7282352941176471, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.8588235294117648, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_resolve_dynamic_route", - "name": "_resolve_dynamic_route", - "file": "scripts/screenshot_tool.py", - "line": 153 - }, - "similarity": 0.7323529411764707, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.78, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.78, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7047058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.765, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7266666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/drag_drop_system.py:create_upload_session", - "name": "create_upload_session", - "file": "utils/drag_drop_system.py", - "line": 61 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7433333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7027777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.713235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7433333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "similarity": 0.7152941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.756578947368421, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_resolve_dynamic_route", - "name": "_resolve_dynamic_route", - "file": "scripts/screenshot_tool.py", - "line": 153 - }, - "similarity": 0.7044117647058823, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.7588235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.7222222222222223, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7588235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7222222222222223, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/ip_security.py:is_client_ip_allowed", - "name": "is_client_ip_allowed", - "file": "utils/ip_security.py", - "line": 66 - }, - "similarity": 0.7088235294117646, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.713235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7105263157894737, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7444444444444445, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_jobs", - "name": "_check_jobs", - "file": "utils/job_scheduler.py", - "line": 374 - }, - "similarity": 0.7052631578947368, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7105263157894737, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7588235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7823529411764707, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/logging_config.py:doRollover", - "name": "doRollover", - "file": "utils/logging_config.py", - "line": 38 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7222222222222223, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.8222222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7588235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.715, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "similarity": 0.7142857142857143, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.8269230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7876923076923077, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7892307692307693, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/ssl_suite.py:verify_ssl_files", - "name": "verify_ssl_files", - "file": "utils/ssl_suite.py", - "line": 52 - }, - "similarity": 0.71, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "similarity": 0.7296703296703296, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7200000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7394736842105263, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/core_system.py:run", - "name": "run", - "file": "utils/core_system.py", - "line": 701 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7114285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7866666666666667, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7057142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7466666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7261538461538461, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.8222222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.78, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.78, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.8444444444444446, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.8444444444444446, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7894736842105263, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7523809523809524, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7894736842105263, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "similarity": 0.7026315789473685, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.8222222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7473684210526315, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7523809523809524, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.8444444444444446, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8105263157894738, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8222222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7823529411764707, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7222222222222223, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.8105263157894738, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8105263157894738, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:save_results", - "name": "save_results", - "file": "scripts/test_protocol_generator.py", - "line": 442 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.77, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "scripts/screenshot_tool.py:set_resolution", - "name": "set_resolution", - "file": "scripts/screenshot_tool.py", - "line": 297 - }, - "similarity": 0.740909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/development_tools.py:run_test", - "name": "run_test", - "file": "utils/development_tools.py", - "line": 77 - }, - "similarity": 0.711111111111111, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.7599999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.8181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/hardware_integration.py:get_live_printer_status", - "name": "get_live_printer_status", - "file": "utils/hardware_integration.py", - "line": 1029 - }, - "similarity": 0.726923076923077, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.8181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/test_protocol_generator.py:run_all_tests", - "name": "run_all_tests", - "file": "scripts/test_protocol_generator.py", - "line": 471 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.9272727272727272, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.775, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.775, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "func2": { - "key": "utils/core_system.py:__init__", - "name": "__init__", - "file": "utils/core_system.py", - "line": 730 - }, - "similarity": 0.8714285714285713, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "func2": { - "key": "utils/logging_config.py:__init__", - "name": "__init__", - "file": "utils/logging_config.py", - "line": 27 - }, - "similarity": 0.7375, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:__init__", - "name": "__init__", - "file": "scripts/screenshot_tool.py", - "line": 316 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_resolve_dynamic_route", - "name": "_resolve_dynamic_route", - "file": "scripts/screenshot_tool.py", - "line": 153 - }, - "similarity": 0.7388888888888889, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7517647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.7000000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.7517647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7000000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7088235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7177777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7027777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7047058823529412, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/drag_drop_system.py:create_upload_session", - "name": "create_upload_session", - "file": "utils/drag_drop_system.py", - "line": 61 - }, - "similarity": 0.7323529411764707, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7323529411764707, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7177777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7000000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7472222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7602941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_resolve_dynamic_route", - "name": "_resolve_dynamic_route", - "file": "scripts/screenshot_tool.py", - "line": 153 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_determine_route_category", - "name": "_determine_route_category", - "file": "scripts/screenshot_tool.py", - "line": 501 - }, - "similarity": 0.7558823529411766, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_resolve_dynamic_route", - "name": "_resolve_dynamic_route", - "file": "scripts/screenshot_tool.py", - "line": 153 - }, - "func2": { - "key": "utils/drag_drop_system.py:create_upload_session", - "name": "create_upload_session", - "file": "utils/drag_drop_system.py", - "line": 61 - }, - "similarity": 0.7058823529411764, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_categorize_route", - "name": "_categorize_route", - "file": "scripts/screenshot_tool.py", - "line": 197 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_determine_route_category", - "name": "_determine_route_category", - "file": "scripts/screenshot_tool.py", - "line": 501 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_categorize_route", - "name": "_categorize_route", - "file": "scripts/screenshot_tool.py", - "line": 197 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_categorize_route", - "name": "_categorize_route", - "file": "scripts/screenshot_tool.py", - "line": 197 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.8222222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/ssl_suite.py:generate_self_signed_cert", - "name": "generate_self_signed_cert", - "file": "utils/ssl_suite.py", - "line": 70 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "scripts/screenshot_tool.py:set_resolution", - "name": "set_resolution", - "file": "scripts/screenshot_tool.py", - "line": 297 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7057142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.8105263157894738, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7473684210526315, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/core_system.py:windows_bind_with_reuse", - "name": "windows_bind_with_reuse", - "file": "utils/core_system.py", - "line": 188 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7269230769230769, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "func2": { - "key": "utils/job_scheduler.py:start", - "name": "start", - "file": "utils/job_scheduler.py", - "line": 216 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7114285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "func2": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "similarity": 0.7685714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7266666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "func2": { - "key": "utils/job_scheduler.py:_run", - "name": "_run", - "file": "utils/job_scheduler.py", - "line": 266 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7685714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:set_resolution", - "name": "set_resolution", - "file": "scripts/screenshot_tool.py", - "line": 297 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:set_resolution", - "name": "set_resolution", - "file": "scripts/screenshot_tool.py", - "line": 297 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:set_resolution", - "name": "set_resolution", - "file": "scripts/screenshot_tool.py", - "line": 297 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:set_resolution", - "name": "set_resolution", - "file": "scripts/screenshot_tool.py", - "line": 297 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:close", - "name": "close", - "file": "scripts/screenshot_tool.py", - "line": 304 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "func2": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7833333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7961538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7533333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7114285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7085714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.7246153846153847, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7114285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7852941176470588, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329 - }, - "func2": { - "key": "utils/core_system.py:run", - "name": "run", - "file": "utils/core_system.py", - "line": 701 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/data_management.py:_move_to_trash_windows", - "name": "_move_to_trash_windows", - "file": "utils/data_management.py", - "line": 202 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/data_management.py:_move_to_trash_unix", - "name": "_move_to_trash_unix", - "file": "utils/data_management.py", - "line": 225 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/drag_drop_system.py:_calculate_completion_time", - "name": "_calculate_completion_time", - "file": "utils/drag_drop_system.py", - "line": 381 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.78, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/ssl_suite.py:generate_self_signed_cert", - "name": "generate_self_signed_cert", - "file": "utils/ssl_suite.py", - "line": 70 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "similarity": 0.7088235294117646, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7052631578947368, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7052631578947368, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7473684210526315, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_determine_route_category", - "name": "_determine_route_category", - "file": "scripts/screenshot_tool.py", - "line": 501 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_determine_route_category", - "name": "_determine_route_category", - "file": "scripts/screenshot_tool.py", - "line": 501 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_determine_route_category", - "name": "_determine_route_category", - "file": "scripts/screenshot_tool.py", - "line": 501 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_determine_route_category", - "name": "_determine_route_category", - "file": "scripts/screenshot_tool.py", - "line": 501 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_determine_route_category", - "name": "_determine_route_category", - "file": "scripts/screenshot_tool.py", - "line": 501 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_determine_route_category", - "name": "_determine_route_category", - "file": "scripts/screenshot_tool.py", - "line": 501 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.77, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_determine_route_category", - "name": "_determine_route_category", - "file": "scripts/screenshot_tool.py", - "line": 501 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7088235294117646, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_determine_route_category", - "name": "_determine_route_category", - "file": "scripts/screenshot_tool.py", - "line": 501 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_determine_route_category", - "name": "_determine_route_category", - "file": "scripts/screenshot_tool.py", - "line": 501 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "func2": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "similarity": 0.71, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7253846153846153, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.7904761904761906, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.8342857142857144, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_session_progress", - "name": "get_session_progress", - "file": "utils/drag_drop_system.py", - "line": 93 - }, - "similarity": 0.740909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "func2": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7453781512605042, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7296703296703296, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7163461538461539, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "scripts/migrate_database.py:backup_database", - "name": "backup_database", - "file": "scripts/migrate_database.py", - "line": 22 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:job_owner_required", - "name": "job_owner_required", - "file": "blueprints/jobs.py", - "line": 22 - }, - "func2": { - "key": "blueprints/uploads.py:admin_required", - "name": "admin_required", - "file": "blueprints/uploads.py", - "line": 26 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:job_owner_required", - "name": "job_owner_required", - "file": "blueprints/jobs.py", - "line": 22 - }, - "func2": { - "key": "blueprints/admin_unified.py:admin_required", - "name": "admin_required", - "file": "blueprints/admin_unified.py", - "line": 54 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:job_owner_required", - "name": "job_owner_required", - "file": "blueprints/jobs.py", - "line": 22 - }, - "func2": { - "key": "blueprints/user_management.py:users_admin_required", - "name": "users_admin_required", - "file": "blueprints/user_management.py", - "line": 44 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:job_owner_required", - "name": "job_owner_required", - "file": "blueprints/jobs.py", - "line": 22 - }, - "func2": { - "key": "utils/permissions.py:admin_required", - "name": "admin_required", - "file": "utils/permissions.py", - "line": 17 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:job_owner_required", - "name": "job_owner_required", - "file": "blueprints/jobs.py", - "line": 22 - }, - "func2": { - "key": "utils/permissions.py:approver_required", - "name": "approver_required", - "file": "utils/permissions.py", - "line": 189 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:job_owner_required", - "name": "job_owner_required", - "file": "blueprints/jobs.py", - "line": 22 - }, - "func2": { - "key": "legacy/app_original.py:job_owner_required", - "name": "job_owner_required", - "file": "legacy/app_original.py", - "line": 787 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:job_owner_required", - "name": "job_owner_required", - "file": "blueprints/jobs.py", - "line": 22 - }, - "func2": { - "key": "legacy/app_original.py:admin_required", - "name": "admin_required", - "file": "legacy/app_original.py", - "line": 809 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:check_printer_status", - "name": "check_printer_status", - "file": "blueprints/jobs.py", - "line": 51 - }, - "func2": { - "key": "legacy/app_original.py:check_printer_status", - "name": "check_printer_status", - "file": "legacy/app_original.py", - "line": 2190 - }, - "similarity": 0.8799999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:get_jobs", - "name": "get_jobs", - "file": "blueprints/jobs.py", - "line": 59 - }, - "func2": { - "key": "legacy/app_original.py:get_jobs", - "name": "get_jobs", - "file": "legacy/app_original.py", - "line": 4409 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:get_job", - "name": "get_job", - "file": "blueprints/jobs.py", - "line": 127 - }, - "func2": { - "key": "blueprints/jobs.py:update_job", - "name": "update_job", - "file": "blueprints/jobs.py", - "line": 312 - }, - "similarity": 0.8181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:get_job", - "name": "get_job", - "file": "blueprints/jobs.py", - "line": 127 - }, - "func2": { - "key": "blueprints/jobs.py:delete_job", - "name": "delete_job", - "file": "blueprints/jobs.py", - "line": 385 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:get_job", - "name": "get_job", - "file": "blueprints/jobs.py", - "line": 127 - }, - "func2": { - "key": "blueprints/jobs.py:start_job", - "name": "start_job", - "file": "blueprints/jobs.py", - "line": 571 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:get_job", - "name": "get_job", - "file": "blueprints/jobs.py", - "line": 127 - }, - "func2": { - "key": "blueprints/jobs.py:pause_job", - "name": "pause_job", - "file": "blueprints/jobs.py", - "line": 625 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:get_job", - "name": "get_job", - "file": "blueprints/jobs.py", - "line": 127 - }, - "func2": { - "key": "blueprints/jobs.py:resume_job", - "name": "resume_job", - "file": "blueprints/jobs.py", - "line": 659 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:get_job", - "name": "get_job", - "file": "blueprints/jobs.py", - "line": 127 - }, - "func2": { - "key": "blueprints/jobs.py:finish_job", - "name": "finish_job", - "file": "blueprints/jobs.py", - "line": 692 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:get_job", - "name": "get_job", - "file": "blueprints/jobs.py", - "line": 127 - }, - "func2": { - "key": "blueprints/guest.py:guest_job_status", - "name": "guest_job_status", - "file": "blueprints/guest.py", - "line": 131 - }, - "similarity": 0.78, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:get_job", - "name": "get_job", - "file": "blueprints/jobs.py", - "line": 127 - }, - "func2": { - "key": "blueprints/guest.py:api_get_guest_job_status", - "name": "api_get_guest_job_status", - "file": "blueprints/guest.py", - "line": 496 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:get_job", - "name": "get_job", - "file": "blueprints/jobs.py", - "line": 127 - }, - "func2": { - "key": "legacy/app_original.py:get_job_detail", - "name": "get_job_detail", - "file": "legacy/app_original.py", - "line": 4349 - }, - "similarity": 0.7545454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:get_job", - "name": "get_job", - "file": "blueprints/jobs.py", - "line": 127 - }, - "func2": { - "key": "legacy/app_original.py:delete_job", - "name": "delete_job", - "file": "legacy/app_original.py", - "line": 4378 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:get_job", - "name": "get_job", - "file": "blueprints/jobs.py", - "line": 127 - }, - "func2": { - "key": "legacy/app_original.py:update_job", - "name": "update_job", - "file": "legacy/app_original.py", - "line": 4564 - }, - "similarity": 0.7181818181818183, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:update_job", - "name": "update_job", - "file": "blueprints/jobs.py", - "line": 312 - }, - "func2": { - "key": "blueprints/jobs.py:delete_job", - "name": "delete_job", - "file": "blueprints/jobs.py", - "line": 385 - }, - "similarity": 0.7545454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:update_job", - "name": "update_job", - "file": "blueprints/jobs.py", - "line": 312 - }, - "func2": { - "key": "blueprints/jobs.py:start_job", - "name": "start_job", - "file": "blueprints/jobs.py", - "line": 571 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:update_job", - "name": "update_job", - "file": "blueprints/jobs.py", - "line": 312 - }, - "func2": { - "key": "blueprints/jobs.py:pause_job", - "name": "pause_job", - "file": "blueprints/jobs.py", - "line": 625 - }, - "similarity": 0.8909090909090909, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:update_job", - "name": "update_job", - "file": "blueprints/jobs.py", - "line": 312 - }, - "func2": { - "key": "blueprints/jobs.py:resume_job", - "name": "resume_job", - "file": "blueprints/jobs.py", - "line": 659 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:update_job", - "name": "update_job", - "file": "blueprints/jobs.py", - "line": 312 - }, - "func2": { - "key": "blueprints/jobs.py:finish_job", - "name": "finish_job", - "file": "blueprints/jobs.py", - "line": 692 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:update_job", - "name": "update_job", - "file": "blueprints/jobs.py", - "line": 312 - }, - "func2": { - "key": "blueprints/guest.py:guest_job_status", - "name": "guest_job_status", - "file": "blueprints/guest.py", - "line": 131 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:update_job", - "name": "update_job", - "file": "blueprints/jobs.py", - "line": 312 - }, - "func2": { - "key": "blueprints/guest.py:api_get_guest_job_status", - "name": "api_get_guest_job_status", - "file": "blueprints/guest.py", - "line": 496 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:update_job", - "name": "update_job", - "file": "blueprints/jobs.py", - "line": 312 - }, - "func2": { - "key": "legacy/app_original.py:get_job_detail", - "name": "get_job_detail", - "file": "legacy/app_original.py", - "line": 4349 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:update_job", - "name": "update_job", - "file": "blueprints/jobs.py", - "line": 312 - }, - "func2": { - "key": "legacy/app_original.py:delete_job", - "name": "delete_job", - "file": "legacy/app_original.py", - "line": 4378 - }, - "similarity": 0.7545454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:update_job", - "name": "update_job", - "file": "blueprints/jobs.py", - "line": 312 - }, - "func2": { - "key": "legacy/app_original.py:update_job", - "name": "update_job", - "file": "legacy/app_original.py", - "line": 4564 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:delete_job", - "name": "delete_job", - "file": "blueprints/jobs.py", - "line": 385 - }, - "func2": { - "key": "blueprints/guest.py:guest_job_status", - "name": "guest_job_status", - "file": "blueprints/guest.py", - "line": 131 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:delete_job", - "name": "delete_job", - "file": "blueprints/jobs.py", - "line": 385 - }, - "func2": { - "key": "legacy/app_original.py:get_job_detail", - "name": "get_job_detail", - "file": "legacy/app_original.py", - "line": 4349 - }, - "similarity": 0.8909090909090909, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:delete_job", - "name": "delete_job", - "file": "blueprints/jobs.py", - "line": 385 - }, - "func2": { - "key": "legacy/app_original.py:delete_job", - "name": "delete_job", - "file": "legacy/app_original.py", - "line": 4378 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:delete_job", - "name": "delete_job", - "file": "blueprints/jobs.py", - "line": 385 - }, - "func2": { - "key": "legacy/app_original.py:update_job", - "name": "update_job", - "file": "legacy/app_original.py", - "line": 4564 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:get_current_job", - "name": "get_current_job", - "file": "blueprints/jobs.py", - "line": 496 - }, - "func2": { - "key": "legacy/app_original.py:get_current_job", - "name": "get_current_job", - "file": "legacy/app_original.py", - "line": 4322 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:start_job", - "name": "start_job", - "file": "blueprints/jobs.py", - "line": 571 - }, - "func2": { - "key": "blueprints/jobs.py:pause_job", - "name": "pause_job", - "file": "blueprints/jobs.py", - "line": 625 - }, - "similarity": 0.8181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:start_job", - "name": "start_job", - "file": "blueprints/jobs.py", - "line": 571 - }, - "func2": { - "key": "blueprints/jobs.py:resume_job", - "name": "resume_job", - "file": "blueprints/jobs.py", - "line": 659 - }, - "similarity": 0.8181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:start_job", - "name": "start_job", - "file": "blueprints/jobs.py", - "line": 571 - }, - "func2": { - "key": "blueprints/jobs.py:finish_job", - "name": "finish_job", - "file": "blueprints/jobs.py", - "line": 692 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:start_job", - "name": "start_job", - "file": "blueprints/jobs.py", - "line": 571 - }, - "func2": { - "key": "blueprints/guest.py:guest_job_status", - "name": "guest_job_status", - "file": "blueprints/guest.py", - "line": 131 - }, - "similarity": 0.7545454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:start_job", - "name": "start_job", - "file": "blueprints/jobs.py", - "line": 571 - }, - "func2": { - "key": "blueprints/guest.py:api_get_guest_job_status", - "name": "api_get_guest_job_status", - "file": "blueprints/guest.py", - "line": 496 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:start_job", - "name": "start_job", - "file": "blueprints/jobs.py", - "line": 571 - }, - "func2": { - "key": "legacy/app_original.py:update_job", - "name": "update_job", - "file": "legacy/app_original.py", - "line": 4564 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:pause_job", - "name": "pause_job", - "file": "blueprints/jobs.py", - "line": 625 - }, - "func2": { - "key": "blueprints/jobs.py:resume_job", - "name": "resume_job", - "file": "blueprints/jobs.py", - "line": 659 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:pause_job", - "name": "pause_job", - "file": "blueprints/jobs.py", - "line": 625 - }, - "func2": { - "key": "blueprints/jobs.py:finish_job", - "name": "finish_job", - "file": "blueprints/jobs.py", - "line": 692 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:pause_job", - "name": "pause_job", - "file": "blueprints/jobs.py", - "line": 625 - }, - "func2": { - "key": "blueprints/guest.py:guest_job_status", - "name": "guest_job_status", - "file": "blueprints/guest.py", - "line": 131 - }, - "similarity": 0.790909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:pause_job", - "name": "pause_job", - "file": "blueprints/jobs.py", - "line": 625 - }, - "func2": { - "key": "blueprints/guest.py:api_get_guest_job_status", - "name": "api_get_guest_job_status", - "file": "blueprints/guest.py", - "line": 496 - }, - "similarity": 0.9000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:pause_job", - "name": "pause_job", - "file": "blueprints/jobs.py", - "line": 625 - }, - "func2": { - "key": "legacy/app_original.py:update_job", - "name": "update_job", - "file": "legacy/app_original.py", - "line": 4564 - }, - "similarity": 0.790909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:resume_job", - "name": "resume_job", - "file": "blueprints/jobs.py", - "line": 659 - }, - "func2": { - "key": "blueprints/jobs.py:finish_job", - "name": "finish_job", - "file": "blueprints/jobs.py", - "line": 692 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:resume_job", - "name": "resume_job", - "file": "blueprints/jobs.py", - "line": 659 - }, - "func2": { - "key": "blueprints/guest.py:guest_job_status", - "name": "guest_job_status", - "file": "blueprints/guest.py", - "line": 131 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:resume_job", - "name": "resume_job", - "file": "blueprints/jobs.py", - "line": 659 - }, - "func2": { - "key": "blueprints/guest.py:api_get_guest_job_status", - "name": "api_get_guest_job_status", - "file": "blueprints/guest.py", - "line": 496 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:finish_job", - "name": "finish_job", - "file": "blueprints/jobs.py", - "line": 692 - }, - "func2": { - "key": "blueprints/guest.py:api_get_guest_job_status", - "name": "api_get_guest_job_status", - "file": "blueprints/guest.py", - "line": 496 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/jobs.py:finish_job", - "name": "finish_job", - "file": "blueprints/jobs.py", - "line": 692 - }, - "func2": { - "key": "utils/job_queue_system.py:finish_job_execution", - "name": "finish_job_execution", - "file": "utils/job_queue_system.py", - "line": 400 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_job_status", - "name": "guest_job_status", - "file": "blueprints/guest.py", - "line": 131 - }, - "func2": { - "key": "blueprints/guest.py:api_get_guest_job_status", - "name": "api_get_guest_job_status", - "file": "blueprints/guest.py", - "line": 496 - }, - "similarity": 0.8333333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_job_status", - "name": "guest_job_status", - "file": "blueprints/guest.py", - "line": 131 - }, - "func2": { - "key": "legacy/app_original.py:get_job_detail", - "name": "get_job_detail", - "file": "legacy/app_original.py", - "line": 4349 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_job_status", - "name": "guest_job_status", - "file": "blueprints/guest.py", - "line": 131 - }, - "func2": { - "key": "legacy/app_original.py:delete_job", - "name": "delete_job", - "file": "legacy/app_original.py", - "line": 4378 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_job_status", - "name": "guest_job_status", - "file": "blueprints/guest.py", - "line": 131 - }, - "func2": { - "key": "legacy/app_original.py:update_job", - "name": "update_job", - "file": "legacy/app_original.py", - "line": 4564 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_request_status", - "name": "guest_request_status", - "file": "blueprints/guest.py", - "line": 215 - }, - "func2": { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477 - }, - "similarity": 0.8272727272727274, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_request_status", - "name": "guest_request_status", - "file": "blueprints/guest.py", - "line": 215 - }, - "func2": { - "key": "blueprints/guest.py:api_get_request_details", - "name": "api_get_request_details", - "file": "blueprints/guest.py", - "line": 695 - }, - "similarity": 0.7769230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_request_status", - "name": "guest_request_status", - "file": "blueprints/guest.py", - "line": 215 - }, - "func2": { - "key": "blueprints/guest.py:api_update_request", - "name": "api_update_request", - "file": "blueprints/guest.py", - "line": 734 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_request_status", - "name": "guest_request_status", - "file": "blueprints/guest.py", - "line": 215 - }, - "func2": { - "key": "blueprints/guest.py:api_delete_request", - "name": "api_delete_request", - "file": "blueprints/guest.py", - "line": 783 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_request_status", - "name": "guest_request_status", - "file": "blueprints/guest.py", - "line": 215 - }, - "func2": { - "key": "blueprints/guest.py:api_approve_request", - "name": "api_approve_request", - "file": "blueprints/guest.py", - "line": 823 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_request_status", - "name": "guest_request_status", - "file": "blueprints/guest.py", - "line": 215 - }, - "func2": { - "key": "blueprints/guest.py:api_deny_request", - "name": "api_deny_request", - "file": "blueprints/guest.py", - "line": 918 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_request_status", - "name": "guest_request_status", - "file": "blueprints/guest.py", - "line": 215 - }, - "func2": { - "key": "blueprints/guest.py:api_get_request_otp", - "name": "api_get_request_otp", - "file": "blueprints/guest.py", - "line": 960 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_request_status", - "name": "guest_request_status", - "file": "blueprints/guest.py", - "line": 215 - }, - "func2": { - "key": "blueprints/admin_unified.py:generate_guest_otp_api", - "name": "generate_guest_otp_api", - "file": "blueprints/admin_unified.py", - "line": 1677 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_request_status", - "name": "guest_request_status", - "file": "blueprints/guest.py", - "line": 215 - }, - "func2": { - "key": "blueprints/admin_unified.py:print_guest_credentials_api", - "name": "print_guest_credentials_api", - "file": "blueprints/admin_unified.py", - "line": 1712 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_request_status", - "name": "guest_request_status", - "file": "blueprints/guest.py", - "line": 215 - }, - "func2": { - "key": "blueprints/admin_unified.py:approve_guest_request_api", - "name": "approve_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1814 - }, - "similarity": 0.7769230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_request_status", - "name": "guest_request_status", - "file": "blueprints/guest.py", - "line": 215 - }, - "func2": { - "key": "blueprints/admin_unified.py:reject_guest_request_api", - "name": "reject_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1873 - }, - "similarity": 0.7769230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_request_status", - "name": "guest_request_status", - "file": "blueprints/guest.py", - "line": 215 - }, - "func2": { - "key": "legacy/app_original.py:approve_guest_request", - "name": "approve_guest_request", - "file": "legacy/app_original.py", - "line": 5179 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_request_status", - "name": "guest_request_status", - "file": "blueprints/guest.py", - "line": 215 - }, - "func2": { - "key": "legacy/app_original.py:reject_guest_request", - "name": "reject_guest_request", - "file": "legacy/app_original.py", - "line": 5259 - }, - "similarity": 0.790909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_request_status", - "name": "guest_request_status", - "file": "blueprints/guest.py", - "line": 215 - }, - "func2": { - "key": "legacy/app_original.py:delete_guest_request", - "name": "delete_guest_request", - "file": "legacy/app_original.py", - "line": 5326 - }, - "similarity": 0.790909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:guest_request_status", - "name": "guest_request_status", - "file": "blueprints/guest.py", - "line": 215 - }, - "func2": { - "key": "legacy/app_original.py:get_guest_request_detail", - "name": "get_guest_request_detail", - "file": "legacy/app_original.py", - "line": 5370 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477 - }, - "func2": { - "key": "blueprints/guest.py:api_get_request_details", - "name": "api_get_request_details", - "file": "blueprints/guest.py", - "line": 695 - }, - "similarity": 0.9384615384615385, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477 - }, - "func2": { - "key": "blueprints/guest.py:api_update_request", - "name": "api_update_request", - "file": "blueprints/guest.py", - "line": 734 - }, - "similarity": 0.9333333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477 - }, - "func2": { - "key": "blueprints/guest.py:api_delete_request", - "name": "api_delete_request", - "file": "blueprints/guest.py", - "line": 783 - }, - "similarity": 0.9076923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477 - }, - "func2": { - "key": "blueprints/guest.py:api_approve_request", - "name": "api_approve_request", - "file": "blueprints/guest.py", - "line": 823 - }, - "similarity": 0.9076923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477 - }, - "func2": { - "key": "blueprints/guest.py:api_deny_request", - "name": "api_deny_request", - "file": "blueprints/guest.py", - "line": 918 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477 - }, - "func2": { - "key": "blueprints/guest.py:api_get_request_otp", - "name": "api_get_request_otp", - "file": "blueprints/guest.py", - "line": 960 - }, - "similarity": 0.9666666666666668, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477 - }, - "func2": { - "key": "blueprints/admin_unified.py:get_guest_requests_api", - "name": "get_guest_requests_api", - "file": "blueprints/admin_unified.py", - "line": 1620 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477 - }, - "func2": { - "key": "blueprints/admin_unified.py:generate_guest_otp_api", - "name": "generate_guest_otp_api", - "file": "blueprints/admin_unified.py", - "line": 1677 - }, - "similarity": 0.9076923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477 - }, - "func2": { - "key": "blueprints/admin_unified.py:print_guest_credentials_api", - "name": "print_guest_credentials_api", - "file": "blueprints/admin_unified.py", - "line": 1712 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477 - }, - "func2": { - "key": "blueprints/admin_unified.py:approve_guest_request_api", - "name": "approve_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1814 - }, - "similarity": 0.9384615384615385, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477 - }, - "func2": { - "key": "blueprints/admin_unified.py:reject_guest_request_api", - "name": "reject_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1873 - }, - "similarity": 0.9384615384615385, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477 - }, - "func2": { - "key": "legacy/app_original.py:approve_guest_request", - "name": "approve_guest_request", - "file": "legacy/app_original.py", - "line": 5179 - }, - "similarity": 0.9076923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477 - }, - "func2": { - "key": "legacy/app_original.py:reject_guest_request", - "name": "reject_guest_request", - "file": "legacy/app_original.py", - "line": 5259 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477 - }, - "func2": { - "key": "legacy/app_original.py:delete_guest_request", - "name": "delete_guest_request", - "file": "legacy/app_original.py", - "line": 5326 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477 - }, - "func2": { - "key": "legacy/app_original.py:get_guest_request_detail", - "name": "get_guest_request_detail", - "file": "legacy/app_original.py", - "line": 5370 - }, - "similarity": 0.9076923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_job_status", - "name": "api_get_guest_job_status", - "file": "blueprints/guest.py", - "line": 496 - }, - "func2": { - "key": "utils/job_queue_system.py:start_job_execution", - "name": "start_job_execution", - "file": "utils/job_queue_system.py", - "line": 355 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_job_status", - "name": "api_get_guest_job_status", - "file": "blueprints/guest.py", - "line": 496 - }, - "func2": { - "key": "legacy/app_original.py:get_job_detail", - "name": "get_job_detail", - "file": "legacy/app_original.py", - "line": 4349 - }, - "similarity": 0.7571428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_guest_job_status", - "name": "api_get_guest_job_status", - "file": "blueprints/guest.py", - "line": 496 - }, - "func2": { - "key": "legacy/app_original.py:update_job", - "name": "update_job", - "file": "legacy/app_original.py", - "line": 4564 - }, - "similarity": 0.7769230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_mark_notification_read", - "name": "api_mark_notification_read", - "file": "blueprints/guest.py", - "line": 601 - }, - "func2": { - "key": "blueprints/api.py:mark_notification_read", - "name": "mark_notification_read", - "file": "blueprints/api.py", - "line": 75 - }, - "similarity": 0.9714285714285715, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_details", - "name": "api_get_request_details", - "file": "blueprints/guest.py", - "line": 695 - }, - "func2": { - "key": "blueprints/guest.py:api_update_request", - "name": "api_update_request", - "file": "blueprints/guest.py", - "line": 734 - }, - "similarity": 0.9384615384615385, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_details", - "name": "api_get_request_details", - "file": "blueprints/guest.py", - "line": 695 - }, - "func2": { - "key": "blueprints/guest.py:api_delete_request", - "name": "api_delete_request", - "file": "blueprints/guest.py", - "line": 783 - }, - "similarity": 0.9692307692307693, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_details", - "name": "api_get_request_details", - "file": "blueprints/guest.py", - "line": 695 - }, - "func2": { - "key": "blueprints/guest.py:api_approve_request", - "name": "api_approve_request", - "file": "blueprints/guest.py", - "line": 823 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_details", - "name": "api_get_request_details", - "file": "blueprints/guest.py", - "line": 695 - }, - "func2": { - "key": "blueprints/guest.py:api_deny_request", - "name": "api_deny_request", - "file": "blueprints/guest.py", - "line": 918 - }, - "similarity": 0.8933333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_details", - "name": "api_get_request_details", - "file": "blueprints/guest.py", - "line": 695 - }, - "func2": { - "key": "blueprints/guest.py:api_get_request_otp", - "name": "api_get_request_otp", - "file": "blueprints/guest.py", - "line": 960 - }, - "similarity": 0.9142857142857144, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_details", - "name": "api_get_request_details", - "file": "blueprints/guest.py", - "line": 695 - }, - "func2": { - "key": "blueprints/admin_unified.py:generate_guest_otp_api", - "name": "generate_guest_otp_api", - "file": "blueprints/admin_unified.py", - "line": 1677 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_details", - "name": "api_get_request_details", - "file": "blueprints/guest.py", - "line": 695 - }, - "func2": { - "key": "blueprints/admin_unified.py:print_guest_credentials_api", - "name": "print_guest_credentials_api", - "file": "blueprints/admin_unified.py", - "line": 1712 - }, - "similarity": 0.9200000000000002, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_details", - "name": "api_get_request_details", - "file": "blueprints/guest.py", - "line": 695 - }, - "func2": { - "key": "blueprints/admin_unified.py:approve_guest_request_api", - "name": "approve_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1814 - }, - "similarity": 0.8933333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_details", - "name": "api_get_request_details", - "file": "blueprints/guest.py", - "line": 695 - }, - "func2": { - "key": "blueprints/admin_unified.py:reject_guest_request_api", - "name": "reject_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1873 - }, - "similarity": 0.8933333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_details", - "name": "api_get_request_details", - "file": "blueprints/guest.py", - "line": 695 - }, - "func2": { - "key": "legacy/app_original.py:approve_guest_request", - "name": "approve_guest_request", - "file": "legacy/app_original.py", - "line": 5179 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_details", - "name": "api_get_request_details", - "file": "blueprints/guest.py", - "line": 695 - }, - "func2": { - "key": "legacy/app_original.py:reject_guest_request", - "name": "reject_guest_request", - "file": "legacy/app_original.py", - "line": 5259 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_details", - "name": "api_get_request_details", - "file": "blueprints/guest.py", - "line": 695 - }, - "func2": { - "key": "legacy/app_original.py:delete_guest_request", - "name": "delete_guest_request", - "file": "legacy/app_original.py", - "line": 5326 - }, - "similarity": 0.9076923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_details", - "name": "api_get_request_details", - "file": "blueprints/guest.py", - "line": 695 - }, - "func2": { - "key": "legacy/app_original.py:get_guest_request_detail", - "name": "get_guest_request_detail", - "file": "legacy/app_original.py", - "line": 5370 - }, - "similarity": 0.9692307692307693, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_update_request", - "name": "api_update_request", - "file": "blueprints/guest.py", - "line": 734 - }, - "func2": { - "key": "blueprints/guest.py:api_delete_request", - "name": "api_delete_request", - "file": "blueprints/guest.py", - "line": 783 - }, - "similarity": 0.9666666666666668, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_update_request", - "name": "api_update_request", - "file": "blueprints/guest.py", - "line": 734 - }, - "func2": { - "key": "blueprints/guest.py:api_approve_request", - "name": "api_approve_request", - "file": "blueprints/guest.py", - "line": 823 - }, - "similarity": 0.9076923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_update_request", - "name": "api_update_request", - "file": "blueprints/guest.py", - "line": 734 - }, - "func2": { - "key": "blueprints/guest.py:api_deny_request", - "name": "api_deny_request", - "file": "blueprints/guest.py", - "line": 918 - }, - "similarity": 0.9384615384615385, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_update_request", - "name": "api_update_request", - "file": "blueprints/guest.py", - "line": 734 - }, - "func2": { - "key": "blueprints/guest.py:api_get_request_otp", - "name": "api_get_request_otp", - "file": "blueprints/guest.py", - "line": 960 - }, - "similarity": 0.9076923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_update_request", - "name": "api_update_request", - "file": "blueprints/guest.py", - "line": 734 - }, - "func2": { - "key": "blueprints/admin_unified.py:generate_guest_otp_api", - "name": "generate_guest_otp_api", - "file": "blueprints/admin_unified.py", - "line": 1677 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_update_request", - "name": "api_update_request", - "file": "blueprints/guest.py", - "line": 734 - }, - "func2": { - "key": "blueprints/admin_unified.py:print_guest_credentials_api", - "name": "print_guest_credentials_api", - "file": "blueprints/admin_unified.py", - "line": 1712 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_update_request", - "name": "api_update_request", - "file": "blueprints/guest.py", - "line": 734 - }, - "func2": { - "key": "blueprints/admin_unified.py:approve_guest_request_api", - "name": "approve_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1814 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_update_request", - "name": "api_update_request", - "file": "blueprints/guest.py", - "line": 734 - }, - "func2": { - "key": "blueprints/admin_unified.py:reject_guest_request_api", - "name": "reject_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1873 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_update_request", - "name": "api_update_request", - "file": "blueprints/guest.py", - "line": 734 - }, - "func2": { - "key": "legacy/app_original.py:approve_guest_request", - "name": "approve_guest_request", - "file": "legacy/app_original.py", - "line": 5179 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_update_request", - "name": "api_update_request", - "file": "blueprints/guest.py", - "line": 734 - }, - "func2": { - "key": "legacy/app_original.py:reject_guest_request", - "name": "reject_guest_request", - "file": "legacy/app_original.py", - "line": 5259 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_update_request", - "name": "api_update_request", - "file": "blueprints/guest.py", - "line": 734 - }, - "func2": { - "key": "legacy/app_original.py:delete_guest_request", - "name": "delete_guest_request", - "file": "legacy/app_original.py", - "line": 5326 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_update_request", - "name": "api_update_request", - "file": "blueprints/guest.py", - "line": 734 - }, - "func2": { - "key": "legacy/app_original.py:get_guest_request_detail", - "name": "get_guest_request_detail", - "file": "legacy/app_original.py", - "line": 5370 - }, - "similarity": 0.9076923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_delete_request", - "name": "api_delete_request", - "file": "blueprints/guest.py", - "line": 783 - }, - "func2": { - "key": "blueprints/guest.py:api_approve_request", - "name": "api_approve_request", - "file": "blueprints/guest.py", - "line": 823 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_delete_request", - "name": "api_delete_request", - "file": "blueprints/guest.py", - "line": 783 - }, - "func2": { - "key": "blueprints/guest.py:api_deny_request", - "name": "api_deny_request", - "file": "blueprints/guest.py", - "line": 918 - }, - "similarity": 0.9142857142857144, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_delete_request", - "name": "api_delete_request", - "file": "blueprints/guest.py", - "line": 783 - }, - "func2": { - "key": "blueprints/guest.py:api_get_request_otp", - "name": "api_get_request_otp", - "file": "blueprints/guest.py", - "line": 960 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_delete_request", - "name": "api_delete_request", - "file": "blueprints/guest.py", - "line": 783 - }, - "func2": { - "key": "blueprints/admin_unified.py:generate_guest_otp_api", - "name": "generate_guest_otp_api", - "file": "blueprints/admin_unified.py", - "line": 1677 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_delete_request", - "name": "api_delete_request", - "file": "blueprints/guest.py", - "line": 783 - }, - "func2": { - "key": "blueprints/admin_unified.py:print_guest_credentials_api", - "name": "print_guest_credentials_api", - "file": "blueprints/admin_unified.py", - "line": 1712 - }, - "similarity": 0.8933333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_delete_request", - "name": "api_delete_request", - "file": "blueprints/guest.py", - "line": 783 - }, - "func2": { - "key": "blueprints/admin_unified.py:approve_guest_request_api", - "name": "approve_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1814 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_delete_request", - "name": "api_delete_request", - "file": "blueprints/guest.py", - "line": 783 - }, - "func2": { - "key": "blueprints/admin_unified.py:reject_guest_request_api", - "name": "reject_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1873 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_delete_request", - "name": "api_delete_request", - "file": "blueprints/guest.py", - "line": 783 - }, - "func2": { - "key": "legacy/app_original.py:approve_guest_request", - "name": "approve_guest_request", - "file": "legacy/app_original.py", - "line": 5179 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_delete_request", - "name": "api_delete_request", - "file": "blueprints/guest.py", - "line": 783 - }, - "func2": { - "key": "legacy/app_original.py:reject_guest_request", - "name": "reject_guest_request", - "file": "legacy/app_original.py", - "line": 5259 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_delete_request", - "name": "api_delete_request", - "file": "blueprints/guest.py", - "line": 783 - }, - "func2": { - "key": "legacy/app_original.py:delete_guest_request", - "name": "delete_guest_request", - "file": "legacy/app_original.py", - "line": 5326 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_delete_request", - "name": "api_delete_request", - "file": "blueprints/guest.py", - "line": 783 - }, - "func2": { - "key": "legacy/app_original.py:get_guest_request_detail", - "name": "get_guest_request_detail", - "file": "legacy/app_original.py", - "line": 5370 - }, - "similarity": 0.9384615384615385, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:admin_requests_management", - "name": "admin_requests_management", - "file": "blueprints/guest.py", - "line": 817 - }, - "func2": { - "key": "legacy/app_original.py:admin_guest_requests", - "name": "admin_guest_requests", - "file": "legacy/app_original.py", - "line": 2911 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:admin_requests_management", - "name": "admin_requests_management", - "file": "blueprints/guest.py", - "line": 817 - }, - "func2": { - "key": "legacy/app_original.py:get_admin_guest_requests", - "name": "get_admin_guest_requests", - "file": "legacy/app_original.py", - "line": 5056 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_approve_request", - "name": "api_approve_request", - "file": "blueprints/guest.py", - "line": 823 - }, - "func2": { - "key": "blueprints/guest.py:api_deny_request", - "name": "api_deny_request", - "file": "blueprints/guest.py", - "line": 918 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_approve_request", - "name": "api_approve_request", - "file": "blueprints/guest.py", - "line": 823 - }, - "func2": { - "key": "blueprints/guest.py:api_get_request_otp", - "name": "api_get_request_otp", - "file": "blueprints/guest.py", - "line": 960 - }, - "similarity": 0.9384615384615385, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_approve_request", - "name": "api_approve_request", - "file": "blueprints/guest.py", - "line": 823 - }, - "func2": { - "key": "blueprints/admin_unified.py:generate_guest_otp_api", - "name": "generate_guest_otp_api", - "file": "blueprints/admin_unified.py", - "line": 1677 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_approve_request", - "name": "api_approve_request", - "file": "blueprints/guest.py", - "line": 823 - }, - "func2": { - "key": "blueprints/admin_unified.py:print_guest_credentials_api", - "name": "print_guest_credentials_api", - "file": "blueprints/admin_unified.py", - "line": 1712 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_approve_request", - "name": "api_approve_request", - "file": "blueprints/guest.py", - "line": 823 - }, - "func2": { - "key": "blueprints/admin_unified.py:approve_guest_request_api", - "name": "approve_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1814 - }, - "similarity": 0.9692307692307693, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_approve_request", - "name": "api_approve_request", - "file": "blueprints/guest.py", - "line": 823 - }, - "func2": { - "key": "blueprints/admin_unified.py:reject_guest_request_api", - "name": "reject_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1873 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_approve_request", - "name": "api_approve_request", - "file": "blueprints/guest.py", - "line": 823 - }, - "func2": { - "key": "legacy/app_original.py:approve_guest_request", - "name": "approve_guest_request", - "file": "legacy/app_original.py", - "line": 5179 - }, - "similarity": 0.9384615384615385, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_approve_request", - "name": "api_approve_request", - "file": "blueprints/guest.py", - "line": 823 - }, - "func2": { - "key": "legacy/app_original.py:reject_guest_request", - "name": "reject_guest_request", - "file": "legacy/app_original.py", - "line": 5259 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_approve_request", - "name": "api_approve_request", - "file": "blueprints/guest.py", - "line": 823 - }, - "func2": { - "key": "legacy/app_original.py:delete_guest_request", - "name": "delete_guest_request", - "file": "legacy/app_original.py", - "line": 5326 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_approve_request", - "name": "api_approve_request", - "file": "blueprints/guest.py", - "line": 823 - }, - "func2": { - "key": "legacy/app_original.py:get_guest_request_detail", - "name": "get_guest_request_detail", - "file": "legacy/app_original.py", - "line": 5370 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_deny_request", - "name": "api_deny_request", - "file": "blueprints/guest.py", - "line": 918 - }, - "func2": { - "key": "blueprints/guest.py:api_get_request_otp", - "name": "api_get_request_otp", - "file": "blueprints/guest.py", - "line": 960 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_deny_request", - "name": "api_deny_request", - "file": "blueprints/guest.py", - "line": 918 - }, - "func2": { - "key": "blueprints/admin_unified.py:generate_guest_otp_api", - "name": "generate_guest_otp_api", - "file": "blueprints/admin_unified.py", - "line": 1677 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_deny_request", - "name": "api_deny_request", - "file": "blueprints/guest.py", - "line": 918 - }, - "func2": { - "key": "blueprints/admin_unified.py:print_guest_credentials_api", - "name": "print_guest_credentials_api", - "file": "blueprints/admin_unified.py", - "line": 1712 - }, - "similarity": 0.875, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_deny_request", - "name": "api_deny_request", - "file": "blueprints/guest.py", - "line": 918 - }, - "func2": { - "key": "blueprints/admin_unified.py:approve_guest_request_api", - "name": "approve_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1814 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_deny_request", - "name": "api_deny_request", - "file": "blueprints/guest.py", - "line": 918 - }, - "func2": { - "key": "blueprints/admin_unified.py:reject_guest_request_api", - "name": "reject_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1873 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_deny_request", - "name": "api_deny_request", - "file": "blueprints/guest.py", - "line": 918 - }, - "func2": { - "key": "legacy/app_original.py:approve_guest_request", - "name": "approve_guest_request", - "file": "legacy/app_original.py", - "line": 5179 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_deny_request", - "name": "api_deny_request", - "file": "blueprints/guest.py", - "line": 918 - }, - "func2": { - "key": "legacy/app_original.py:reject_guest_request", - "name": "reject_guest_request", - "file": "legacy/app_original.py", - "line": 5259 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_deny_request", - "name": "api_deny_request", - "file": "blueprints/guest.py", - "line": 918 - }, - "func2": { - "key": "legacy/app_original.py:delete_guest_request", - "name": "delete_guest_request", - "file": "legacy/app_original.py", - "line": 5326 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_deny_request", - "name": "api_deny_request", - "file": "blueprints/guest.py", - "line": 918 - }, - "func2": { - "key": "legacy/app_original.py:get_guest_request_detail", - "name": "get_guest_request_detail", - "file": "legacy/app_original.py", - "line": 5370 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_otp", - "name": "api_get_request_otp", - "file": "blueprints/guest.py", - "line": 960 - }, - "func2": { - "key": "blueprints/admin_unified.py:generate_guest_otp_api", - "name": "generate_guest_otp_api", - "file": "blueprints/admin_unified.py", - "line": 1677 - }, - "similarity": 0.9384615384615385, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_otp", - "name": "api_get_request_otp", - "file": "blueprints/guest.py", - "line": 960 - }, - "func2": { - "key": "blueprints/admin_unified.py:print_guest_credentials_api", - "name": "print_guest_credentials_api", - "file": "blueprints/admin_unified.py", - "line": 1712 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_otp", - "name": "api_get_request_otp", - "file": "blueprints/guest.py", - "line": 960 - }, - "func2": { - "key": "blueprints/admin_unified.py:approve_guest_request_api", - "name": "approve_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1814 - }, - "similarity": 0.9692307692307693, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_otp", - "name": "api_get_request_otp", - "file": "blueprints/guest.py", - "line": 960 - }, - "func2": { - "key": "blueprints/admin_unified.py:reject_guest_request_api", - "name": "reject_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1873 - }, - "similarity": 0.9142857142857144, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_otp", - "name": "api_get_request_otp", - "file": "blueprints/guest.py", - "line": 960 - }, - "func2": { - "key": "legacy/app_original.py:approve_guest_request", - "name": "approve_guest_request", - "file": "legacy/app_original.py", - "line": 5179 - }, - "similarity": 0.9384615384615385, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_otp", - "name": "api_get_request_otp", - "file": "blueprints/guest.py", - "line": 960 - }, - "func2": { - "key": "legacy/app_original.py:reject_guest_request", - "name": "reject_guest_request", - "file": "legacy/app_original.py", - "line": 5259 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_otp", - "name": "api_get_request_otp", - "file": "blueprints/guest.py", - "line": 960 - }, - "func2": { - "key": "legacy/app_original.py:delete_guest_request", - "name": "delete_guest_request", - "file": "legacy/app_original.py", - "line": 5326 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/guest.py:api_get_request_otp", - "name": "api_get_request_otp", - "file": "blueprints/guest.py", - "line": 960 - }, - "func2": { - "key": "legacy/app_original.py:get_guest_request_detail", - "name": "get_guest_request_detail", - "file": "legacy/app_original.py", - "line": 5370 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:admin_required", - "name": "admin_required", - "file": "blueprints/uploads.py", - "line": 26 - }, - "func2": { - "key": "blueprints/admin_unified.py:admin_required", - "name": "admin_required", - "file": "blueprints/admin_unified.py", - "line": 54 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:admin_required", - "name": "admin_required", - "file": "blueprints/uploads.py", - "line": 26 - }, - "func2": { - "key": "blueprints/user_management.py:users_admin_required", - "name": "users_admin_required", - "file": "blueprints/user_management.py", - "line": 44 - }, - "similarity": 0.9636363636363636, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:admin_required", - "name": "admin_required", - "file": "blueprints/uploads.py", - "line": 26 - }, - "func2": { - "key": "utils/permissions.py:admin_required", - "name": "admin_required", - "file": "utils/permissions.py", - "line": 17 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:admin_required", - "name": "admin_required", - "file": "blueprints/uploads.py", - "line": 26 - }, - "func2": { - "key": "utils/permissions.py:approver_required", - "name": "approver_required", - "file": "utils/permissions.py", - "line": 189 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:admin_required", - "name": "admin_required", - "file": "blueprints/uploads.py", - "line": 26 - }, - "func2": { - "key": "legacy/app_original.py:job_owner_required", - "name": "job_owner_required", - "file": "legacy/app_original.py", - "line": 787 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:admin_required", - "name": "admin_required", - "file": "blueprints/uploads.py", - "line": 26 - }, - "func2": { - "key": "legacy/app_original.py:admin_required", - "name": "admin_required", - "file": "legacy/app_original.py", - "line": 809 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:allowed_file", - "name": "allowed_file", - "file": "blueprints/uploads.py", - "line": 36 - }, - "func2": { - "key": "utils/data_management.py:allowed_file", - "name": "allowed_file", - "file": "utils/data_management.py", - "line": 76 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:upload_job_file", - "name": "upload_job_file", - "file": "blueprints/uploads.py", - "line": 43 - }, - "func2": { - "key": "legacy/app_original.py:upload_job_file", - "name": "upload_job_file", - "file": "legacy/app_original.py", - "line": 3788 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:upload_guest_file", - "name": "upload_guest_file", - "file": "blueprints/uploads.py", - "line": 87 - }, - "func2": { - "key": "legacy/app_original.py:upload_guest_file", - "name": "upload_guest_file", - "file": "legacy/app_original.py", - "line": 3838 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:upload_avatar", - "name": "upload_avatar", - "file": "blueprints/uploads.py", - "line": 125 - }, - "func2": { - "key": "legacy/app_original.py:upload_avatar", - "name": "upload_avatar", - "file": "legacy/app_original.py", - "line": 3890 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:upload_asset", - "name": "upload_asset", - "file": "blueprints/uploads.py", - "line": 165 - }, - "func2": { - "key": "legacy/app_original.py:upload_asset", - "name": "upload_asset", - "file": "legacy/app_original.py", - "line": 3953 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:upload_log", - "name": "upload_log", - "file": "blueprints/uploads.py", - "line": 212 - }, - "func2": { - "key": "legacy/app_original.py:upload_log", - "name": "upload_log", - "file": "legacy/app_original.py", - "line": 4005 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:upload_backup", - "name": "upload_backup", - "file": "blueprints/uploads.py", - "line": 249 - }, - "func2": { - "key": "legacy/app_original.py:upload_backup", - "name": "upload_backup", - "file": "legacy/app_original.py", - "line": 4057 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:upload_temp_file", - "name": "upload_temp_file", - "file": "blueprints/uploads.py", - "line": 295 - }, - "func2": { - "key": "legacy/app_original.py:upload_temp_file", - "name": "upload_temp_file", - "file": "legacy/app_original.py", - "line": 4108 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:serve_uploaded_file", - "name": "serve_uploaded_file", - "file": "blueprints/uploads.py", - "line": 328 - }, - "func2": { - "key": "blueprints/uploads.py:delete_uploaded_file", - "name": "delete_uploaded_file", - "file": "blueprints/uploads.py", - "line": 355 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:serve_uploaded_file", - "name": "serve_uploaded_file", - "file": "blueprints/uploads.py", - "line": 328 - }, - "func2": { - "key": "legacy/app_original.py:serve_uploaded_file", - "name": "serve_uploaded_file", - "file": "legacy/app_original.py", - "line": 4159 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:serve_uploaded_file", - "name": "serve_uploaded_file", - "file": "blueprints/uploads.py", - "line": 328 - }, - "func2": { - "key": "legacy/app_original.py:delete_uploaded_file", - "name": "delete_uploaded_file", - "file": "legacy/app_original.py", - "line": 4208 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:delete_uploaded_file", - "name": "delete_uploaded_file", - "file": "blueprints/uploads.py", - "line": 355 - }, - "func2": { - "key": "legacy/app_original.py:serve_uploaded_file", - "name": "serve_uploaded_file", - "file": "legacy/app_original.py", - "line": 4159 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:delete_uploaded_file", - "name": "delete_uploaded_file", - "file": "blueprints/uploads.py", - "line": 355 - }, - "func2": { - "key": "legacy/app_original.py:delete_uploaded_file", - "name": "delete_uploaded_file", - "file": "legacy/app_original.py", - "line": 4208 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:get_file_stats", - "name": "get_file_stats", - "file": "blueprints/uploads.py", - "line": 402 - }, - "func2": { - "key": "legacy/app_original.py:get_file_stats", - "name": "get_file_stats", - "file": "legacy/app_original.py", - "line": 4265 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:cleanup_temp_files", - "name": "cleanup_temp_files", - "file": "blueprints/uploads.py", - "line": 425 - }, - "func2": { - "key": "legacy/app_original.py:cleanup_temp_files", - "name": "cleanup_temp_files", - "file": "legacy/app_original.py", - "line": 4293 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/uploads.py:decorated_function", - "name": "decorated_function", - "file": "blueprints/uploads.py", - "line": 30 - }, - "func2": { - "key": "utils/permissions.py:decorated_function", - "name": "decorated_function", - "file": "utils/permissions.py", - "line": 197 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/legal_pages.py:imprint", - "name": "imprint", - "file": "blueprints/legal_pages.py", - "line": 12 - }, - "func2": { - "key": "legacy/app_original.py:imprint", - "name": "imprint", - "file": "legacy/app_original.py", - "line": 2455 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/legal_pages.py:privacy", - "name": "privacy", - "file": "blueprints/legal_pages.py", - "line": 18 - }, - "func2": { - "key": "legacy/app_original.py:privacy", - "name": "privacy", - "file": "legacy/app_original.py", - "line": 2445 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/legal_pages.py:terms", - "name": "terms", - "file": "blueprints/legal_pages.py", - "line": 24 - }, - "func2": { - "key": "legacy/app_original.py:terms", - "name": "terms", - "file": "legacy/app_original.py", - "line": 2450 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/legal_pages.py:legal", - "name": "legal", - "file": "blueprints/legal_pages.py", - "line": 30 - }, - "func2": { - "key": "legacy/app_original.py:legal", - "name": "legal", - "file": "legacy/app_original.py", - "line": 2460 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:control_printer_power", - "name": "control_printer_power", - "file": "blueprints/printers.py", - "line": 376 - }, - "func2": { - "key": "blueprints/printers.py:test_socket_control", - "name": "test_socket_control", - "file": "blueprints/printers.py", - "line": 679 - }, - "similarity": 0.7794871794871796, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:control_printer_power", - "name": "control_printer_power", - "file": "blueprints/printers.py", - "line": 376 - }, - "func2": { - "key": "blueprints/printers.py:update_job_order", - "name": "update_job_order", - "file": "blueprints/printers.py", - "line": 1050 - }, - "similarity": 0.7125, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:control_printer_power", - "name": "control_printer_power", - "file": "blueprints/printers.py", - "line": 376 - }, - "func2": { - "key": "blueprints/printers.py:connect_printer", - "name": "connect_printer", - "file": "blueprints/printers.py", - "line": 1634 - }, - "similarity": 0.7558441558441559, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "blueprints/printers.py:control_printer_power", - "name": "control_printer_power", - "file": "blueprints/printers.py", - "line": 376 - }, - "func2": { - "key": "blueprints/admin_unified.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "blueprints/admin_unified.py", - "line": 1066 - }, - "similarity": 0.719047619047619, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "blueprints/printers.py:control_printer_power", - "name": "control_printer_power", - "file": "blueprints/printers.py", - "line": 376 - }, - "func2": { - "key": "legacy/app_original.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "legacy/app_original.py", - "line": 3190 - }, - "similarity": 0.7619047619047619, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "blueprints/printers.py:test_socket_status", - "name": "test_socket_status", - "file": "blueprints/printers.py", - "line": 537 - }, - "func2": { - "key": "blueprints/printers.py:get_job_order", - "name": "get_job_order", - "file": "blueprints/printers.py", - "line": 976 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:test_socket_status", - "name": "test_socket_status", - "file": "blueprints/printers.py", - "line": 537 - }, - "func2": { - "key": "blueprints/printers.py:get_printer_job_summary", - "name": "get_printer_job_summary", - "file": "blueprints/printers.py", - "line": 1167 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:test_socket_status", - "name": "test_socket_status", - "file": "blueprints/printers.py", - "line": 537 - }, - "func2": { - "key": "blueprints/printers.py:connect_printer", - "name": "connect_printer", - "file": "blueprints/printers.py", - "line": 1634 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:test_socket_status", - "name": "test_socket_status", - "file": "blueprints/printers.py", - "line": 537 - }, - "func2": { - "key": "blueprints/printers.py:validate_tapo_configuration", - "name": "validate_tapo_configuration", - "file": "blueprints/printers.py", - "line": 1683 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:test_socket_status", - "name": "test_socket_status", - "file": "blueprints/printers.py", - "line": 537 - }, - "func2": { - "key": "legacy/app_original.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "legacy/app_original.py", - "line": 3190 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:test_socket_status", - "name": "test_socket_status", - "file": "blueprints/printers.py", - "line": 537 - }, - "func2": { - "key": "legacy/app_original.py:test_printer_tapo_connection", - "name": "test_printer_tapo_connection", - "file": "legacy/app_original.py", - "line": 3268 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:test_socket_status", - "name": "test_socket_status", - "file": "blueprints/printers.py", - "line": 537 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_printer_form", - "name": "admin_update_printer_form", - "file": "legacy/app_original.py", - "line": 3689 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:get_job_order", - "name": "get_job_order", - "file": "blueprints/printers.py", - "line": 976 - }, - "func2": { - "key": "blueprints/printers.py:get_printer_job_summary", - "name": "get_printer_job_summary", - "file": "blueprints/printers.py", - "line": 1167 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:get_job_order", - "name": "get_job_order", - "file": "blueprints/printers.py", - "line": 976 - }, - "func2": { - "key": "blueprints/printers.py:connect_printer", - "name": "connect_printer", - "file": "blueprints/printers.py", - "line": 1634 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:get_job_order", - "name": "get_job_order", - "file": "blueprints/printers.py", - "line": 976 - }, - "func2": { - "key": "blueprints/printers.py:validate_tapo_configuration", - "name": "validate_tapo_configuration", - "file": "blueprints/printers.py", - "line": 1683 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:get_job_order", - "name": "get_job_order", - "file": "blueprints/printers.py", - "line": 976 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_job_order", - "name": "get_job_order", - "file": "utils/drag_drop_system.py", - "line": 172 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:get_job_order", - "name": "get_job_order", - "file": "blueprints/printers.py", - "line": 976 - }, - "func2": { - "key": "legacy/app_original.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "legacy/app_original.py", - "line": 3190 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:get_job_order", - "name": "get_job_order", - "file": "blueprints/printers.py", - "line": 976 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_printer_form", - "name": "admin_update_printer_form", - "file": "legacy/app_original.py", - "line": 3689 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:get_job_order", - "name": "get_job_order", - "file": "blueprints/printers.py", - "line": 976 - }, - "func2": { - "key": "legacy/app_original.py:get_job_order_api", - "name": "get_job_order_api", - "file": "legacy/app_original.py", - "line": 6508 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:get_printer_job_summary", - "name": "get_printer_job_summary", - "file": "blueprints/printers.py", - "line": 1167 - }, - "func2": { - "key": "blueprints/printers.py:connect_printer", - "name": "connect_printer", - "file": "blueprints/printers.py", - "line": 1634 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:get_printer_job_summary", - "name": "get_printer_job_summary", - "file": "blueprints/printers.py", - "line": 1167 - }, - "func2": { - "key": "blueprints/printers.py:validate_tapo_configuration", - "name": "validate_tapo_configuration", - "file": "blueprints/printers.py", - "line": 1683 - }, - "similarity": 0.8095238095238095, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:get_printer_job_summary", - "name": "get_printer_job_summary", - "file": "blueprints/printers.py", - "line": 1167 - }, - "func2": { - "key": "blueprints/admin_unified.py:edit_printer_page", - "name": "edit_printer_page", - "file": "blueprints/admin_unified.py", - "line": 361 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:get_printer_job_summary", - "name": "get_printer_job_summary", - "file": "blueprints/printers.py", - "line": 1167 - }, - "func2": { - "key": "blueprints/admin_unified.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "blueprints/admin_unified.py", - "line": 1066 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:get_printer_job_summary", - "name": "get_printer_job_summary", - "file": "blueprints/printers.py", - "line": 1167 - }, - "func2": { - "key": "legacy/app_original.py:admin_printer_settings_page", - "name": "admin_printer_settings_page", - "file": "legacy/app_original.py", - "line": 2874 - }, - "similarity": 0.7838235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:get_printer_job_summary", - "name": "get_printer_job_summary", - "file": "blueprints/printers.py", - "line": 1167 - }, - "func2": { - "key": "legacy/app_original.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "legacy/app_original.py", - "line": 3190 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:get_printer_job_summary", - "name": "get_printer_job_summary", - "file": "blueprints/printers.py", - "line": 1167 - }, - "func2": { - "key": "legacy/app_original.py:test_printer_tapo_connection", - "name": "test_printer_tapo_connection", - "file": "legacy/app_original.py", - "line": 3268 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:get_printer_job_summary", - "name": "get_printer_job_summary", - "file": "blueprints/printers.py", - "line": 1167 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_printer_page", - "name": "admin_edit_printer_page", - "file": "legacy/app_original.py", - "line": 3419 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:get_printer_job_summary", - "name": "get_printer_job_summary", - "file": "blueprints/printers.py", - "line": 1167 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_printer_form", - "name": "admin_update_printer_form", - "file": "legacy/app_original.py", - "line": 3689 - }, - "similarity": 0.8444444444444446, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:get_printer_job_summary", - "name": "get_printer_job_summary", - "file": "blueprints/printers.py", - "line": 1167 - }, - "func2": { - "key": "legacy/app_original.py:get_job_order_api", - "name": "get_job_order_api", - "file": "legacy/app_original.py", - "line": 6508 - }, - "similarity": 0.7588235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:connect_printer", - "name": "connect_printer", - "file": "blueprints/printers.py", - "line": 1634 - }, - "func2": { - "key": "blueprints/printers.py:validate_tapo_configuration", - "name": "validate_tapo_configuration", - "file": "blueprints/printers.py", - "line": 1683 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:connect_printer", - "name": "connect_printer", - "file": "blueprints/printers.py", - "line": 1634 - }, - "func2": { - "key": "blueprints/admin_unified.py:edit_printer_page", - "name": "edit_printer_page", - "file": "blueprints/admin_unified.py", - "line": 361 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:connect_printer", - "name": "connect_printer", - "file": "blueprints/printers.py", - "line": 1634 - }, - "func2": { - "key": "blueprints/admin_unified.py:delete_printer_api", - "name": "delete_printer_api", - "file": "blueprints/admin_unified.py", - "line": 851 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:connect_printer", - "name": "connect_printer", - "file": "blueprints/printers.py", - "line": 1634 - }, - "func2": { - "key": "blueprints/admin_unified.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "blueprints/admin_unified.py", - "line": 1066 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:connect_printer", - "name": "connect_printer", - "file": "blueprints/printers.py", - "line": 1634 - }, - "func2": { - "key": "legacy/app_original.py:admin_printer_settings_page", - "name": "admin_printer_settings_page", - "file": "legacy/app_original.py", - "line": 2874 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:connect_printer", - "name": "connect_printer", - "file": "blueprints/printers.py", - "line": 1634 - }, - "func2": { - "key": "legacy/app_original.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "legacy/app_original.py", - "line": 3190 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:connect_printer", - "name": "connect_printer", - "file": "blueprints/printers.py", - "line": 1634 - }, - "func2": { - "key": "legacy/app_original.py:test_printer_tapo_connection", - "name": "test_printer_tapo_connection", - "file": "legacy/app_original.py", - "line": 3268 - }, - "similarity": 0.8272727272727274, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:connect_printer", - "name": "connect_printer", - "file": "blueprints/printers.py", - "line": 1634 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_printer_page", - "name": "admin_edit_printer_page", - "file": "legacy/app_original.py", - "line": 3419 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:connect_printer", - "name": "connect_printer", - "file": "blueprints/printers.py", - "line": 1634 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_printer_form", - "name": "admin_update_printer_form", - "file": "legacy/app_original.py", - "line": 3689 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:connect_printer", - "name": "connect_printer", - "file": "blueprints/printers.py", - "line": 1634 - }, - "func2": { - "key": "legacy/app_original.py:get_job_order_api", - "name": "get_job_order_api", - "file": "legacy/app_original.py", - "line": 6508 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:validate_tapo_configuration", - "name": "validate_tapo_configuration", - "file": "blueprints/printers.py", - "line": 1683 - }, - "func2": { - "key": "blueprints/admin_unified.py:edit_printer_page", - "name": "edit_printer_page", - "file": "blueprints/admin_unified.py", - "line": 361 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:validate_tapo_configuration", - "name": "validate_tapo_configuration", - "file": "blueprints/printers.py", - "line": 1683 - }, - "func2": { - "key": "blueprints/admin_unified.py:delete_printer_api", - "name": "delete_printer_api", - "file": "blueprints/admin_unified.py", - "line": 851 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:validate_tapo_configuration", - "name": "validate_tapo_configuration", - "file": "blueprints/printers.py", - "line": 1683 - }, - "func2": { - "key": "blueprints/admin_unified.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "blueprints/admin_unified.py", - "line": 1066 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:validate_tapo_configuration", - "name": "validate_tapo_configuration", - "file": "blueprints/printers.py", - "line": 1683 - }, - "func2": { - "key": "legacy/app_original.py:admin_printer_settings_page", - "name": "admin_printer_settings_page", - "file": "legacy/app_original.py", - "line": 2874 - }, - "similarity": 0.7472222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:validate_tapo_configuration", - "name": "validate_tapo_configuration", - "file": "blueprints/printers.py", - "line": 1683 - }, - "func2": { - "key": "legacy/app_original.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "legacy/app_original.py", - "line": 3190 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:validate_tapo_configuration", - "name": "validate_tapo_configuration", - "file": "blueprints/printers.py", - "line": 1683 - }, - "func2": { - "key": "legacy/app_original.py:test_printer_tapo_connection", - "name": "test_printer_tapo_connection", - "file": "legacy/app_original.py", - "line": 3268 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:validate_tapo_configuration", - "name": "validate_tapo_configuration", - "file": "blueprints/printers.py", - "line": 1683 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_printer_page", - "name": "admin_edit_printer_page", - "file": "legacy/app_original.py", - "line": 3419 - }, - "similarity": 0.7352941176470589, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:validate_tapo_configuration", - "name": "validate_tapo_configuration", - "file": "blueprints/printers.py", - "line": 1683 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_printer_form", - "name": "admin_update_printer_form", - "file": "legacy/app_original.py", - "line": 3689 - }, - "similarity": 0.8823529411764706, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/printers.py:validate_tapo_configuration", - "name": "validate_tapo_configuration", - "file": "blueprints/printers.py", - "line": 1683 - }, - "func2": { - "key": "legacy/app_original.py:get_job_order_api", - "name": "get_job_order_api", - "file": "legacy/app_original.py", - "line": 6508 - }, - "similarity": 0.7222222222222223, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/auth.py:reset_password_request", - "name": "reset_password_request", - "file": "blueprints/auth.py", - "line": 149 - }, - "func2": { - "key": "legacy/app_original.py:reset_password_request", - "name": "reset_password_request", - "file": "legacy/app_original.py", - "line": 952 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/auth.py:api_login", - "name": "api_login", - "file": "blueprints/auth.py", - "line": 156 - }, - "func2": { - "key": "legacy/app_original.py:api_login", - "name": "api_login", - "file": "legacy/app_original.py", - "line": 959 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/auth.py:api_callback", - "name": "api_callback", - "file": "blueprints/auth.py", - "line": 211 - }, - "func2": { - "key": "legacy/app_original.py:api_callback", - "name": "api_callback", - "file": "legacy/app_original.py", - "line": 1013 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/auth.py:handle_github_callback", - "name": "handle_github_callback", - "file": "blueprints/auth.py", - "line": 334 - }, - "func2": { - "key": "legacy/app_original.py:handle_github_callback", - "name": "handle_github_callback", - "file": "legacy/app_original.py", - "line": 1223 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/auth.py:get_github_user_data", - "name": "get_github_user_data", - "file": "blueprints/auth.py", - "line": 339 - }, - "func2": { - "key": "legacy/app_original.py:get_github_user_data", - "name": "get_github_user_data", - "file": "legacy/app_original.py", - "line": 1268 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/tapo_control.py:get_outlet_status", - "name": "get_outlet_status", - "file": "blueprints/tapo_control.py", - "line": 231 - }, - "func2": { - "key": "blueprints/tapo_control.py:test_connection", - "name": "test_connection", - "file": "blueprints/tapo_control.py", - "line": 294 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/tapo_control.py:get_outlet_status", - "name": "get_outlet_status", - "file": "blueprints/tapo_control.py", - "line": 231 - }, - "func2": { - "key": "blueprints/api_simple.py:get_outlet_status_api", - "name": "get_outlet_status_api", - "file": "blueprints/api_simple.py", - "line": 63 - }, - "similarity": 0.9272727272727272, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/tapo_control.py:get_outlet_status", - "name": "get_outlet_status", - "file": "blueprints/tapo_control.py", - "line": 231 - }, - "func2": { - "key": "blueprints/api_simple.py:control_outlet_api", - "name": "control_outlet_api", - "file": "blueprints/api_simple.py", - "line": 96 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/tapo_control.py:test_connection", - "name": "test_connection", - "file": "blueprints/tapo_control.py", - "line": 294 - }, - "func2": { - "key": "blueprints/api_simple.py:get_outlet_status_api", - "name": "get_outlet_status_api", - "file": "blueprints/api_simple.py", - "line": 63 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/tapo_control.py:test_connection", - "name": "test_connection", - "file": "blueprints/tapo_control.py", - "line": 294 - }, - "func2": { - "key": "blueprints/api_simple.py:control_outlet_api", - "name": "control_outlet_api", - "file": "blueprints/api_simple.py", - "line": 96 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/tapo_control.py:get_all_status", - "name": "get_all_status", - "file": "blueprints/tapo_control.py", - "line": 326 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_status", - "name": "get_ssl_status", - "file": "utils/ssl_suite.py", - "line": 250 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/calendar.py:api_get_calendar_events", - "name": "api_get_calendar_events", - "file": "blueprints/calendar.py", - "line": 171 - }, - "func2": { - "key": "blueprints/calendar.py:api_get_calendar_events_alt", - "name": "api_get_calendar_events_alt", - "file": "blueprints/calendar.py", - "line": 386 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/calendar.py:api_create_calendar_event", - "name": "api_create_calendar_event", - "file": "blueprints/calendar.py", - "line": 392 - }, - "func2": { - "key": "blueprints/calendar.py:api_delete_calendar_event", - "name": "api_delete_calendar_event", - "file": "blueprints/calendar.py", - "line": 573 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/calendar.py:api_update_calendar_event", - "name": "api_update_calendar_event", - "file": "blueprints/calendar.py", - "line": 508 - }, - "func2": { - "key": "blueprints/calendar.py:api_delete_calendar_event", - "name": "api_delete_calendar_event", - "file": "blueprints/calendar.py", - "line": 573 - }, - "similarity": 0.9692307692307693, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/api.py:heartbeat", - "name": "heartbeat", - "file": "blueprints/api.py", - "line": 163 - }, - "func2": { - "key": "blueprints/sessions.py:heartbeat", - "name": "heartbeat", - "file": "blueprints/sessions.py", - "line": 46 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/api.py:session_status", - "name": "session_status", - "file": "blueprints/api.py", - "line": 180 - }, - "func2": { - "key": "legacy/app_original.py:session_status", - "name": "session_status", - "file": "legacy/app_original.py", - "line": 4863 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/api.py:session_heartbeat", - "name": "session_heartbeat", - "file": "blueprints/api.py", - "line": 238 - }, - "func2": { - "key": "legacy/app_original.py:session_heartbeat", - "name": "session_heartbeat", - "file": "legacy/app_original.py", - "line": 4836 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/api.py:extend_session", - "name": "extend_session", - "file": "blueprints/api.py", - "line": 269 - }, - "func2": { - "key": "legacy/app_original.py:extend_session", - "name": "extend_session", - "file": "legacy/app_original.py", - "line": 4901 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/api.py:get_error_recovery_status", - "name": "get_error_recovery_status", - "file": "blueprints/api.py", - "line": 475 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/api.py:fix_admin_permissions", - "name": "fix_admin_permissions", - "file": "blueprints/api.py", - "line": 563 - }, - "func2": { - "key": "legacy/app_original.py:api_admin_fix_errors", - "name": "api_admin_fix_errors", - "file": "legacy/app_original.py", - "line": 2692 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/api_simple.py:get_outlet_status_api", - "name": "get_outlet_status_api", - "file": "blueprints/api_simple.py", - "line": 63 - }, - "func2": { - "key": "blueprints/api_simple.py:control_outlet_api", - "name": "control_outlet_api", - "file": "blueprints/api_simple.py", - "line": 96 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/energy_monitoring.py:device_details", - "name": "device_details", - "file": "blueprints/energy_monitoring.py", - "line": 68 - }, - "func2": { - "key": "blueprints/energy_monitoring.py:api_device_energy_data", - "name": "api_device_energy_data", - "file": "blueprints/energy_monitoring.py", - "line": 180 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:admin_required", - "name": "admin_required", - "file": "blueprints/admin_unified.py", - "line": 54 - }, - "func2": { - "key": "blueprints/user_management.py:users_admin_required", - "name": "users_admin_required", - "file": "blueprints/user_management.py", - "line": 44 - }, - "similarity": 0.9636363636363636, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:admin_required", - "name": "admin_required", - "file": "blueprints/admin_unified.py", - "line": 54 - }, - "func2": { - "key": "utils/permissions.py:admin_required", - "name": "admin_required", - "file": "utils/permissions.py", - "line": 17 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:admin_required", - "name": "admin_required", - "file": "blueprints/admin_unified.py", - "line": 54 - }, - "func2": { - "key": "utils/permissions.py:approver_required", - "name": "approver_required", - "file": "utils/permissions.py", - "line": 189 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:admin_required", - "name": "admin_required", - "file": "blueprints/admin_unified.py", - "line": 54 - }, - "func2": { - "key": "legacy/app_original.py:job_owner_required", - "name": "job_owner_required", - "file": "legacy/app_original.py", - "line": 787 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:admin_required", - "name": "admin_required", - "file": "blueprints/admin_unified.py", - "line": 54 - }, - "func2": { - "key": "legacy/app_original.py:admin_required", - "name": "admin_required", - "file": "legacy/app_original.py", - "line": 809 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:admin_plug_schedules", - "name": "admin_plug_schedules", - "file": "blueprints/admin_unified.py", - "line": 145 - }, - "func2": { - "key": "legacy/app_original.py:admin_plug_schedules", - "name": "admin_plug_schedules", - "file": "legacy/app_original.py", - "line": 2494 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "similarity": 0.9636363636363636, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "similarity": 0.9636363636363636, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "similarity": 0.9333333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "similarity": 0.9666666666666668, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "similarity": 0.9636363636363636, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 0.9636363636363636, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585 - }, - "similarity": 0.7884615384615384, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "legacy/app_original.py:delete_user", - "name": "delete_user", - "file": "legacy/app_original.py", - "line": 3747 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:add_printer_page", - "name": "add_printer_page", - "file": "blueprints/admin_unified.py", - "line": 355 - }, - "func2": { - "key": "blueprints/admin_unified.py:edit_printer_page", - "name": "edit_printer_page", - "file": "blueprints/admin_unified.py", - "line": 361 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_printer_page", - "name": "edit_printer_page", - "file": "blueprints/admin_unified.py", - "line": 361 - }, - "func2": { - "key": "blueprints/admin_unified.py:delete_printer_api", - "name": "delete_printer_api", - "file": "blueprints/admin_unified.py", - "line": 851 - }, - "similarity": 0.9272727272727272, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_printer_page", - "name": "edit_printer_page", - "file": "blueprints/admin_unified.py", - "line": 361 - }, - "func2": { - "key": "blueprints/admin_unified.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "blueprints/admin_unified.py", - "line": 1066 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_printer_page", - "name": "edit_printer_page", - "file": "blueprints/admin_unified.py", - "line": 361 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_printer_page", - "name": "edit_printer_page", - "file": "blueprints/admin_unified.py", - "line": 361 - }, - "func2": { - "key": "legacy/app_original.py:admin_printer_settings_page", - "name": "admin_printer_settings_page", - "file": "legacy/app_original.py", - "line": 2874 - }, - "similarity": 0.7833333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_printer_page", - "name": "edit_printer_page", - "file": "blueprints/admin_unified.py", - "line": 361 - }, - "func2": { - "key": "legacy/app_original.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "legacy/app_original.py", - "line": 3190 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_printer_page", - "name": "edit_printer_page", - "file": "blueprints/admin_unified.py", - "line": 361 - }, - "func2": { - "key": "legacy/app_original.py:test_printer_tapo_connection", - "name": "test_printer_tapo_connection", - "file": "legacy/app_original.py", - "line": 3268 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_printer_page", - "name": "edit_printer_page", - "file": "blueprints/admin_unified.py", - "line": 361 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_printer_page", - "name": "admin_edit_printer_page", - "file": "legacy/app_original.py", - "line": 3419 - }, - "similarity": 0.9636363636363636, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_printer_page", - "name": "edit_printer_page", - "file": "blueprints/admin_unified.py", - "line": 361 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_printer_form", - "name": "admin_update_printer_form", - "file": "legacy/app_original.py", - "line": 3689 - }, - "similarity": 0.7571428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:edit_printer_page", - "name": "edit_printer_page", - "file": "blueprints/admin_unified.py", - "line": 361 - }, - "func2": { - "key": "legacy/app_original.py:get_job_order_api", - "name": "get_job_order_api", - "file": "legacy/app_original.py", - "line": 6508 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "similarity": 0.9272727272727272, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "similarity": 0.9000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "similarity": 0.9076923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "similarity": 0.9333333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 0.9272727272727272, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585 - }, - "similarity": 0.7576923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "legacy/app_original.py:delete_user", - "name": "delete_user", - "file": "legacy/app_original.py", - "line": 3747 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "similarity": 0.9636363636363636, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "similarity": 0.9076923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "similarity": 0.9333333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "similarity": 0.9272727272727272, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585 - }, - "similarity": 0.7576923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "similarity": 0.7857142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "legacy/app_original.py:delete_user", - "name": "delete_user", - "file": "legacy/app_original.py", - "line": 3747 - }, - "similarity": 0.7545454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "func2": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "func2": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "func2": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "func2": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "similarity": 0.9666666666666668, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "func2": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "func2": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "func2": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "func2": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "func2": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "func2": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "similarity": 0.9000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 0.9636363636363636, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "func2": { - "key": "legacy/app_original.py:delete_user", - "name": "delete_user", - "file": "legacy/app_original.py", - "line": 3747 - }, - "similarity": 0.790909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_printer_api", - "name": "delete_printer_api", - "file": "blueprints/admin_unified.py", - "line": 851 - }, - "func2": { - "key": "blueprints/admin_unified.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "blueprints/admin_unified.py", - "line": 1066 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_printer_api", - "name": "delete_printer_api", - "file": "blueprints/admin_unified.py", - "line": 851 - }, - "func2": { - "key": "legacy/app_original.py:admin_printer_settings_page", - "name": "admin_printer_settings_page", - "file": "legacy/app_original.py", - "line": 2874 - }, - "similarity": 0.7269230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_printer_api", - "name": "delete_printer_api", - "file": "blueprints/admin_unified.py", - "line": 851 - }, - "func2": { - "key": "legacy/app_original.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "legacy/app_original.py", - "line": 3190 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_printer_api", - "name": "delete_printer_api", - "file": "blueprints/admin_unified.py", - "line": 851 - }, - "func2": { - "key": "legacy/app_original.py:test_printer_tapo_connection", - "name": "test_printer_tapo_connection", - "file": "legacy/app_original.py", - "line": 3268 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_printer_api", - "name": "delete_printer_api", - "file": "blueprints/admin_unified.py", - "line": 851 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_printer_page", - "name": "admin_edit_printer_page", - "file": "legacy/app_original.py", - "line": 3419 - }, - "similarity": 0.9000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_printer_api", - "name": "delete_printer_api", - "file": "blueprints/admin_unified.py", - "line": 851 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_printer_form", - "name": "admin_update_printer_form", - "file": "legacy/app_original.py", - "line": 3689 - }, - "similarity": 0.7571428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:delete_printer_api", - "name": "delete_printer_api", - "file": "blueprints/admin_unified.py", - "line": 851 - }, - "func2": { - "key": "legacy/app_original.py:get_job_order_api", - "name": "get_job_order_api", - "file": "legacy/app_original.py", - "line": 6508 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:create_backup", - "name": "create_backup", - "file": "blueprints/admin_unified.py", - "line": 923 - }, - "func2": { - "key": "utils/data_management.py:create_backup", - "name": "create_backup", - "file": "utils/data_management.py", - "line": 290 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "blueprints/admin_unified.py", - "line": 1066 - }, - "func2": { - "key": "utils/job_scheduler.py:toggle_printer_plug", - "name": "toggle_printer_plug", - "file": "utils/job_scheduler.py", - "line": 310 - }, - "similarity": 0.7333333333333334, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "blueprints/admin_unified.py", - "line": 1066 - }, - "func2": { - "key": "legacy/app_original.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "legacy/app_original.py", - "line": 3190 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "blueprints/admin_unified.py", - "line": 1066 - }, - "func2": { - "key": "legacy/app_original.py:test_printer_tapo_connection", - "name": "test_printer_tapo_connection", - "file": "legacy/app_original.py", - "line": 3268 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "blueprints/admin_unified.py", - "line": 1066 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_printer_page", - "name": "admin_edit_printer_page", - "file": "legacy/app_original.py", - "line": 3419 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "blueprints/admin_unified.py", - "line": 1066 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_printer_form", - "name": "admin_update_printer_form", - "file": "legacy/app_original.py", - "line": 3689 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "blueprints/admin_unified.py", - "line": 1066 - }, - "func2": { - "key": "legacy/app_original.py:get_job_order_api", - "name": "get_job_order_api", - "file": "legacy/app_original.py", - "line": 6508 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:optimize_database", - "name": "optimize_database", - "file": "blueprints/admin_unified.py", - "line": 1172 - }, - "func2": { - "key": "blueprints/admin_unified.py:optimize_database_api", - "name": "optimize_database_api", - "file": "blueprints/admin_unified.py", - "line": 2892 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:clear_cache", - "name": "clear_cache", - "file": "blueprints/admin_unified.py", - "line": 1293 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:generate_guest_otp_api", - "name": "generate_guest_otp_api", - "file": "blueprints/admin_unified.py", - "line": 1677 - }, - "func2": { - "key": "blueprints/admin_unified.py:print_guest_credentials_api", - "name": "print_guest_credentials_api", - "file": "blueprints/admin_unified.py", - "line": 1712 - }, - "similarity": 0.8933333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:generate_guest_otp_api", - "name": "generate_guest_otp_api", - "file": "blueprints/admin_unified.py", - "line": 1677 - }, - "func2": { - "key": "blueprints/admin_unified.py:approve_guest_request_api", - "name": "approve_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1814 - }, - "similarity": 0.9142857142857144, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:generate_guest_otp_api", - "name": "generate_guest_otp_api", - "file": "blueprints/admin_unified.py", - "line": 1677 - }, - "func2": { - "key": "blueprints/admin_unified.py:reject_guest_request_api", - "name": "reject_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1873 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:generate_guest_otp_api", - "name": "generate_guest_otp_api", - "file": "blueprints/admin_unified.py", - "line": 1677 - }, - "func2": { - "key": "legacy/app_original.py:approve_guest_request", - "name": "approve_guest_request", - "file": "legacy/app_original.py", - "line": 5179 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:generate_guest_otp_api", - "name": "generate_guest_otp_api", - "file": "blueprints/admin_unified.py", - "line": 1677 - }, - "func2": { - "key": "legacy/app_original.py:reject_guest_request", - "name": "reject_guest_request", - "file": "legacy/app_original.py", - "line": 5259 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:generate_guest_otp_api", - "name": "generate_guest_otp_api", - "file": "blueprints/admin_unified.py", - "line": 1677 - }, - "func2": { - "key": "legacy/app_original.py:delete_guest_request", - "name": "delete_guest_request", - "file": "legacy/app_original.py", - "line": 5326 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:generate_guest_otp_api", - "name": "generate_guest_otp_api", - "file": "blueprints/admin_unified.py", - "line": 1677 - }, - "func2": { - "key": "legacy/app_original.py:get_guest_request_detail", - "name": "get_guest_request_detail", - "file": "legacy/app_original.py", - "line": 5370 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:print_guest_credentials_api", - "name": "print_guest_credentials_api", - "file": "blueprints/admin_unified.py", - "line": 1712 - }, - "func2": { - "key": "blueprints/admin_unified.py:approve_guest_request_api", - "name": "approve_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1814 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:print_guest_credentials_api", - "name": "print_guest_credentials_api", - "file": "blueprints/admin_unified.py", - "line": 1712 - }, - "func2": { - "key": "blueprints/admin_unified.py:reject_guest_request_api", - "name": "reject_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1873 - }, - "similarity": 0.875, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:print_guest_credentials_api", - "name": "print_guest_credentials_api", - "file": "blueprints/admin_unified.py", - "line": 1712 - }, - "func2": { - "key": "legacy/app_original.py:approve_guest_request", - "name": "approve_guest_request", - "file": "legacy/app_original.py", - "line": 5179 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:print_guest_credentials_api", - "name": "print_guest_credentials_api", - "file": "blueprints/admin_unified.py", - "line": 1712 - }, - "func2": { - "key": "legacy/app_original.py:reject_guest_request", - "name": "reject_guest_request", - "file": "legacy/app_original.py", - "line": 5259 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:print_guest_credentials_api", - "name": "print_guest_credentials_api", - "file": "blueprints/admin_unified.py", - "line": 1712 - }, - "func2": { - "key": "legacy/app_original.py:delete_guest_request", - "name": "delete_guest_request", - "file": "legacy/app_original.py", - "line": 5326 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:print_guest_credentials_api", - "name": "print_guest_credentials_api", - "file": "blueprints/admin_unified.py", - "line": 1712 - }, - "func2": { - "key": "legacy/app_original.py:get_guest_request_detail", - "name": "get_guest_request_detail", - "file": "legacy/app_original.py", - "line": 5370 - }, - "similarity": 0.8933333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:approve_guest_request_api", - "name": "approve_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1814 - }, - "func2": { - "key": "blueprints/admin_unified.py:reject_guest_request_api", - "name": "reject_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1873 - }, - "similarity": 0.8933333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:approve_guest_request_api", - "name": "approve_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1814 - }, - "func2": { - "key": "legacy/app_original.py:approve_guest_request", - "name": "approve_guest_request", - "file": "legacy/app_original.py", - "line": 5179 - }, - "similarity": 0.9692307692307693, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:approve_guest_request_api", - "name": "approve_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1814 - }, - "func2": { - "key": "legacy/app_original.py:reject_guest_request", - "name": "reject_guest_request", - "file": "legacy/app_original.py", - "line": 5259 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:approve_guest_request_api", - "name": "approve_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1814 - }, - "func2": { - "key": "legacy/app_original.py:delete_guest_request", - "name": "delete_guest_request", - "file": "legacy/app_original.py", - "line": 5326 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:approve_guest_request_api", - "name": "approve_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1814 - }, - "func2": { - "key": "legacy/app_original.py:get_guest_request_detail", - "name": "get_guest_request_detail", - "file": "legacy/app_original.py", - "line": 5370 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:reject_guest_request_api", - "name": "reject_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1873 - }, - "func2": { - "key": "legacy/app_original.py:approve_guest_request", - "name": "approve_guest_request", - "file": "legacy/app_original.py", - "line": 5179 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:reject_guest_request_api", - "name": "reject_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1873 - }, - "func2": { - "key": "legacy/app_original.py:reject_guest_request", - "name": "reject_guest_request", - "file": "legacy/app_original.py", - "line": 5259 - }, - "similarity": 0.9076923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:reject_guest_request_api", - "name": "reject_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1873 - }, - "func2": { - "key": "legacy/app_original.py:delete_guest_request", - "name": "delete_guest_request", - "file": "legacy/app_original.py", - "line": 5326 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:reject_guest_request_api", - "name": "reject_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1873 - }, - "func2": { - "key": "legacy/app_original.py:get_guest_request_detail", - "name": "get_guest_request_detail", - "file": "legacy/app_original.py", - "line": 5370 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:api_admin_plug_schedules_logs", - "name": "api_admin_plug_schedules_logs", - "file": "blueprints/admin_unified.py", - "line": 2087 - }, - "func2": { - "key": "legacy/app_original.py:api_admin_plug_schedules_logs", - "name": "api_admin_plug_schedules_logs", - "file": "legacy/app_original.py", - "line": 9006 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:api_admin_plug_schedules_statistics", - "name": "api_admin_plug_schedules_statistics", - "file": "blueprints/admin_unified.py", - "line": 2171 - }, - "func2": { - "key": "legacy/app_original.py:api_admin_plug_schedules_statistics", - "name": "api_admin_plug_schedules_statistics", - "file": "legacy/app_original.py", - "line": 9096 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:api_admin_plug_schedules_cleanup", - "name": "api_admin_plug_schedules_cleanup", - "file": "blueprints/admin_unified.py", - "line": 2218 - }, - "func2": { - "key": "legacy/app_original.py:api_admin_plug_schedules_cleanup", - "name": "api_admin_plug_schedules_cleanup", - "file": "legacy/app_original.py", - "line": 9148 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:api_admin_plug_schedules_calendar", - "name": "api_admin_plug_schedules_calendar", - "file": "blueprints/admin_unified.py", - "line": 2257 - }, - "func2": { - "key": "legacy/app_original.py:api_admin_plug_schedules_calendar", - "name": "api_admin_plug_schedules_calendar", - "file": "legacy/app_original.py", - "line": 9188 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:api_admin_live_stats", - "name": "api_admin_live_stats", - "file": "blueprints/admin_unified.py", - "line": 2337 - }, - "func2": { - "key": "legacy/app_original.py:api_admin_stats_live", - "name": "api_admin_stats_live", - "file": "legacy/app_original.py", - "line": 8731 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_relative_time", - "name": "get_relative_time", - "file": "blueprints/admin_unified.py", - "line": 2600 - }, - "func2": { - "key": "legacy/app_original.py:get_relative_time", - "name": "get_relative_time", - "file": "legacy/app_original.py", - "line": 9277 - }, - "similarity": 0.82, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_status_icon", - "name": "get_status_icon", - "file": "blueprints/admin_unified.py", - "line": 2622 - }, - "func2": { - "key": "blueprints/admin_unified.py:get_status_color", - "name": "get_status_color", - "file": "blueprints/admin_unified.py", - "line": 2633 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_status_icon", - "name": "get_status_icon", - "file": "blueprints/admin_unified.py", - "line": 2622 - }, - "func2": { - "key": "legacy/app_original.py:get_status_icon", - "name": "get_status_icon", - "file": "legacy/app_original.py", - "line": 9299 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_status_icon", - "name": "get_status_icon", - "file": "blueprints/admin_unified.py", - "line": 2622 - }, - "func2": { - "key": "legacy/app_original.py:get_status_color", - "name": "get_status_color", - "file": "legacy/app_original.py", - "line": 9311 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_status_color", - "name": "get_status_color", - "file": "blueprints/admin_unified.py", - "line": 2633 - }, - "func2": { - "key": "legacy/app_original.py:get_status_icon", - "name": "get_status_icon", - "file": "legacy/app_original.py", - "line": 9299 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:get_status_color", - "name": "get_status_color", - "file": "blueprints/admin_unified.py", - "line": 2633 - }, - "func2": { - "key": "legacy/app_original.py:get_status_color", - "name": "get_status_color", - "file": "legacy/app_original.py", - "line": 9311 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:api_admin_system_health_alias", - "name": "api_admin_system_health_alias", - "file": "blueprints/admin_unified.py", - "line": 2648 - }, - "func2": { - "key": "legacy/app_original.py:api_admin_system_health", - "name": "api_admin_system_health", - "file": "legacy/app_original.py", - "line": 2547 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:create_backup_api", - "name": "create_backup_api", - "file": "blueprints/admin_unified.py", - "line": 2828 - }, - "func2": { - "key": "legacy/app_original.py:api_create_backup", - "name": "api_create_backup", - "file": "legacy/app_original.py", - "line": 6959 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/admin_unified.py:clear_cache_api", - "name": "clear_cache_api", - "file": "blueprints/admin_unified.py", - "line": 2949 - }, - "func2": { - "key": "legacy/app_original.py:api_clear_cache", - "name": "api_clear_cache", - "file": "legacy/app_original.py", - "line": 6830 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:users_admin_required", - "name": "users_admin_required", - "file": "blueprints/user_management.py", - "line": 44 - }, - "func2": { - "key": "utils/permissions.py:admin_required", - "name": "admin_required", - "file": "utils/permissions.py", - "line": 17 - }, - "similarity": 0.9636363636363636, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:users_admin_required", - "name": "users_admin_required", - "file": "blueprints/user_management.py", - "line": 44 - }, - "func2": { - "key": "utils/permissions.py:approver_required", - "name": "approver_required", - "file": "utils/permissions.py", - "line": 189 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:users_admin_required", - "name": "users_admin_required", - "file": "blueprints/user_management.py", - "line": 44 - }, - "func2": { - "key": "legacy/app_original.py:job_owner_required", - "name": "job_owner_required", - "file": "legacy/app_original.py", - "line": 787 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:users_admin_required", - "name": "users_admin_required", - "file": "blueprints/user_management.py", - "line": 44 - }, - "func2": { - "key": "legacy/app_original.py:admin_required", - "name": "admin_required", - "file": "legacy/app_original.py", - "line": 809 - }, - "similarity": 0.8636363636363635, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:user_settings", - "name": "user_settings", - "file": "blueprints/user_management.py", - "line": 88 - }, - "func2": { - "key": "legacy/app_original.py:get_user_settings", - "name": "get_user_settings", - "file": "legacy/app_original.py", - "line": 1890 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:export_user_data", - "name": "export_user_data", - "file": "blueprints/user_management.py", - "line": 373 - }, - "func2": { - "key": "legacy/app_original.py:user_export_data", - "name": "user_export_data", - "file": "legacy/app_original.py", - "line": 2092 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "similarity": 0.9692307692307693, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "func2": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "similarity": 0.9142857142857144, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "func2": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "similarity": 0.8933333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "func2": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "func2": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "similarity": 0.9384615384615385, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "func2": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "func2": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "similarity": 0.9384615384615385, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "func2": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "func2": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "func2": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585 - }, - "similarity": 0.7642857142857143, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "similarity": 0.7933333333333332, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.8933333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "func2": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "similarity": 0.9428571428571428, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "func2": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "similarity": 0.9200000000000002, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "func2": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "similarity": 0.8933333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "func2": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "similarity": 0.9142857142857144, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "func2": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "func2": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "similarity": 0.9692307692307693, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "func2": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "func2": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "func2": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "similarity": 0.9076923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585 - }, - "similarity": 0.7928571428571428, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "similarity": 0.8200000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.9200000000000002, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "func2": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "similarity": 0.9714285714285715, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "func2": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "similarity": 0.9428571428571428, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "func2": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "similarity": 0.9692307692307693, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "func2": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "func2": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "similarity": 0.9142857142857144, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "func2": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "func2": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "func2": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 0.9076923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585 - }, - "similarity": 0.7928571428571428, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "similarity": 0.8714285714285714, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "func2": { - "key": "legacy/app_original.py:delete_user", - "name": "delete_user", - "file": "legacy/app_original.py", - "line": 3747 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.875, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "func2": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "similarity": 0.9200000000000002, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "func2": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "similarity": 0.9428571428571428, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "func2": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "func2": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "similarity": 0.8933333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "func2": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "func2": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "func2": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585 - }, - "similarity": 0.7700000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.8588235294117648, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "func2": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "func2": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "similarity": 0.9142857142857144, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "func2": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "func2": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "similarity": 0.9142857142857144, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "func2": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "func2": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "func2": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585 - }, - "similarity": 0.7433333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "similarity": 0.8200000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "func2": { - "key": "legacy/app_original.py:delete_user", - "name": "delete_user", - "file": "legacy/app_original.py", - "line": 3747 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.875, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "func2": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "func2": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "func2": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "func2": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "func2": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "func2": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "similarity": 0.9333333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 0.9333333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585 - }, - "similarity": 0.7642857142857143, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "func2": { - "key": "legacy/app_original.py:delete_user", - "name": "delete_user", - "file": "legacy/app_original.py", - "line": 3747 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.8933333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/utilities_collection.py:get_system_status", - "name": "get_system_status", - "file": "utils/utilities_collection.py", - "line": 269 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/utilities_collection.py:ensure_database_directory", - "name": "ensure_database_directory", - "file": "utils/utilities_collection.py", - "line": 293 - }, - "func2": { - "key": "utils/settings.py:ensure_database_directory", - "name": "ensure_database_directory", - "file": "utils/settings.py", - "line": 119 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/utilities_collection.py:add_hardcoded_printers", - "name": "add_hardcoded_printers", - "file": "utils/utilities_collection.py", - "line": 91 - }, - "func2": { - "key": "utils/script_collection.py:add_hardcoded_printers", - "name": "add_hardcoded_printers", - "file": "utils/script_collection.py", - "line": 122 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/utilities_collection.py:is_offline", - "name": "is_offline", - "file": "utils/utilities_collection.py", - "line": 185 - }, - "func2": { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/utilities_collection.py:update_requirements", - "name": "update_requirements", - "file": "utils/utilities_collection.py", - "line": 250 - }, - "func2": { - "key": "utils/script_collection.py:update_requirements", - "name": "update_requirements", - "file": "utils/script_collection.py", - "line": 160 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/job_queue_system.py:__post_init__", - "name": "__post_init__", - "file": "utils/job_queue_system.py", - "line": 61 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.73, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.7749999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/security_suite.py:__init__", - "name": "__init__", - "file": "utils/security_suite.py", - "line": 70 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:__init__", - "name": "__init__", - "file": "utils/system_management.py", - "line": 25 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "func2": { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "func2": { - "key": "utils/job_queue_system.py:__post_init__", - "name": "__post_init__", - "file": "utils/job_queue_system.py", - "line": 61 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7576923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28 - }, - "func2": { - "key": "utils/job_queue_system.py:__post_init__", - "name": "__post_init__", - "file": "utils/job_queue_system.py", - "line": 61 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_tapo_sofort", - "name": "test_tapo_sofort", - "file": "utils/development_tools.py", - "line": 258 - }, - "func2": { - "key": "utils/script_collection.py:test_tapo_sofort", - "name": "test_tapo_sofort", - "file": "utils/script_collection.py", - "line": 239 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.7599999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/security_suite.py:__init__", - "name": "__init__", - "file": "utils/security_suite.py", - "line": 70 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/development_tools.py:__init__", - "name": "__init__", - "file": "utils/development_tools.py", - "line": 73 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:run_test", - "name": "run_test", - "file": "utils/development_tools.py", - "line": 77 - }, - "func2": { - "key": "utils/script_collection.py:run_tests", - "name": "run_tests", - "file": "utils/script_collection.py", - "line": 228 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.770909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.7785714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "func2": { - "key": "utils/job_scheduler.py:start", - "name": "start", - "file": "utils/job_scheduler.py", - "line": 216 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7050000000000001, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7945454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/development_tools.py", - "line": 89 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7899999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "func2": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "similarity": 0.7269230769230769, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.7114285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7085714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7114285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7246153846153847, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7057142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "func2": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "similarity": 0.78, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "func2": { - "key": "utils/hardware_integration.py:auto_discover_outlets", - "name": "auto_discover_outlets", - "file": "utils/hardware_integration.py", - "line": 500 - }, - "similarity": 0.8357142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7269230769230769, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "func2": { - "key": "utils/job_scheduler.py:start", - "name": "start", - "file": "utils/job_scheduler.py", - "line": 216 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7152941176470589, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/development_tools.py:test_user_creation", - "name": "test_user_creation", - "file": "utils/development_tools.py", - "line": 112 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7114285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "func2": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "similarity": 0.7961538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7076923076923077, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "func2": { - "key": "utils/ssl_suite.py:verify_ssl_files", - "name": "verify_ssl_files", - "file": "utils/ssl_suite.py", - "line": 52 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7346153846153847, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "func2": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "similarity": 0.7571428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7961538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7096153846153845, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.740909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/development_tools.py:test_printer_status", - "name": "test_printer_status", - "file": "utils/development_tools.py", - "line": 136 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7636363636363636, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/permissions.py:admin_required", - "name": "admin_required", - "file": "utils/permissions.py", - "line": 17 - }, - "func2": { - "key": "utils/permissions.py:approver_required", - "name": "approver_required", - "file": "utils/permissions.py", - "line": 189 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:admin_required", - "name": "admin_required", - "file": "utils/permissions.py", - "line": 17 - }, - "func2": { - "key": "legacy/app_original.py:job_owner_required", - "name": "job_owner_required", - "file": "legacy/app_original.py", - "line": 787 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:admin_required", - "name": "admin_required", - "file": "utils/permissions.py", - "line": 17 - }, - "func2": { - "key": "legacy/app_original.py:admin_required", - "name": "admin_required", - "file": "legacy/app_original.py", - "line": 809 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "func2": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "func2": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "func2": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "func2": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "func2": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585 - }, - "similarity": 0.7642857142857143, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "similarity": 0.8428571428571427, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "func2": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "func2": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "func2": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "func2": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:approver_required", - "name": "approver_required", - "file": "utils/permissions.py", - "line": 189 - }, - "func2": { - "key": "legacy/app_original.py:job_owner_required", - "name": "job_owner_required", - "file": "legacy/app_original.py", - "line": 787 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:approver_required", - "name": "approver_required", - "file": "utils/permissions.py", - "line": 189 - }, - "func2": { - "key": "legacy/app_original.py:admin_required", - "name": "admin_required", - "file": "legacy/app_original.py", - "line": 809 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "func2": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "func2": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "func2": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585 - }, - "similarity": 0.7642857142857143, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "similarity": 0.7933333333333332, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.8933333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:format_datetime", - "name": "format_datetime", - "file": "utils/ui_components.py", - "line": 40 - }, - "func2": { - "key": "legacy/app_original.py:format_datetime_filter", - "name": "format_datetime_filter", - "file": "legacy/app_original.py", - "line": 725 - }, - "similarity": 0.9636363636363636, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_stats", - "name": "get_dashboard_stats", - "file": "utils/ui_components.py", - "line": 340 - }, - "func2": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_stats", - "name": "get_dashboard_stats", - "file": "utils/ui_components.py", - "line": 340 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:init_template_helpers", - "name": "init_template_helpers", - "file": "utils/ui_components.py", - "line": 364 - }, - "func2": { - "key": "legacy/app_original.py:register_template_helpers", - "name": "register_template_helpers", - "file": "legacy/app_original.py", - "line": 214 - }, - "similarity": 0.7384615384615384, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.7599999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/security_suite.py:__init__", - "name": "__init__", - "file": "utils/security_suite.py", - "line": 70 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/ui_components.py:__init__", - "name": "__init__", - "file": "utils/ui_components.py", - "line": 242 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:create_table_config", - "name": "create_table_config", - "file": "utils/ui_components.py", - "line": 146 - }, - "func2": { - "key": "utils/database_suite.py:get_table_info", - "name": "get_table_info", - "file": "utils/database_suite.py", - "line": 88 - }, - "similarity": 0.7134615384615385, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:register_handler", - "name": "register_handler", - "file": "utils/ui_components.py", - "line": 204 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:register_handler", - "name": "register_handler", - "file": "utils/ui_components.py", - "line": 204 - }, - "func2": { - "key": "utils/core_system.py:register_thread", - "name": "register_thread", - "file": "utils/core_system.py", - "line": 130 - }, - "similarity": 0.7083333333333334, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:subscribe", - "name": "subscribe", - "file": "utils/ui_components.py", - "line": 246 - }, - "func2": { - "key": "utils/ui_components.py:unsubscribe", - "name": "unsubscribe", - "file": "utils/ui_components.py", - "line": 254 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_job_order", - "name": "get_job_order", - "file": "utils/drag_drop_system.py", - "line": 172 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/core_system.py:register_thread", - "name": "register_thread", - "file": "utils/core_system.py", - "line": 130 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/core_system.py:start_watchdog", - "name": "start_watchdog", - "file": "utils/core_system.py", - "line": 742 - }, - "similarity": 0.726923076923077, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:schedule_print_job", - "name": "schedule_print_job", - "file": "utils/job_queue_system.py", - "line": 466 - }, - "func2": { - "key": "utils/job_queue_system.py:check_scheduling_conflict", - "name": "check_scheduling_conflict", - "file": "utils/job_queue_system.py", - "line": 474 - }, - "similarity": 0.7026315789473685, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:schedule_print_job", - "name": "schedule_print_job", - "file": "utils/job_queue_system.py", - "line": 466 - }, - "func2": { - "key": "utils/job_queue_system.py:schedule_job", - "name": "schedule_job", - "file": "utils/job_queue_system.py", - "line": 301 - }, - "similarity": 0.755, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7052631578947368, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.8799999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7181818181818183, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_queue_status", - "name": "get_queue_status", - "file": "utils/job_queue_system.py", - "line": 140 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:check_scheduling_conflict", - "name": "check_scheduling_conflict", - "file": "utils/job_queue_system.py", - "line": 474 - }, - "func2": { - "key": "utils/job_queue_system.py:check_printer_conflict", - "name": "check_printer_conflict", - "file": "utils/job_queue_system.py", - "line": 158 - }, - "similarity": 0.7838235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:__post_init__", - "name": "__post_init__", - "file": "utils/job_queue_system.py", - "line": 61 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:__post_init__", - "name": "__post_init__", - "file": "utils/job_queue_system.py", - "line": 61 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:__post_init__", - "name": "__post_init__", - "file": "utils/job_queue_system.py", - "line": 61 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "func2": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.8799999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "func2": { - "key": "utils/core_system.py:__init__", - "name": "__init__", - "file": "utils/core_system.py", - "line": 730 - }, - "similarity": 0.8071428571428572, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/job_queue_system.py:__init__", - "name": "__init__", - "file": "utils/job_queue_system.py", - "line": 293 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_job_order", - "name": "get_job_order", - "file": "utils/drag_drop_system.py", - "line": 172 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.8181818181818181, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:suggest_alternative_time", - "name": "suggest_alternative_time", - "file": "utils/job_queue_system.py", - "line": 206 - }, - "func2": { - "key": "utils/hardware_integration.py:get_live_printer_status", - "name": "get_live_printer_status", - "file": "utils/hardware_integration.py", - "line": 1029 - }, - "similarity": 0.7028571428571428, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:suggest_alternative_time", - "name": "suggest_alternative_time", - "file": "utils/job_queue_system.py", - "line": 206 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "similarity": 0.7433333333333334, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:suggest_alternative_time", - "name": "suggest_alternative_time", - "file": "utils/job_queue_system.py", - "line": 206 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7134615384615385, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:remove_timer", - "name": "remove_timer", - "file": "utils/job_queue_system.py", - "line": 245 - }, - "func2": { - "key": "utils/job_scheduler.py:remove_task", - "name": "remove_task", - "file": "utils/job_scheduler.py", - "line": 125 - }, - "similarity": 0.7345454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:remove_timer", - "name": "remove_timer", - "file": "utils/job_queue_system.py", - "line": 245 - }, - "func2": { - "key": "utils/job_scheduler.py:get_task_info", - "name": "get_task_info", - "file": "utils/job_scheduler.py", - "line": 143 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:start_job_execution", - "name": "start_job_execution", - "file": "utils/job_queue_system.py", - "line": 355 - }, - "func2": { - "key": "utils/job_queue_system.py:finish_job_execution", - "name": "finish_job_execution", - "file": "utils/job_queue_system.py", - "line": 400 - }, - "similarity": 0.9000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:start_job_execution", - "name": "start_job_execution", - "file": "utils/job_queue_system.py", - "line": 355 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:start_job_execution", - "name": "start_job_execution", - "file": "utils/job_queue_system.py", - "line": 355 - }, - "func2": { - "key": "utils/drag_drop_system.py:remove_job_from_order", - "name": "remove_job_from_order", - "file": "utils/drag_drop_system.py", - "line": 265 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:start_job_execution", - "name": "start_job_execution", - "file": "utils/job_queue_system.py", - "line": 355 - }, - "func2": { - "key": "utils/job_scheduler.py:handle_immediate_job", - "name": "handle_immediate_job", - "file": "utils/job_scheduler.py", - "line": 488 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:start_job_execution", - "name": "start_job_execution", - "file": "utils/job_queue_system.py", - "line": 355 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7088235294117646, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:start_job_execution", - "name": "start_job_execution", - "file": "utils/job_queue_system.py", - "line": 355 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:finish_job_execution", - "name": "finish_job_execution", - "file": "utils/job_queue_system.py", - "line": 400 - }, - "func2": { - "key": "utils/drag_drop_system.py:remove_job_from_order", - "name": "remove_job_from_order", - "file": "utils/drag_drop_system.py", - "line": 265 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:finish_job_execution", - "name": "finish_job_execution", - "file": "utils/job_queue_system.py", - "line": 400 - }, - "func2": { - "key": "utils/job_scheduler.py:handle_immediate_job", - "name": "handle_immediate_job", - "file": "utils/job_scheduler.py", - "line": 488 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_job_file", - "name": "save_job_file", - "file": "utils/data_management.py", - "line": 320 - }, - "func2": { - "key": "utils/data_management.py:save_guest_file", - "name": "save_guest_file", - "file": "utils/data_management.py", - "line": 324 - }, - "similarity": 0.7285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_job_file", - "name": "save_job_file", - "file": "utils/data_management.py", - "line": 320 - }, - "func2": { - "key": "utils/data_management.py:save_avatar_file", - "name": "save_avatar_file", - "file": "utils/data_management.py", - "line": 328 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_job_file", - "name": "save_job_file", - "file": "utils/data_management.py", - "line": 320 - }, - "func2": { - "key": "utils/data_management.py:save_temp_file", - "name": "save_temp_file", - "file": "utils/data_management.py", - "line": 332 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_job_file", - "name": "save_job_file", - "file": "utils/data_management.py", - "line": 320 - }, - "func2": { - "key": "utils/data_management.py:save_asset_file", - "name": "save_asset_file", - "file": "utils/data_management.py", - "line": 336 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_job_file", - "name": "save_job_file", - "file": "utils/data_management.py", - "line": 320 - }, - "func2": { - "key": "utils/data_management.py:save_log_file", - "name": "save_log_file", - "file": "utils/data_management.py", - "line": 340 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_job_file", - "name": "save_job_file", - "file": "utils/data_management.py", - "line": 320 - }, - "func2": { - "key": "utils/data_management.py:save_backup_file", - "name": "save_backup_file", - "file": "utils/data_management.py", - "line": 344 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_job_file", - "name": "save_job_file", - "file": "utils/data_management.py", - "line": 320 - }, - "func2": { - "key": "utils/data_management.py:save_file", - "name": "save_file", - "file": "utils/data_management.py", - "line": 103 - }, - "similarity": 0.740909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_guest_file", - "name": "save_guest_file", - "file": "utils/data_management.py", - "line": 324 - }, - "func2": { - "key": "utils/data_management.py:save_avatar_file", - "name": "save_avatar_file", - "file": "utils/data_management.py", - "line": 328 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_guest_file", - "name": "save_guest_file", - "file": "utils/data_management.py", - "line": 324 - }, - "func2": { - "key": "utils/data_management.py:save_temp_file", - "name": "save_temp_file", - "file": "utils/data_management.py", - "line": 332 - }, - "similarity": 0.7769230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_guest_file", - "name": "save_guest_file", - "file": "utils/data_management.py", - "line": 324 - }, - "func2": { - "key": "utils/data_management.py:save_asset_file", - "name": "save_asset_file", - "file": "utils/data_management.py", - "line": 336 - }, - "similarity": 0.9272727272727272, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_guest_file", - "name": "save_guest_file", - "file": "utils/data_management.py", - "line": 324 - }, - "func2": { - "key": "utils/data_management.py:save_log_file", - "name": "save_log_file", - "file": "utils/data_management.py", - "line": 340 - }, - "similarity": 0.9000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_guest_file", - "name": "save_guest_file", - "file": "utils/data_management.py", - "line": 324 - }, - "func2": { - "key": "utils/data_management.py:save_backup_file", - "name": "save_backup_file", - "file": "utils/data_management.py", - "line": 344 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_avatar_file", - "name": "save_avatar_file", - "file": "utils/data_management.py", - "line": 328 - }, - "func2": { - "key": "utils/data_management.py:save_temp_file", - "name": "save_temp_file", - "file": "utils/data_management.py", - "line": 332 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_avatar_file", - "name": "save_avatar_file", - "file": "utils/data_management.py", - "line": 328 - }, - "func2": { - "key": "utils/data_management.py:save_asset_file", - "name": "save_asset_file", - "file": "utils/data_management.py", - "line": 336 - }, - "similarity": 0.76, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_avatar_file", - "name": "save_avatar_file", - "file": "utils/data_management.py", - "line": 328 - }, - "func2": { - "key": "utils/data_management.py:save_file", - "name": "save_file", - "file": "utils/data_management.py", - "line": 103 - }, - "similarity": 0.72, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_temp_file", - "name": "save_temp_file", - "file": "utils/data_management.py", - "line": 332 - }, - "func2": { - "key": "utils/data_management.py:save_asset_file", - "name": "save_asset_file", - "file": "utils/data_management.py", - "line": 336 - }, - "similarity": 0.8272727272727274, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_temp_file", - "name": "save_temp_file", - "file": "utils/data_management.py", - "line": 332 - }, - "func2": { - "key": "utils/data_management.py:save_log_file", - "name": "save_log_file", - "file": "utils/data_management.py", - "line": 340 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_temp_file", - "name": "save_temp_file", - "file": "utils/data_management.py", - "line": 332 - }, - "func2": { - "key": "utils/data_management.py:save_backup_file", - "name": "save_backup_file", - "file": "utils/data_management.py", - "line": 344 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_temp_file", - "name": "save_temp_file", - "file": "utils/data_management.py", - "line": 332 - }, - "func2": { - "key": "utils/data_management.py:save_file", - "name": "save_file", - "file": "utils/data_management.py", - "line": 103 - }, - "similarity": 0.740909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_asset_file", - "name": "save_asset_file", - "file": "utils/data_management.py", - "line": 336 - }, - "func2": { - "key": "utils/data_management.py:save_log_file", - "name": "save_log_file", - "file": "utils/data_management.py", - "line": 340 - }, - "similarity": 0.8909090909090909, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_asset_file", - "name": "save_asset_file", - "file": "utils/data_management.py", - "line": 336 - }, - "func2": { - "key": "utils/data_management.py:save_backup_file", - "name": "save_backup_file", - "file": "utils/data_management.py", - "line": 344 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_asset_file", - "name": "save_asset_file", - "file": "utils/data_management.py", - "line": 336 - }, - "func2": { - "key": "utils/data_management.py:save_file", - "name": "save_file", - "file": "utils/data_management.py", - "line": 103 - }, - "similarity": 0.7555555555555555, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_log_file", - "name": "save_log_file", - "file": "utils/data_management.py", - "line": 340 - }, - "func2": { - "key": "utils/data_management.py:save_backup_file", - "name": "save_backup_file", - "file": "utils/data_management.py", - "line": 344 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:save_log_file", - "name": "save_log_file", - "file": "utils/data_management.py", - "line": 340 - }, - "func2": { - "key": "utils/data_management.py:save_file", - "name": "save_file", - "file": "utils/data_management.py", - "line": 103 - }, - "similarity": 0.72, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:move_to_trash", - "name": "move_to_trash", - "file": "utils/data_management.py", - "line": 184 - }, - "func2": { - "key": "utils/data_management.py:_move_to_trash_windows", - "name": "_move_to_trash_windows", - "file": "utils/data_management.py", - "line": 202 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:move_to_trash", - "name": "move_to_trash", - "file": "utils/data_management.py", - "line": 184 - }, - "func2": { - "key": "utils/data_management.py:_move_to_trash_unix", - "name": "_move_to_trash_unix", - "file": "utils/data_management.py", - "line": 225 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "func2": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.73, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.7749999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "func2": { - "key": "utils/security_suite.py:__init__", - "name": "__init__", - "file": "utils/security_suite.py", - "line": 70 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:__init__", - "name": "__init__", - "file": "utils/data_management.py", - "line": 287 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/core_system.py:windows_bind_with_reuse", - "name": "windows_bind_with_reuse", - "file": "utils/core_system.py", - "line": 188 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7571428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:_move_to_trash_windows", - "name": "_move_to_trash_windows", - "file": "utils/data_management.py", - "line": 202 - }, - "func2": { - "key": "utils/data_management.py:_move_to_trash_unix", - "name": "_move_to_trash_unix", - "file": "utils/data_management.py", - "line": 225 - }, - "similarity": 0.9000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:_move_to_trash_windows", - "name": "_move_to_trash_windows", - "file": "utils/data_management.py", - "line": 202 - }, - "func2": { - "key": "utils/data_management.py:_delete_permanently", - "name": "_delete_permanently", - "file": "utils/data_management.py", - "line": 252 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:_move_to_trash_windows", - "name": "_move_to_trash_windows", - "file": "utils/data_management.py", - "line": 202 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:_move_to_trash_unix", - "name": "_move_to_trash_unix", - "file": "utils/data_management.py", - "line": 225 - }, - "func2": { - "key": "utils/data_management.py:_delete_permanently", - "name": "_delete_permanently", - "file": "utils/data_management.py", - "line": 252 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:_move_to_trash_unix", - "name": "_move_to_trash_unix", - "file": "utils/data_management.py", - "line": 225 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:_delete_permanently", - "name": "_delete_permanently", - "file": "utils/data_management.py", - "line": 252 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:_delete_permanently", - "name": "_delete_permanently", - "file": "utils/data_management.py", - "line": 252 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:create_backup", - "name": "create_backup", - "file": "utils/data_management.py", - "line": 290 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/data_management.py:create_backup", - "name": "create_backup", - "file": "utils/data_management.py", - "line": 290 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/settings.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/settings.py", - "line": 136 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "func2": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "similarity": 0.7899999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.9249999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7027777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/ssl_manager.py:__init__", - "name": "__init__", - "file": "utils/ssl_manager.py", - "line": 16 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "similarity": 0.7857142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.8105263157894738, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/ssl_suite.py:generate_self_signed_cert", - "name": "generate_self_signed_cert", - "file": "utils/ssl_suite.py", - "line": 70 - }, - "similarity": 0.7928571428571429, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/core_system.py:register_thread", - "name": "register_thread", - "file": "utils/core_system.py", - "line": 130 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "similarity": 0.7088235294117646, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7473684210526315, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_manager.py:generate_mercedes_certificate", - "name": "generate_mercedes_certificate", - "file": "utils/ssl_manager.py", - "line": 21 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:toggle_plug", - "name": "toggle_plug", - "file": "utils/hardware_integration.py", - "line": 114 - }, - "func2": { - "key": "utils/job_scheduler.py:toggle_plug", - "name": "toggle_plug", - "file": "utils/job_scheduler.py", - "line": 294 - }, - "similarity": 0.725, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "func2": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "similarity": 0.82, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.73, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7599999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.7899999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.8799999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "func2": { - "key": "utils/core_system.py:__init__", - "name": "__init__", - "file": "utils/core_system.py", - "line": 730 - }, - "similarity": 0.76, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.73, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7599999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/hardware_integration.py:__init__", - "name": "__init__", - "file": "utils/hardware_integration.py", - "line": 1012 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.8799999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_session_cache", - "name": "clear_session_cache", - "file": "utils/hardware_integration.py", - "line": 1359 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_cache", - "name": "clear_cache", - "file": "utils/hardware_integration.py", - "line": 207 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "func2": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "similarity": 0.8066666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7114285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.7085714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7246153846153847, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7028846153846153, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7466666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7269230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.7403846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.8066666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.8799999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7535714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7700000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7795454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7857142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "similarity": 0.7096153846153845, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7403846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7466666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_jobs", - "name": "_check_jobs", - "file": "utils/job_scheduler.py", - "line": 374 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7571428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7571428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7096153846153845, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7769230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7571428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7857142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:turn_off_outlet", - "name": "turn_off_outlet", - "file": "utils/hardware_integration.py", - "line": 969 - }, - "func2": { - "key": "utils/hardware_integration.py:turn_on_outlet", - "name": "turn_on_outlet", - "file": "utils/hardware_integration.py", - "line": 982 - }, - "similarity": 0.9555555555555555, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:turn_off_outlet", - "name": "turn_off_outlet", - "file": "utils/hardware_integration.py", - "line": 969 - }, - "func2": { - "key": "utils/job_scheduler.py:toggle_printer_plug", - "name": "toggle_printer_plug", - "file": "utils/job_scheduler.py", - "line": 310 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:turn_on_outlet", - "name": "turn_on_outlet", - "file": "utils/hardware_integration.py", - "line": 982 - }, - "func2": { - "key": "utils/hardware_integration.py:control_plug", - "name": "control_plug", - "file": "utils/hardware_integration.py", - "line": 1179 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:turn_on_outlet", - "name": "turn_on_outlet", - "file": "utils/hardware_integration.py", - "line": 982 - }, - "func2": { - "key": "utils/job_scheduler.py:toggle_printer_plug", - "name": "toggle_printer_plug", - "file": "utils/job_scheduler.py", - "line": 310 - }, - "similarity": 0.740909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_live_printer_status", - "name": "get_live_printer_status", - "file": "utils/hardware_integration.py", - "line": 1029 - }, - "func2": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "similarity": 0.7433333333333334, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_live_printer_status", - "name": "get_live_printer_status", - "file": "utils/hardware_integration.py", - "line": 1029 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_live_printer_status", - "name": "get_live_printer_status", - "file": "utils/hardware_integration.py", - "line": 1029 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_live_printer_status", - "name": "get_live_printer_status", - "file": "utils/hardware_integration.py", - "line": 1029 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_live_printer_status", - "name": "get_live_printer_status", - "file": "utils/hardware_integration.py", - "line": 1029 - }, - "func2": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_live_printer_status", - "name": "get_live_printer_status", - "file": "utils/hardware_integration.py", - "line": 1029 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_live_printer_status", - "name": "get_live_printer_status", - "file": "utils/hardware_integration.py", - "line": 1029 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_live_printer_status", - "name": "get_live_printer_status", - "file": "utils/hardware_integration.py", - "line": 1029 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7884615384615385, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "similarity": 0.7272727272727273, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "similarity": 0.7088235294117646, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.875, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.9384615384615385, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.9142857142857144, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7431818181818182, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:control_plug", - "name": "control_plug", - "file": "utils/hardware_integration.py", - "line": 1179 - }, - "func2": { - "key": "utils/job_scheduler.py:toggle_printer_plug", - "name": "toggle_printer_plug", - "file": "utils/job_scheduler.py", - "line": 310 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "similarity": 0.8588235294117648, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7523809523809524, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.831578947368421, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_jobs", - "name": "_check_jobs", - "file": "utils/job_scheduler.py", - "line": 374 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.95, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8222222222222222, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.78, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7523809523809524, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8105263157894738, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.8444444444444446, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8105263157894738, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_session_status", - "name": "get_session_status", - "file": "utils/hardware_integration.py", - "line": 1280 - }, - "func2": { - "key": "utils/hardware_integration.py:update_session_status", - "name": "update_session_status", - "file": "utils/hardware_integration.py", - "line": 1322 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_session_status", - "name": "get_session_status", - "file": "utils/hardware_integration.py", - "line": 1280 - }, - "func2": { - "key": "utils/hardware_integration.py:clear_session_cache", - "name": "clear_session_cache", - "file": "utils/hardware_integration.py", - "line": 1359 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_session_status", - "name": "get_session_status", - "file": "utils/hardware_integration.py", - "line": 1280 - }, - "func2": { - "key": "utils/hardware_integration.py:_create_fresh_session_status", - "name": "_create_fresh_session_status", - "file": "utils/hardware_integration.py", - "line": 1384 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_session_status", - "name": "get_session_status", - "file": "utils/hardware_integration.py", - "line": 1280 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_session", - "name": "cleanup_session", - "file": "utils/drag_drop_system.py", - "line": 113 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:get_session_status", - "name": "get_session_status", - "file": "utils/hardware_integration.py", - "line": 1280 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:update_session_status", - "name": "update_session_status", - "file": "utils/hardware_integration.py", - "line": 1322 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_session", - "name": "cleanup_session", - "file": "utils/drag_drop_system.py", - "line": 113 - }, - "similarity": 0.7769230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:update_session_status", - "name": "update_session_status", - "file": "utils/hardware_integration.py", - "line": 1322 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_ordered_jobs_for_printer", - "name": "get_ordered_jobs_for_printer", - "file": "utils/drag_drop_system.py", - "line": 194 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:update_session_status", - "name": "update_session_status", - "file": "utils/hardware_integration.py", - "line": 1322 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_session_cache", - "name": "clear_session_cache", - "file": "utils/hardware_integration.py", - "line": 1359 - }, - "func2": { - "key": "utils/hardware_integration.py:_create_fresh_session_status", - "name": "_create_fresh_session_status", - "file": "utils/hardware_integration.py", - "line": 1384 - }, - "similarity": 0.7857142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_session_cache", - "name": "clear_session_cache", - "file": "utils/hardware_integration.py", - "line": 1359 - }, - "func2": { - "key": "utils/drag_drop_system.py:create_upload_session", - "name": "create_upload_session", - "file": "utils/drag_drop_system.py", - "line": 61 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_session_cache", - "name": "clear_session_cache", - "file": "utils/hardware_integration.py", - "line": 1359 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_session", - "name": "cleanup_session", - "file": "utils/drag_drop_system.py", - "line": 113 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_session_cache", - "name": "clear_session_cache", - "file": "utils/hardware_integration.py", - "line": 1359 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_session_cache", - "name": "clear_session_cache", - "file": "utils/hardware_integration.py", - "line": 1359 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:clear_session_cache", - "name": "clear_session_cache", - "file": "utils/hardware_integration.py", - "line": 1359 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:_create_fresh_session_status", - "name": "_create_fresh_session_status", - "file": "utils/hardware_integration.py", - "line": 1384 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_session", - "name": "cleanup_session", - "file": "utils/drag_drop_system.py", - "line": 113 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:invalidate_cache", - "name": "invalidate_cache", - "file": "utils/hardware_integration.py", - "line": 1433 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:invalidate_cache", - "name": "invalidate_cache", - "file": "utils/hardware_integration.py", - "line": 1433 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_job_order", - "name": "get_job_order", - "file": "utils/drag_drop_system.py", - "line": 172 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:invalidate_cache", - "name": "invalidate_cache", - "file": "utils/hardware_integration.py", - "line": 1433 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_ordered_jobs_for_printer", - "name": "get_ordered_jobs_for_printer", - "file": "utils/drag_drop_system.py", - "line": 194 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:invalidate_cache", - "name": "invalidate_cache", - "file": "utils/hardware_integration.py", - "line": 1433 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:invalidate_cache", - "name": "invalidate_cache", - "file": "utils/hardware_integration.py", - "line": 1433 - }, - "func2": { - "key": "utils/job_scheduler.py:check_and_manage_printer_power", - "name": "check_and_manage_printer_power", - "file": "utils/job_scheduler.py", - "line": 547 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:invalidate_cache", - "name": "invalidate_cache", - "file": "utils/hardware_integration.py", - "line": 1433 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7473684210526315, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_jobs", - "name": "_check_jobs", - "file": "utils/job_scheduler.py", - "line": 374 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:require_plug_ip_access", - "name": "require_plug_ip_access", - "file": "utils/ip_security.py", - "line": 170 - }, - "func2": { - "key": "utils/ip_security.py:require_admin_ip_access", - "name": "require_admin_ip_access", - "file": "utils/ip_security.py", - "line": 208 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "similarity": 0.7088235294117646, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7057142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7473684210526315, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:is_plug_ip_allowed", - "name": "is_plug_ip_allowed", - "file": "utils/ip_security.py", - "line": 46 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "func2": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "func2": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "similarity": 0.7749999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.9249999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "func2": { - "key": "utils/job_scheduler.py:_run", - "name": "_run", - "file": "utils/job_scheduler.py", - "line": 266 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "func2": { - "key": "utils/core_system.py:__init__", - "name": "__init__", - "file": "utils/core_system.py", - "line": 730 - }, - "similarity": 0.7214285714285714, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.7749999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "func2": { - "key": "utils/logging_config.py:__init__", - "name": "__init__", - "file": "utils/logging_config.py", - "line": 27 - }, - "similarity": 0.7428571428571429, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:__init__", - "name": "__init__", - "file": "utils/ip_security.py", - "line": 24 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "func2": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.7027777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.8066666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:validate_plug_access", - "name": "validate_plug_access", - "file": "utils/ip_security.py", - "line": 122 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:wrapper", - "name": "wrapper", - "file": "utils/ip_security.py", - "line": 219 - }, - "func2": { - "key": "utils/security_suite.py:wrapper", - "name": "wrapper", - "file": "utils/security_suite.py", - "line": 91 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ip_security.py:wrapper", - "name": "wrapper", - "file": "utils/ip_security.py", - "line": 219 - }, - "func2": { - "key": "utils/logging_config.py:wrapper", - "name": "wrapper", - "file": "utils/logging_config.py", - "line": 246 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "func2": { - "key": "utils/security_suite.py:__init__", - "name": "__init__", - "file": "utils/security_suite.py", - "line": 70 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:__init__", - "name": "__init__", - "file": "utils/ssl_suite.py", - "line": 67 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "func2": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "similarity": 0.7733333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7861538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:get_ssl_context", - "name": "get_ssl_context", - "file": "utils/ssl_suite.py", - "line": 43 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7096153846153845, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:verify_ssl_files", - "name": "verify_ssl_files", - "file": "utils/ssl_suite.py", - "line": 52 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:generate_self_signed_cert", - "name": "generate_self_signed_cert", - "file": "utils/ssl_suite.py", - "line": 70 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7642857142857142, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:generate_self_signed_cert", - "name": "generate_self_signed_cert", - "file": "utils/ssl_suite.py", - "line": 70 - }, - "func2": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:generate_self_signed_cert", - "name": "generate_self_signed_cert", - "file": "utils/ssl_suite.py", - "line": 70 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:generate_self_signed_cert", - "name": "generate_self_signed_cert", - "file": "utils/ssl_suite.py", - "line": 70 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7433333333333334, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:generate_self_signed_cert", - "name": "generate_self_signed_cert", - "file": "utils/ssl_suite.py", - "line": 70 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7894736842105263, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7894736842105263, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/api_utils.py:create_printers_response", - "name": "create_printers_response", - "file": "utils/api_utils.py", - "line": 70 - }, - "func2": { - "key": "legacy/app_original.py:test_printer_tapo_connection", - "name": "test_printer_tapo_connection", - "file": "legacy/app_original.py", - "line": 3268 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/api_utils.py:is_valid_response", - "name": "is_valid_response", - "file": "utils/api_utils.py", - "line": 149 - }, - "func2": { - "key": "utils/api_utils.py:normalize_response", - "name": "normalize_response", - "file": "utils/api_utils.py", - "line": 169 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/security_suite.py:require_permission", - "name": "require_permission", - "file": "utils/security_suite.py", - "line": 86 - }, - "func2": { - "key": "utils/security_suite.py:check_permission", - "name": "check_permission", - "file": "utils/security_suite.py", - "line": 111 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/security_suite.py:apply_security_headers", - "name": "apply_security_headers", - "file": "utils/security_suite.py", - "line": 122 - }, - "func2": { - "key": "legacy/app_original.py:add_optimized_cache_headers", - "name": "add_optimized_cache_headers", - "file": "legacy/app_original.py", - "line": 473 - }, - "similarity": 0.7838235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/security_suite.py:__init__", - "name": "__init__", - "file": "utils/security_suite.py", - "line": 70 - }, - "func2": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/security_suite.py:__init__", - "name": "__init__", - "file": "utils/security_suite.py", - "line": 70 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.8500000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/security_suite.py:__init__", - "name": "__init__", - "file": "utils/security_suite.py", - "line": 70 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7000000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "func2": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "similarity": 0.775, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7085714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/security_suite.py:decorator", - "name": "decorator", - "file": "utils/security_suite.py", - "line": 88 - }, - "func2": { - "key": "utils/logging_config.py:decorator", - "name": "decorator", - "file": "utils/logging_config.py", - "line": 244 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/security_suite.py:decorator", - "name": "decorator", - "file": "utils/security_suite.py", - "line": 88 - }, - "func2": { - "key": "legacy/app_original.py:job_owner_required", - "name": "job_owner_required", - "file": "legacy/app_original.py", - "line": 787 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/security_suite.py:decorator", - "name": "decorator", - "file": "utils/security_suite.py", - "line": 88 - }, - "func2": { - "key": "legacy/app_original.py:admin_required", - "name": "admin_required", - "file": "legacy/app_original.py", - "line": 809 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/security_suite.py:wrapper", - "name": "wrapper", - "file": "utils/security_suite.py", - "line": 91 - }, - "func2": { - "key": "utils/logging_config.py:wrapper", - "name": "wrapper", - "file": "utils/logging_config.py", - "line": 246 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_drag_drop_css", - "name": "get_drag_drop_css", - "file": "utils/drag_drop_system.py", - "line": 1475 - }, - "func2": { - "key": "legacy/app_original.py:get_dragdrop_css", - "name": "get_dragdrop_css", - "file": "legacy/app_original.py", - "line": 6579 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:__init__", - "name": "__init__", - "file": "utils/drag_drop_system.py", - "line": 57 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:create_upload_session", - "name": "create_upload_session", - "file": "utils/drag_drop_system.py", - "line": 61 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_session_progress", - "name": "get_session_progress", - "file": "utils/drag_drop_system.py", - "line": 93 - }, - "similarity": 0.7114285714285714, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:create_upload_session", - "name": "create_upload_session", - "file": "utils/drag_drop_system.py", - "line": 61 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_session", - "name": "cleanup_session", - "file": "utils/drag_drop_system.py", - "line": 113 - }, - "similarity": 0.7642857142857143, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_session", - "name": "cleanup_session", - "file": "utils/drag_drop_system.py", - "line": 113 - }, - "func2": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "similarity": 0.7642857142857142, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_session", - "name": "cleanup_session", - "file": "utils/drag_drop_system.py", - "line": 113 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.726923076923077, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_session", - "name": "cleanup_session", - "file": "utils/drag_drop_system.py", - "line": 113 - }, - "func2": { - "key": "utils/drag_drop_system.py:_calculate_completion_time", - "name": "_calculate_completion_time", - "file": "utils/drag_drop_system.py", - "line": 381 - }, - "similarity": 0.7076923076923076, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_session", - "name": "cleanup_session", - "file": "utils/drag_drop_system.py", - "line": 113 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.740909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_session", - "name": "cleanup_session", - "file": "utils/drag_drop_system.py", - "line": 113 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_session", - "name": "cleanup_session", - "file": "utils/drag_drop_system.py", - "line": 113 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_session", - "name": "cleanup_session", - "file": "utils/drag_drop_system.py", - "line": 113 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.726923076923077, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:update_job_order", - "name": "update_job_order", - "file": "utils/drag_drop_system.py", - "line": 119 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_job_order", - "name": "get_job_order", - "file": "utils/drag_drop_system.py", - "line": 172 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:update_job_order", - "name": "update_job_order", - "file": "utils/drag_drop_system.py", - "line": 119 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_ordered_jobs_for_printer", - "name": "get_ordered_jobs_for_printer", - "file": "utils/drag_drop_system.py", - "line": 194 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:update_job_order", - "name": "update_job_order", - "file": "utils/drag_drop_system.py", - "line": 119 - }, - "func2": { - "key": "legacy/app_original.py:update_job_order", - "name": "update_job_order", - "file": "legacy/app_original.py", - "line": 6475 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:update_job_order", - "name": "update_job_order", - "file": "utils/drag_drop_system.py", - "line": 119 - }, - "func2": { - "key": "legacy/app_original.py:get_job_order_api", - "name": "get_job_order_api", - "file": "legacy/app_original.py", - "line": 6508 - }, - "similarity": 0.7076923076923076, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_job_order", - "name": "get_job_order", - "file": "utils/drag_drop_system.py", - "line": 172 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_ordered_jobs_for_printer", - "name": "get_ordered_jobs_for_printer", - "file": "utils/drag_drop_system.py", - "line": 194 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_job_order", - "name": "get_job_order", - "file": "utils/drag_drop_system.py", - "line": 172 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_job_order", - "name": "get_job_order", - "file": "utils/drag_drop_system.py", - "line": 172 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_job_order", - "name": "get_job_order", - "file": "utils/drag_drop_system.py", - "line": 172 - }, - "func2": { - "key": "legacy/app_original.py:get_job_order_api", - "name": "get_job_order_api", - "file": "legacy/app_original.py", - "line": 6508 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_ordered_jobs_for_printer", - "name": "get_ordered_jobs_for_printer", - "file": "utils/drag_drop_system.py", - "line": 194 - }, - "func2": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_ordered_jobs_for_printer", - "name": "get_ordered_jobs_for_printer", - "file": "utils/drag_drop_system.py", - "line": 194 - }, - "func2": { - "key": "utils/job_scheduler.py:toggle_printer_plug", - "name": "toggle_printer_plug", - "file": "utils/job_scheduler.py", - "line": 310 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_ordered_jobs_for_printer", - "name": "get_ordered_jobs_for_printer", - "file": "utils/drag_drop_system.py", - "line": 194 - }, - "func2": { - "key": "utils/job_scheduler.py:check_and_manage_printer_power", - "name": "check_and_manage_printer_power", - "file": "utils/job_scheduler.py", - "line": 547 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_ordered_jobs_for_printer", - "name": "get_ordered_jobs_for_printer", - "file": "utils/drag_drop_system.py", - "line": 194 - }, - "func2": { - "key": "legacy/app_original.py:get_job_order_api", - "name": "get_job_order_api", - "file": "legacy/app_original.py", - "line": 6508 - }, - "similarity": 0.7433333333333334, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/drag_drop_system.py:_calculate_completion_time", - "name": "_calculate_completion_time", - "file": "utils/drag_drop_system.py", - "line": 381 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7894736842105263, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "similarity": 0.7323529411764707, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8588235294117648, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/database_suite.py:cleanup_old_jobs", - "name": "cleanup_old_jobs", - "file": "utils/database_suite.py", - "line": 179 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.875, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:cleanup_invalid_orders", - "name": "cleanup_invalid_orders", - "file": "utils/drag_drop_system.py", - "line": 292 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.8909090909090909, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/database_suite.py:cleanup_old_jobs", - "name": "cleanup_old_jobs", - "file": "utils/database_suite.py", - "line": 179 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "func2": { - "key": "utils/job_scheduler.py:toggle_printer_plug", - "name": "toggle_printer_plug", - "file": "utils/job_scheduler.py", - "line": 310 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "func2": { - "key": "utils/job_scheduler.py:check_and_manage_printer_power", - "name": "check_and_manage_printer_power", - "file": "utils/job_scheduler.py", - "line": 547 - }, - "similarity": 0.7105263157894737, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.726923076923077, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7884615384615385, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7642857142857142, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_printer_page", - "name": "admin_edit_printer_page", - "file": "legacy/app_original.py", - "line": 3419 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_calculate_completion_time", - "name": "_calculate_completion_time", - "file": "utils/drag_drop_system.py", - "line": 381 - }, - "func2": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_calculate_completion_time", - "name": "_calculate_completion_time", - "file": "utils/drag_drop_system.py", - "line": 381 - }, - "func2": { - "key": "utils/core_system.py:cancel_timeout", - "name": "cancel_timeout", - "file": "utils/core_system.py", - "line": 394 - }, - "similarity": 0.7666666666666666, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_calculate_completion_time", - "name": "_calculate_completion_time", - "file": "utils/drag_drop_system.py", - "line": 381 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_calculate_completion_time", - "name": "_calculate_completion_time", - "file": "utils/drag_drop_system.py", - "line": 381 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7433333333333334, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_calculate_completion_time", - "name": "_calculate_completion_time", - "file": "utils/drag_drop_system.py", - "line": 381 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/drag_drop_system.py:_calculate_completion_time", - "name": "_calculate_completion_time", - "file": "utils/drag_drop_system.py", - "line": 381 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "func2": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.8999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/database_cleanup.py:__init__", - "name": "__init__", - "file": "utils/database_cleanup.py", - "line": 23 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.72, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:register_engine", - "name": "register_engine", - "file": "utils/database_cleanup.py", - "line": 28 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:register_engine", - "name": "register_engine", - "file": "utils/database_cleanup.py", - "line": 28 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:register_engine", - "name": "register_engine", - "file": "utils/database_cleanup.py", - "line": 28 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.740909090909091, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:register_engine", - "name": "register_engine", - "file": "utils/database_cleanup.py", - "line": 28 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7045454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7181818181818183, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.7818181818181817, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/core_system.py:cancel_timeout", - "name": "cancel_timeout", - "file": "utils/core_system.py", - "line": 394 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.9555555555555555, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "func2": { - "key": "utils/core_system.py:__init__", - "name": "__init__", - "file": "utils/core_system.py", - "line": 730 - }, - "similarity": 0.8071428571428572, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "func2": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/job_scheduler.py:__init__", - "name": "__init__", - "file": "utils/job_scheduler.py", - "line": 35 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 1.0, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7166666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.7476190476190476, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:get_uptime", - "name": "get_uptime", - "file": "utils/job_scheduler.py", - "line": 194 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7291666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7538461538461538, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7142857142857142, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_run", - "name": "_run", - "file": "utils/job_scheduler.py", - "line": 266 - }, - "func2": { - "key": "utils/core_system.py:run", - "name": "run", - "file": "utils/core_system.py", - "line": 701 - }, - "similarity": 0.8400000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_run", - "name": "_run", - "file": "utils/job_scheduler.py", - "line": 266 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7027777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_jobs", - "name": "_check_jobs", - "file": "utils/job_scheduler.py", - "line": 374 - }, - "func2": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "similarity": 0.7571428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_jobs", - "name": "_check_jobs", - "file": "utils/job_scheduler.py", - "line": 374 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_jobs", - "name": "_check_jobs", - "file": "utils/job_scheduler.py", - "line": 374 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_jobs", - "name": "_check_jobs", - "file": "utils/job_scheduler.py", - "line": 374 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:handle_immediate_job", - "name": "handle_immediate_job", - "file": "utils/job_scheduler.py", - "line": 488 - }, - "func2": { - "key": "legacy/app_original.py:get_job_detail", - "name": "get_job_detail", - "file": "legacy/app_original.py", - "line": 4349 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7894736842105263, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7684210526315789, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:restart_system_service", - "name": "restart_system_service", - "file": "utils/core_system.py", - "line": 766 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7071428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:restart_system_service", - "name": "restart_system_service", - "file": "utils/core_system.py", - "line": 766 - }, - "func2": { - "key": "utils/core_system.py:is_service_active", - "name": "is_service_active", - "file": "utils/core_system.py", - "line": 573 - }, - "similarity": 0.9272727272727272, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:restart_system_service", - "name": "restart_system_service", - "file": "utils/core_system.py", - "line": 766 - }, - "func2": { - "key": "utils/core_system.py:restart_service", - "name": "restart_service", - "file": "utils/core_system.py", - "line": 584 - }, - "similarity": 0.7129870129870131, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/core_system.py:restart_system_service", - "name": "restart_system_service", - "file": "utils/core_system.py", - "line": 766 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7769230769230768, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_system_status", - "name": "get_system_status", - "file": "utils/core_system.py", - "line": 770 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:register_shutdown_hook", - "name": "register_shutdown_hook", - "file": "utils/core_system.py", - "line": 457 - }, - "func2": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "similarity": 0.7105263157894737, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "func2": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:graceful_shutdown", - "name": "graceful_shutdown", - "file": "utils/core_system.py", - "line": 464 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:recover_service", - "name": "recover_service", - "file": "utils/core_system.py", - "line": 292 - }, - "func2": { - "key": "utils/core_system.py:restart_service", - "name": "restart_service", - "file": "utils/core_system.py", - "line": 584 - }, - "similarity": 0.7424999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:__init__", - "name": "__init__", - "file": "utils/core_system.py", - "line": 730 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.8071428571428572, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/core_system.py:register_thread", - "name": "register_thread", - "file": "utils/core_system.py", - "line": 130 - }, - "similarity": 0.7833333333333334, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7461538461538462, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:register_thread", - "name": "register_thread", - "file": "utils/core_system.py", - "line": 130 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7088235294117646, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7323529411764707, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7433333333333334, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.8153846153846154, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.8142857142857143, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cancel_timeout", - "name": "cancel_timeout", - "file": "utils/core_system.py", - "line": 394 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cancel_timeout", - "name": "cancel_timeout", - "file": "utils/core_system.py", - "line": 394 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7166666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cancel_timeout", - "name": "cancel_timeout", - "file": "utils/core_system.py", - "line": 394 - }, - "func2": { - "key": "legacy/app_original.py:api_admin_cancel_operation", - "name": "api_admin_cancel_operation", - "file": "legacy/app_original.py", - "line": 1606 - }, - "similarity": 0.7357142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "func2": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "similarity": 0.711111111111111, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:get", - "name": "get", - "file": "utils/core_system.py", - "line": 537 - }, - "func2": { - "key": "legacy/app_original.py:get", - "name": "get", - "file": "legacy/app_original.py", - "line": 178 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "func2": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "similarity": 0.7246153846153847, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:setup_logging", - "name": "setup_logging", - "file": "utils/core_system.py", - "line": 553 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.7028846153846153, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/core_system.py:is_service_active", - "name": "is_service_active", - "file": "utils/core_system.py", - "line": 573 - }, - "func2": { - "key": "utils/core_system.py:restart_service", - "name": "restart_service", - "file": "utils/core_system.py", - "line": 584 - }, - "similarity": 0.7857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "func2": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "similarity": 0.7777777777777777, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7052631578947368, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7473684210526315, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "func2": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "similarity": 0.875, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.7052631578947368, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7052631578947368, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "func2": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7263157894736842, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8933333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.825, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.8352941176470587, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.9200000000000002, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7571428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/core_system.py:start_watchdog", - "name": "start_watchdog", - "file": "utils/core_system.py", - "line": 742 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.726923076923077, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "func2": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7052631578947368, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7571428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:backup_database", - "name": "backup_database", - "file": "utils/database_suite.py", - "line": 65 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.85, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:__init__", - "name": "__init__", - "file": "utils/database_suite.py", - "line": 176 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.75, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "func2": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7066666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7714285714285714, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7428571428571429, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:get_table_info", - "name": "get_table_info", - "file": "utils/database_suite.py", - "line": 88 - }, - "func2": { - "key": "utils/database_suite.py:count_rows", - "name": "count_rows", - "file": "utils/database_suite.py", - "line": 111 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_health_status", - "name": "get_health_status", - "file": "utils/monitoring_analytics.py", - "line": 265 - }, - "similarity": 0.73, - "reason": "gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7431818181818182, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "func2": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7571428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:migrate_user_settings", - "name": "migrate_user_settings", - "file": "utils/database_suite.py", - "line": 126 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "func2": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7176470588235294, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "func2": { - "key": "utils/script_collection.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/script_collection.py", - "line": 107 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:cleanup_old_jobs", - "name": "cleanup_old_jobs", - "file": "utils/database_suite.py", - "line": 179 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "func2": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "similarity": 0.7052631578947368, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.7411764705882353, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/logging_config.py:doRollover", - "name": "doRollover", - "file": "utils/logging_config.py", - "line": 38 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "func2": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.8117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8500000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7666666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.788235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "func2": { - "key": "utils/monitoring_analytics.py:generate_usage_report", - "name": "generate_usage_report", - "file": "utils/monitoring_analytics.py", - "line": 223 - }, - "similarity": 0.7076923076923076, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.709090909090909, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7230769230769231, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "func2": { - "key": "utils/script_collection.py:__init__", - "name": "__init__", - "file": "utils/script_collection.py", - "line": 170 - }, - "similarity": 0.7999999999999999, - "reason": "ähnliche Namen, gemeinsame Argumente" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:__init__", - "name": "__init__", - "file": "utils/monitoring_analytics.py", - "line": 252 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7454545454545454, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "similarity": 0.7857142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.8076923076923077, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7333333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7153846153846153, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "func2": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7571428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.7117647058823529, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "similarity": 0.7749999999999999, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.76, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "func2": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "similarity": 0.8933333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "func2": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "similarity": 0.7647058823529411, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "func2": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.75, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "utils/script_collection.py:run_all_tests", - "name": "run_all_tests", - "file": "utils/script_collection.py", - "line": 178 - }, - "func2": { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194 - }, - "similarity": 0.8272727272727274, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "func2": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "func2": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "func2": { - "key": "legacy/app_original.py:delete_user", - "name": "delete_user", - "file": "legacy/app_original.py", - "line": 3747 - }, - "similarity": 0.7181818181818183, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:clear_user_cache", - "name": "clear_user_cache", - "file": "legacy/app_original.py", - "line": 311 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "func2": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "similarity": 0.7846153846153846, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 0.8333333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "func2": { - "key": "legacy/app_original.py:delete_user", - "name": "delete_user", - "file": "legacy/app_original.py", - "line": 3747 - }, - "similarity": 0.78, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:log_response_info", - "name": "log_response_info", - "file": "legacy/app_original.py", - "line": 762 - }, - "func2": { - "key": "legacy/app_original.py:add_optimized_cache_headers", - "name": "add_optimized_cache_headers", - "file": "legacy/app_original.py", - "line": 473 - }, - "similarity": 0.7555555555555555, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:job_owner_required", - "name": "job_owner_required", - "file": "legacy/app_original.py", - "line": 787 - }, - "func2": { - "key": "legacy/app_original.py:admin_required", - "name": "admin_required", - "file": "legacy/app_original.py", - "line": 809 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:user_update_profile", - "name": "user_update_profile", - "file": "legacy/app_original.py", - "line": 1696 - }, - "func2": { - "key": "legacy/app_original.py:user_update_profile_api", - "name": "user_update_profile_api", - "file": "legacy/app_original.py", - "line": 2138 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:profile_redirect", - "name": "profile_redirect", - "file": "legacy/app_original.py", - "line": 2376 - }, - "func2": { - "key": "legacy/app_original.py:profil_redirect", - "name": "profil_redirect", - "file": "legacy/app_original.py", - "line": 2382 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:admin_printer_settings_page", - "name": "admin_printer_settings_page", - "file": "legacy/app_original.py", - "line": 2874 - }, - "func2": { - "key": "legacy/app_original.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "legacy/app_original.py", - "line": 3190 - }, - "similarity": 0.7383333333333333, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:admin_printer_settings_page", - "name": "admin_printer_settings_page", - "file": "legacy/app_original.py", - "line": 2874 - }, - "func2": { - "key": "legacy/app_original.py:test_printer_tapo_connection", - "name": "test_printer_tapo_connection", - "file": "legacy/app_original.py", - "line": 3268 - }, - "similarity": 0.7071428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:admin_printer_settings_page", - "name": "admin_printer_settings_page", - "file": "legacy/app_original.py", - "line": 2874 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_printer_page", - "name": "admin_edit_printer_page", - "file": "legacy/app_original.py", - "line": 3419 - }, - "similarity": 0.8166666666666668, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:admin_printer_settings_page", - "name": "admin_printer_settings_page", - "file": "legacy/app_original.py", - "line": 2874 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_printer_form", - "name": "admin_update_printer_form", - "file": "legacy/app_original.py", - "line": 3689 - }, - "similarity": 0.7916666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:admin_guest_requests", - "name": "admin_guest_requests", - "file": "legacy/app_original.py", - "line": 2911 - }, - "func2": { - "key": "legacy/app_original.py:get_admin_guest_requests", - "name": "get_admin_guest_requests", - "file": "legacy/app_original.py", - "line": 5056 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "func2": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "similarity": 0.9272727272727272, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585 - }, - "similarity": 0.7576923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "func2": { - "key": "legacy/app_original.py:delete_user", - "name": "delete_user", - "file": "legacy/app_original.py", - "line": 3747 - }, - "similarity": 0.7, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585 - }, - "similarity": 0.7576923076923078, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "similarity": 0.7857142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "func2": { - "key": "legacy/app_original.py:delete_user", - "name": "delete_user", - "file": "legacy/app_original.py", - "line": 3747 - }, - "similarity": 0.7545454545454546, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "legacy/app_original.py", - "line": 3190 - }, - "func2": { - "key": "legacy/app_original.py:test_printer_tapo_connection", - "name": "test_printer_tapo_connection", - "file": "legacy/app_original.py", - "line": 3268 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "legacy/app_original.py", - "line": 3190 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_printer_page", - "name": "admin_edit_printer_page", - "file": "legacy/app_original.py", - "line": 3419 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "legacy/app_original.py", - "line": 3190 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_printer_form", - "name": "admin_update_printer_form", - "file": "legacy/app_original.py", - "line": 3689 - }, - "similarity": 0.8, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "legacy/app_original.py", - "line": 3190 - }, - "func2": { - "key": "legacy/app_original.py:get_job_order_api", - "name": "get_job_order_api", - "file": "legacy/app_original.py", - "line": 6508 - }, - "similarity": 0.7133333333333334, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:test_printer_tapo_connection", - "name": "test_printer_tapo_connection", - "file": "legacy/app_original.py", - "line": 3268 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_printer_page", - "name": "admin_edit_printer_page", - "file": "legacy/app_original.py", - "line": 3419 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:test_printer_tapo_connection", - "name": "test_printer_tapo_connection", - "file": "legacy/app_original.py", - "line": 3268 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_printer_form", - "name": "admin_update_printer_form", - "file": "legacy/app_original.py", - "line": 3689 - }, - "similarity": 0.74, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:test_printer_tapo_connection", - "name": "test_printer_tapo_connection", - "file": "legacy/app_original.py", - "line": 3268 - }, - "func2": { - "key": "legacy/app_original.py:get_job_order_api", - "name": "get_job_order_api", - "file": "legacy/app_original.py", - "line": 6508 - }, - "similarity": 0.8133333333333332, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:admin_add_printer_page", - "name": "admin_add_printer_page", - "file": "legacy/app_original.py", - "line": 3406 - }, - "func2": { - "key": "legacy/app_original.py:admin_edit_printer_page", - "name": "admin_edit_printer_page", - "file": "legacy/app_original.py", - "line": 3419 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:admin_edit_printer_page", - "name": "admin_edit_printer_page", - "file": "legacy/app_original.py", - "line": 3419 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_printer_form", - "name": "admin_update_printer_form", - "file": "legacy/app_original.py", - "line": 3689 - }, - "similarity": 0.7857142857142858, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:admin_edit_printer_page", - "name": "admin_edit_printer_page", - "file": "legacy/app_original.py", - "line": 3419 - }, - "func2": { - "key": "legacy/app_original.py:get_job_order_api", - "name": "get_job_order_api", - "file": "legacy/app_original.py", - "line": 6508 - }, - "similarity": 0.8571428571428572, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585 - }, - "func2": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "similarity": 0.8450000000000001, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585 - }, - "func2": { - "key": "legacy/app_original.py:delete_user", - "name": "delete_user", - "file": "legacy/app_original.py", - "line": 3747 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.725, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "func2": { - "key": "legacy/app_original.py:delete_user", - "name": "delete_user", - "file": "legacy/app_original.py", - "line": 3747 - }, - "similarity": 0.7866666666666666, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619 - }, - "func2": { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271 - }, - "similarity": 0.7588235294117647, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:admin_update_printer_form", - "name": "admin_update_printer_form", - "file": "legacy/app_original.py", - "line": 3689 - }, - "func2": { - "key": "legacy/app_original.py:get_job_order_api", - "name": "get_job_order_api", - "file": "legacy/app_original.py", - "line": 6508 - }, - "similarity": 0.7250000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:serve_uploaded_file", - "name": "serve_uploaded_file", - "file": "legacy/app_original.py", - "line": 4159 - }, - "func2": { - "key": "legacy/app_original.py:delete_uploaded_file", - "name": "delete_uploaded_file", - "file": "legacy/app_original.py", - "line": 4208 - }, - "similarity": 0.8857142857142857, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:get_job_detail", - "name": "get_job_detail", - "file": "legacy/app_original.py", - "line": 4349 - }, - "func2": { - "key": "legacy/app_original.py:delete_job", - "name": "delete_job", - "file": "legacy/app_original.py", - "line": 4378 - }, - "similarity": 0.8909090909090909, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:get_job_detail", - "name": "get_job_detail", - "file": "legacy/app_original.py", - "line": 4349 - }, - "func2": { - "key": "legacy/app_original.py:update_job", - "name": "update_job", - "file": "legacy/app_original.py", - "line": 4564 - }, - "similarity": 0.8461538461538463, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:delete_job", - "name": "delete_job", - "file": "legacy/app_original.py", - "line": 4378 - }, - "func2": { - "key": "legacy/app_original.py:update_job", - "name": "update_job", - "file": "legacy/app_original.py", - "line": 4564 - }, - "similarity": 0.8545454545454545, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:get_guest_request_status", - "name": "get_guest_request_status", - "file": "legacy/app_original.py", - "line": 4943 - }, - "func2": { - "key": "legacy/app_original.py:get_guest_requests_stats", - "name": "get_guest_requests_stats", - "file": "legacy/app_original.py", - "line": 5454 - }, - "similarity": 0.7, - "reason": "ähnliche Namen, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:approve_guest_request", - "name": "approve_guest_request", - "file": "legacy/app_original.py", - "line": 5179 - }, - "func2": { - "key": "legacy/app_original.py:reject_guest_request", - "name": "reject_guest_request", - "file": "legacy/app_original.py", - "line": 5259 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:approve_guest_request", - "name": "approve_guest_request", - "file": "legacy/app_original.py", - "line": 5179 - }, - "func2": { - "key": "legacy/app_original.py:delete_guest_request", - "name": "delete_guest_request", - "file": "legacy/app_original.py", - "line": 5326 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:approve_guest_request", - "name": "approve_guest_request", - "file": "legacy/app_original.py", - "line": 5179 - }, - "func2": { - "key": "legacy/app_original.py:get_guest_request_detail", - "name": "get_guest_request_detail", - "file": "legacy/app_original.py", - "line": 5370 - }, - "similarity": 0.8400000000000001, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:reject_guest_request", - "name": "reject_guest_request", - "file": "legacy/app_original.py", - "line": 5259 - }, - "func2": { - "key": "legacy/app_original.py:delete_guest_request", - "name": "delete_guest_request", - "file": "legacy/app_original.py", - "line": 5326 - }, - "similarity": 0.8666666666666667, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:reject_guest_request", - "name": "reject_guest_request", - "file": "legacy/app_original.py", - "line": 5259 - }, - "func2": { - "key": "legacy/app_original.py:get_guest_request_detail", - "name": "get_guest_request_detail", - "file": "legacy/app_original.py", - "line": 5370 - }, - "similarity": 0.8285714285714285, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:delete_guest_request", - "name": "delete_guest_request", - "file": "legacy/app_original.py", - "line": 5326 - }, - "func2": { - "key": "legacy/app_original.py:get_guest_request_detail", - "name": "get_guest_request_detail", - "file": "legacy/app_original.py", - "line": 5370 - }, - "similarity": 0.9333333333333333, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:apply_round_robin_optimization", - "name": "apply_round_robin_optimization", - "file": "legacy/app_original.py", - "line": 6187 - }, - "func2": { - "key": "legacy/app_original.py:apply_load_balance_optimization", - "name": "apply_load_balance_optimization", - "file": "legacy/app_original.py", - "line": 6207 - }, - "similarity": 0.8558823529411765, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:apply_round_robin_optimization", - "name": "apply_round_robin_optimization", - "file": "legacy/app_original.py", - "line": 6187 - }, - "func2": { - "key": "legacy/app_original.py:apply_priority_optimization", - "name": "apply_priority_optimization", - "file": "legacy/app_original.py", - "line": 6236 - }, - "similarity": 0.8342857142857144, - "reason": "ähnliche Namen, gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:apply_load_balance_optimization", - "name": "apply_load_balance_optimization", - "file": "legacy/app_original.py", - "line": 6207 - }, - "func2": { - "key": "legacy/app_original.py:apply_priority_optimization", - "name": "apply_priority_optimization", - "file": "legacy/app_original.py", - "line": 6236 - }, - "similarity": 0.8321428571428571, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:get_status_icon", - "name": "get_status_icon", - "file": "legacy/app_original.py", - "line": 9299 - }, - "func2": { - "key": "legacy/app_original.py:get_status_color", - "name": "get_status_color", - "file": "legacy/app_original.py", - "line": 9311 - }, - "similarity": 0.8769230769230769, - "reason": "gemeinsame Argumente, ähnliche Länge" - }, - { - "func1": { - "key": "legacy/app_original.py:add_optimized_cache_headers", - "name": "add_optimized_cache_headers", - "file": "legacy/app_original.py", - "line": 473 - }, - "func2": { - "key": "legacy/app_original.py:add_cache_headers", - "name": "add_cache_headers", - "file": "legacy/app_original.py", - "line": 83 - }, - "similarity": 0.7285714285714286, - "reason": "gemeinsame Argumente, ähnliche Länge" - } - ], - "redundant_helpers": [ - { - "key": "cleanup_imports.py:should_process_file", - "name": "should_process_file", - "file": "cleanup_imports.py", - "line": 88, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "cleanup_imports.py:analyze_file_imports", - "name": "analyze_file_imports", - "file": "cleanup_imports.py", - "line": 101, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "cleanup_imports.py:find_safe_unused_imports", - "name": "find_safe_unused_imports", - "file": "cleanup_imports.py", - "line": 143, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "cleanup_imports.py:remove_unused_imports", - "name": "remove_unused_imports", - "file": "cleanup_imports.py", - "line": 164, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "models.py:create_optimized_engine", - "name": "create_optimized_engine", - "file": "models.py", - "line": 114, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "models.py:get_session_factory", - "name": "get_session_factory", - "file": "models.py", - "line": 209, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "models.py:get_maintenance_session", - "name": "get_maintenance_session", - "file": "models.py", - "line": 230, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "models.py:get_cache_key", - "name": "get_cache_key", - "file": "models.py", - "line": 246, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:set_cache", - "name": "set_cache", - "file": "models.py", - "line": 252, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:get_cache", - "name": "get_cache", - "file": "models.py", - "line": 260, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:create_initial_printers", - "name": "create_initial_printers", - "file": "models.py", - "line": 2332, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "models.py:clear_model_cache", - "name": "clear_model_cache", - "file": "models.py", - "line": 2459, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:maintenance_worker", - "name": "maintenance_worker", - "file": "models.py", - "line": 179, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:is_admin", - "name": "is_admin", - "file": "models.py", - "line": 378, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "models.py:has_role", - "name": "has_role", - "file": "models.py", - "line": 381, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:get_initials", - "name": "get_initials", - "file": "models.py", - "line": 393, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "models.py:display_name", - "name": "display_name", - "file": "models.py", - "line": 416, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:is_active", - "name": "is_active", - "file": "models.py", - "line": 426, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:get_id", - "name": "get_id", - "file": "models.py", - "line": 430, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:get_by_username_or_email", - "name": "get_by_username_or_email", - "file": "models.py", - "line": 464, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "models.py:get_by_id_cached", - "name": "get_by_id_cached", - "file": "models.py", - "line": 486, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "models.py:get_permission_level", - "name": "get_permission_level", - "file": "models.py", - "line": 552, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "models.py:get_all_cached", - "name": "get_all_cached", - "file": "models.py", - "line": 634, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "models.py:get_online_printers", - "name": "get_online_printers", - "file": "models.py", - "line": 653, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "models.py:get_active_jobs", - "name": "get_active_jobs", - "file": "models.py", - "line": 745, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "models.py:get_user_jobs", - "name": "get_user_jobs", - "file": "models.py", - "line": 766, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "models.py:create_for_approvers", - "name": "create_for_approvers", - "file": "models.py", - "line": 931, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "models.py:mark_otp_used", - "name": "mark_otp_used", - "file": "models.py", - "line": 1163, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:is_otp_valid", - "name": "is_otp_valid", - "file": "models.py", - "line": 1180, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "models.py:get_otp_status", - "name": "get_otp_status", - "file": "models.py", - "line": 1195, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "models.py:find_by_otp", - "name": "find_by_otp", - "file": "models.py", - "line": 1211, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "models.py:find_by_otp_and_name", - "name": "find_by_otp_and_name", - "file": "models.py", - "line": 1239, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "models.py:get_order_for_printer", - "name": "get_order_for_printer", - "file": "models.py", - "line": 1313, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "models.py:update_printer_order", - "name": "update_printer_order", - "file": "models.py", - "line": 1333, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:remove_job_from_orders", - "name": "remove_job_from_orders", - "file": "models.py", - "line": 1383, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:is_running", - "name": "is_running", - "file": "models.py", - "line": 1555, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:is_expired", - "name": "is_expired", - "file": "models.py", - "line": 1561, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:should_show_warning", - "name": "should_show_warning", - "file": "models.py", - "line": 1567, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "models.py:get_progress_percentage", - "name": "get_progress_percentage", - "file": "models.py", - "line": 1577, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "models.py:start_timer", - "name": "start_timer", - "file": "models.py", - "line": 1587, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:pause_timer", - "name": "pause_timer", - "file": "models.py", - "line": 1612, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:stop_timer", - "name": "stop_timer", - "file": "models.py", - "line": 1635, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:reset_timer", - "name": "reset_timer", - "file": "models.py", - "line": 1654, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:extend_timer", - "name": "extend_timer", - "file": "models.py", - "line": 1676, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:force_quit_execute", - "name": "force_quit_execute", - "file": "models.py", - "line": 1703, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:update_activity", - "name": "update_activity", - "file": "models.py", - "line": 1726, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:get_by_name", - "name": "get_by_name", - "file": "models.py", - "line": 1744, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "models.py:get_by_type", - "name": "get_by_type", - "file": "models.py", - "line": 1764, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "models.py:get_running_timers", - "name": "get_running_timers", - "file": "models.py", - "line": 1782, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "models.py:get_expired_timers", - "name": "get_expired_timers", - "file": "models.py", - "line": 1800, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:cleanup_expired_timers", - "name": "cleanup_expired_timers", - "file": "models.py", - "line": 1817, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:create_kiosk_timer", - "name": "create_kiosk_timer", - "file": "models.py", - "line": 1841, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "models.py:get_printer_history", - "name": "get_printer_history", - "file": "models.py", - "line": 2048, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "models.py:get_all_recent_logs", - "name": "get_all_recent_logs", - "file": "models.py", - "line": 2084, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "start_production.py:print_production_banner", - "name": "print_production_banner", - "file": "start_production.py", - "line": 44, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "setup_development.py:install_python_dependencies", - "name": "install_python_dependencies", - "file": "setup_development.py", - "line": 113, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "setup_development.py:build_css", - "name": "build_css", - "file": "setup_development.py", - "line": 127, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "setup_development.py:start_development_server", - "name": "start_development_server", - "file": "setup_development.py", - "line": 172, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "simple_form_tester.py:handle_starttag", - "name": "handle_starttag", - "file": "simple_form_tester.py", - "line": 56, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "simple_form_tester.py:handle_endtag", - "name": "handle_endtag", - "file": "simple_form_tester.py", - "line": 79, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "simple_form_tester.py:fetch_page", - "name": "fetch_page", - "file": "simple_form_tester.py", - "line": 97, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "simple_form_tester.py:_parse_cookies", - "name": "_parse_cookies", - "file": "simple_form_tester.py", - "line": 123, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "simple_form_tester.py:find_forms", - "name": "find_forms", - "file": "simple_form_tester.py", - "line": 130, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "simple_form_tester.py:generate_test_data", - "name": "generate_test_data", - "file": "simple_form_tester.py", - "line": 136, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "simple_form_tester.py:submit_form", - "name": "submit_form", - "file": "simple_form_tester.py", - "line": 166, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "function_analysis_tool.py:find_similar_functions", - "name": "find_similar_functions", - "file": "function_analysis_tool.py", - "line": 108, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "function_analysis_tool.py:_calculate_similarity", - "name": "_calculate_similarity", - "file": "function_analysis_tool.py", - "line": 157, - "usage_count": 1, - "body_lines": 9, - "is_private": true - }, - { - "key": "function_analysis_tool.py:_string_similarity", - "name": "_string_similarity", - "file": "function_analysis_tool.py", - "line": 179, - "usage_count": 1, - "body_lines": 5, - "is_private": true - }, - { - "key": "function_analysis_tool.py:_get_similarity_reason", - "name": "_get_similarity_reason", - "file": "function_analysis_tool.py", - "line": 190, - "usage_count": 1, - "body_lines": 6, - "is_private": true - }, - { - "key": "function_analysis_tool.py:_generate_recommendations", - "name": "_generate_recommendations", - "file": "function_analysis_tool.py", - "line": 269, - "usage_count": 1, - "body_lines": 9, - "is_private": true - }, - { - "key": "test_development.py:print_test_banner", - "name": "print_test_banner", - "file": "test_development.py", - "line": 19, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "template_validation_final.py:generate_final_report", - "name": "generate_final_report", - "file": "template_validation_final.py", - "line": 148, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "test_flask_minimal.py:hello", - "name": "hello", - "file": "test_flask_minimal.py", - "line": 14, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "test_flask_minimal.py:health", - "name": "health", - "file": "test_flask_minimal.py", - "line": 24, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "form_test_automator.py:_generate_email", - "name": "_generate_email", - "file": "form_test_automator.py", - "line": 213, - "usage_count": 0, - "body_lines": 2, - "is_private": true - }, - { - "key": "form_test_automator.py:_generate_password", - "name": "_generate_password", - "file": "form_test_automator.py", - "line": 218, - "usage_count": 0, - "body_lines": 4, - "is_private": true - }, - { - "key": "form_test_automator.py:_generate_phone", - "name": "_generate_phone", - "file": "form_test_automator.py", - "line": 228, - "usage_count": 0, - "body_lines": 2, - "is_private": true - }, - { - "key": "form_test_automator.py:_generate_url", - "name": "_generate_url", - "file": "form_test_automator.py", - "line": 233, - "usage_count": 0, - "body_lines": 2, - "is_private": true - }, - { - "key": "form_test_automator.py:_generate_date", - "name": "_generate_date", - "file": "form_test_automator.py", - "line": 238, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "form_test_automator.py:_generate_datetime", - "name": "_generate_datetime", - "file": "form_test_automator.py", - "line": 243, - "usage_count": 0, - "body_lines": 1, - "is_private": true - }, - { - "key": "form_test_automator.py:_generate_time", - "name": "_generate_time", - "file": "form_test_automator.py", - "line": 246, - "usage_count": 1, - "body_lines": 1, - "is_private": true - }, - { - "key": "form_test_automator.py:_generate_number", - "name": "_generate_number", - "file": "form_test_automator.py", - "line": 249, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "form_test_automator.py:_generate_range", - "name": "_generate_range", - "file": "form_test_automator.py", - "line": 259, - "usage_count": 0, - "body_lines": 1, - "is_private": true - }, - { - "key": "form_test_automator.py:_generate_color", - "name": "_generate_color", - "file": "form_test_automator.py", - "line": 262, - "usage_count": 0, - "body_lines": 1, - "is_private": true - }, - { - "key": "form_test_automator.py:_generate_text", - "name": "_generate_text", - "file": "form_test_automator.py", - "line": 265, - "usage_count": 0, - "body_lines": 8, - "is_private": true - }, - { - "key": "form_test_automator.py:_generate_invalid_data", - "name": "_generate_invalid_data", - "file": "form_test_automator.py", - "line": 300, - "usage_count": 1, - "body_lines": 3, - "is_private": true - }, - { - "key": "form_test_automator.py:_generate_edge_case", - "name": "_generate_edge_case", - "file": "form_test_automator.py", - "line": 316, - "usage_count": 1, - "body_lines": 3, - "is_private": true - }, - { - "key": "form_test_automator.py:_random_delay", - "name": "_random_delay", - "file": "form_test_automator.py", - "line": 694, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "form_test_automator.py:_generate_html_report", - "name": "_generate_html_report", - "file": "form_test_automator.py", - "line": 1221, - "usage_count": 1, - "body_lines": 10, - "is_private": true - }, - { - "key": "form_test_automator.py:_print_test_summary", - "name": "_print_test_summary", - "file": "form_test_automator.py", - "line": 2291, - "usage_count": 1, - "body_lines": 9, - "is_private": true - }, - { - "key": "form_test_automator.py:email", - "name": "email", - "file": "form_test_automator.py", - "line": 48, - "usage_count": 1, - "body_lines": 1, - "is_private": false - }, - { - "key": "form_test_automator.py:first_name", - "name": "first_name", - "file": "form_test_automator.py", - "line": 50, - "usage_count": 1, - "body_lines": 1, - "is_private": false - }, - { - "key": "form_test_automator.py:last_name", - "name": "last_name", - "file": "form_test_automator.py", - "line": 51, - "usage_count": 1, - "body_lines": 1, - "is_private": false - }, - { - "key": "form_test_automator.py:company", - "name": "company", - "file": "form_test_automator.py", - "line": 52, - "usage_count": 1, - "body_lines": 1, - "is_private": false - }, - { - "key": "form_test_automator.py:city", - "name": "city", - "file": "form_test_automator.py", - "line": 53, - "usage_count": 1, - "body_lines": 1, - "is_private": false - }, - { - "key": "form_test_automator.py:street_address", - "name": "street_address", - "file": "form_test_automator.py", - "line": 54, - "usage_count": 1, - "body_lines": 1, - "is_private": false - }, - { - "key": "form_test_automator.py:phone_number", - "name": "phone_number", - "file": "form_test_automator.py", - "line": 55, - "usage_count": 1, - "body_lines": 1, - "is_private": false - }, - { - "key": "form_test_automator.py:url", - "name": "url", - "file": "form_test_automator.py", - "line": 56, - "usage_count": 1, - "body_lines": 1, - "is_private": false - }, - { - "key": "form_test_automator.py:add_column", - "name": "add_column", - "file": "form_test_automator.py", - "line": 88, - "usage_count": 1, - "body_lines": 1, - "is_private": false - }, - { - "key": "form_test_automator.py:add_row", - "name": "add_row", - "file": "form_test_automator.py", - "line": 89, - "usage_count": 1, - "body_lines": 1, - "is_private": false - }, - { - "key": "app.py:get_environment_type", - "name": "get_environment_type", - "file": "app.py", - "line": 367, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:aggressive_shutdown_handler", - "name": "aggressive_shutdown_handler", - "file": "app.py", - "line": 463, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "app.py:csrf_token", - "name": "csrf_token", - "file": "app.py", - "line": 696, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:load_user", - "name": "load_user", - "file": "app.py", - "line": 750, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:inject_now", - "name": "inject_now", - "file": "app.py", - "line": 789, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:inject_current_route", - "name": "inject_current_route", - "file": "app.py", - "line": 794, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "app.py:format_datetime_filter", - "name": "format_datetime_filter", - "file": "app.py", - "line": 804, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "app.py:is_optimized_mode", - "name": "is_optimized_mode", - "file": "app.py", - "line": 816, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:log_request_info", - "name": "log_request_info", - "file": "app.py", - "line": 822, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:log_response_info", - "name": "log_response_info", - "file": "app.py", - "line": 828, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "app.py:minimize_session_cookie", - "name": "minimize_session_cookie", - "file": "app.py", - "line": 835, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "app.py:check_session_activity", - "name": "check_session_activity", - "file": "app.py", - "line": 843, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:index", - "name": "index", - "file": "app.py", - "line": 876, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "app.py:dashboard", - "name": "dashboard", - "file": "app.py", - "line": 884, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:csrf_test_page", - "name": "csrf_test_page", - "file": "app.py", - "line": 889, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:csrf_test_api", - "name": "csrf_test_api", - "file": "app.py", - "line": 894, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:admin", - "name": "admin", - "file": "app.py", - "line": 922, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "app.py:printers_page", - "name": "printers_page", - "file": "app.py", - "line": 932, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:printer_control", - "name": "printer_control", - "file": "app.py", - "line": 1076, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:jobs_page", - "name": "jobs_page", - "file": "app.py", - "line": 1221, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:new_job_page", - "name": "new_job_page", - "file": "app.py", - "line": 1227, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:stats_page", - "name": "stats_page", - "file": "app.py", - "line": 1233, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:service_worker", - "name": "service_worker", - "file": "app.py", - "line": 1241, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:api_start_job", - "name": "api_start_job", - "file": "app.py", - "line": 1247, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "app.py:api_pause_job", - "name": "api_pause_job", - "file": "app.py", - "line": 1254, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "app.py:api_resume_job", - "name": "api_resume_job", - "file": "app.py", - "line": 1261, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "app.py:api_finish_job", - "name": "api_finish_job", - "file": "app.py", - "line": 1268, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "app.py:api_get_printers", - "name": "api_get_printers", - "file": "app.py", - "line": 1275, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:api_get_printer_status", - "name": "api_get_printer_status", - "file": "app.py", - "line": 1365, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:api_health_check", - "name": "api_health_check", - "file": "app.py", - "line": 1440, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:api_version", - "name": "api_version", - "file": "app.py", - "line": 1469, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:api_stats", - "name": "api_stats", - "file": "app.py", - "line": 1481, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:privacy", - "name": "privacy", - "file": "app.py", - "line": 1545, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:terms", - "name": "terms", - "file": "app.py", - "line": 1550, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:imprint", - "name": "imprint", - "file": "app.py", - "line": 1555, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:legal", - "name": "legal", - "file": "app.py", - "line": 1560, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:bad_request_error", - "name": "bad_request_error", - "file": "app.py", - "line": 1566, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "app.py:unauthorized_error", - "name": "unauthorized_error", - "file": "app.py", - "line": 1578, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "app.py:forbidden_error", - "name": "forbidden_error", - "file": "app.py", - "line": 1590, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "app.py:not_found_error", - "name": "not_found_error", - "file": "app.py", - "line": 1608, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "app.py:method_not_allowed_error", - "name": "method_not_allowed_error", - "file": "app.py", - "line": 1626, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "app.py:payload_too_large_error", - "name": "payload_too_large_error", - "file": "app.py", - "line": 1638, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "app.py:rate_limit_error", - "name": "rate_limit_error", - "file": "app.py", - "line": 1650, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "app.py:bad_gateway_error", - "name": "bad_gateway_error", - "file": "app.py", - "line": 1691, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "app.py:service_unavailable_error", - "name": "service_unavailable_error", - "file": "app.py", - "line": 1703, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "app.py:http_version_not_supported_error", - "name": "http_version_not_supported_error", - "file": "app.py", - "line": 1715, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "app.py:get_production_info", - "name": "get_production_info", - "file": "app.py", - "line": 1967, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "app.py:production_info", - "name": "production_info", - "file": "app.py", - "line": 1983, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "app.py:get_minimal_session_data", - "name": "get_minimal_session_data", - "file": "app.py", - "line": 47, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "app.py:store_large_session_data", - "name": "store_large_session_data", - "file": "app.py", - "line": 75, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "app.py:load_large_session_data", - "name": "load_large_session_data", - "file": "app.py", - "line": 104, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "app.py:cleanup_expired_sessions", - "name": "cleanup_expired_sessions", - "file": "app.py", - "line": 129, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "import_analyzer.py:find_unused_imports", - "name": "find_unused_imports", - "file": "import_analyzer.py", - "line": 103, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "import_analyzer.py:find_circular_imports", - "name": "find_circular_imports", - "file": "import_analyzer.py", - "line": 148, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "import_analyzer.py:find_redundant_imports", - "name": "find_redundant_imports", - "file": "import_analyzer.py", - "line": 188, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "import_analyzer.py:get_module_name", - "name": "get_module_name", - "file": "import_analyzer.py", - "line": 209, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "import_analyzer.py:is_local_import", - "name": "is_local_import", - "file": "import_analyzer.py", - "line": 217, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "template_problem_analysis.py:generate_fixes", - "name": "generate_fixes", - "file": "template_problem_analysis.py", - "line": 107, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "template_problem_analysis.py:generate_detailed_report", - "name": "generate_detailed_report", - "file": "template_problem_analysis.py", - "line": 133, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "start_development.py:check_database", - "name": "check_database", - "file": "start_development.py", - "line": 185, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "ssl/ssl_fix.py:check_openssl", - "name": "check_openssl", - "file": "ssl/ssl_fix.py", - "line": 183, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "ssl/fix_ssl_browser.py:validate_certificate_compatibility", - "name": "validate_certificate_compatibility", - "file": "ssl/fix_ssl_browser.py", - "line": 132, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "tests/test_tapo_integration.py:_create_standard_printers", - "name": "_create_standard_printers", - "file": "tests/test_tapo_integration.py", - "line": 156, - "usage_count": 1, - "body_lines": 4, - "is_private": true - }, - { - "key": "tests/test_tapo_integration.py:_login_as_admin", - "name": "_login_as_admin", - "file": "tests/test_tapo_integration.py", - "line": 175, - "usage_count": 1, - "body_lines": 4, - "is_private": true - }, - { - "key": "tests/test_tapo_integration.py:_login_as_user", - "name": "_login_as_user", - "file": "tests/test_tapo_integration.py", - "line": 184, - "usage_count": 1, - "body_lines": 4, - "is_private": true - }, - { - "key": "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "name": "test_error_handling_unreachable_plugs", - "file": "tests/test_tapo_integration.py", - "line": 392, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "name": "test_admin_dashboard_printer_overview", - "file": "tests/test_tapo_integration.py", - "line": 441, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "config/settings.py:get_log_file", - "name": "get_log_file", - "file": "config/settings.py", - "line": 98, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "config/settings.py:ensure_log_directories", - "name": "ensure_log_directories", - "file": "config/settings.py", - "line": 113, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "config/settings.py:ensure_database_directory", - "name": "ensure_database_directory", - "file": "config/settings.py", - "line": 119, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "config/settings.py:ensure_upload_directory", - "name": "ensure_upload_directory", - "file": "config/settings.py", - "line": 131, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "config/__init__.py:get_config", - "name": "get_config", - "file": "config/__init__.py", - "line": 39, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "config/__init__.py:validate_config", - "name": "validate_config", - "file": "config/__init__.py", - "line": 57, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "config/app_config.py:get_config_by_name", - "name": "get_config_by_name", - "file": "config/app_config.py", - "line": 171, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "config/security.py:get_security_headers", - "name": "get_security_headers", - "file": "config/security.py", - "line": 79, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "config/security.py:get_headers", - "name": "get_headers", - "file": "config/security.py", - "line": 62, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "config/security.py:get_rate_limits", - "name": "get_rate_limits", - "file": "config/security.py", - "line": 66, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "config/security.py:get_session_config", - "name": "get_session_config", - "file": "config/security.py", - "line": 70, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "config/security.py:get_csrf_config", - "name": "get_csrf_config", - "file": "config/security.py", - "line": 74, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "scripts/test_protocol_generator.py:run_command", - "name": "run_command", - "file": "scripts/test_protocol_generator.py", - "line": 82, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "scripts/test_protocol_generator.py:test_flask_app_creation", - "name": "test_flask_app_creation", - "file": "scripts/test_protocol_generator.py", - "line": 246, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "scripts/test_protocol_generator.py:test_dependency_versions", - "name": "test_dependency_versions", - "file": "scripts/test_protocol_generator.py", - "line": 270, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "scripts/test_protocol_generator.py:analyze_code_metrics", - "name": "analyze_code_metrics", - "file": "scripts/test_protocol_generator.py", - "line": 302, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "scripts/test_protocol_generator.py:generate_ai_summary", - "name": "generate_ai_summary", - "file": "scripts/test_protocol_generator.py", - "line": 343, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "scripts/test_protocol_generator.py:generate_fallback_summary", - "name": "generate_fallback_summary", - "file": "scripts/test_protocol_generator.py", - "line": 420, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "scripts/quick_unicode_fix.py:fix_unicode_in_file", - "name": "fix_unicode_in_file", - "file": "scripts/quick_unicode_fix.py", - "line": 16, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "scripts/screenshot_tool.py:load_config_from_file", - "name": "load_config_from_file", - "file": "scripts/screenshot_tool.py", - "line": 615, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "scripts/screenshot_tool.py:discover_routes_from_app", - "name": "discover_routes_from_app", - "file": "scripts/screenshot_tool.py", - "line": 119, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "scripts/screenshot_tool.py:_resolve_dynamic_route", - "name": "_resolve_dynamic_route", - "file": "scripts/screenshot_tool.py", - "line": 153, - "usage_count": 1, - "body_lines": 4, - "is_private": true - }, - { - "key": "scripts/screenshot_tool.py:_categorize_route", - "name": "_categorize_route", - "file": "scripts/screenshot_tool.py", - "line": 197, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "scripts/screenshot_tool.py:_get_default_routes", - "name": "_get_default_routes", - "file": "scripts/screenshot_tool.py", - "line": 207, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "scripts/screenshot_tool.py:initialize_browser", - "name": "initialize_browser", - "file": "scripts/screenshot_tool.py", - "line": 239, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "scripts/screenshot_tool.py:_setup_chrome", - "name": "_setup_chrome", - "file": "scripts/screenshot_tool.py", - "line": 260, - "usage_count": 1, - "body_lines": 10, - "is_private": true - }, - { - "key": "scripts/screenshot_tool.py:_setup_firefox", - "name": "_setup_firefox", - "file": "scripts/screenshot_tool.py", - "line": 283, - "usage_count": 1, - "body_lines": 4, - "is_private": true - }, - { - "key": "scripts/screenshot_tool.py:set_resolution", - "name": "set_resolution", - "file": "scripts/screenshot_tool.py", - "line": 297, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "scripts/screenshot_tool.py:run_screenshot_session", - "name": "run_screenshot_session", - "file": "scripts/screenshot_tool.py", - "line": 329, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "scripts/screenshot_tool.py:_prepare_environment", - "name": "_prepare_environment", - "file": "scripts/screenshot_tool.py", - "line": 369, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "scripts/screenshot_tool.py:_perform_admin_login", - "name": "_perform_admin_login", - "file": "scripts/screenshot_tool.py", - "line": 393, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "scripts/screenshot_tool.py:_create_screenshots_for_routes", - "name": "_create_screenshots_for_routes", - "file": "scripts/screenshot_tool.py", - "line": 432, - "usage_count": 1, - "body_lines": 3, - "is_private": true - }, - { - "key": "scripts/screenshot_tool.py:_take_screenshot_for_route", - "name": "_take_screenshot_for_route", - "file": "scripts/screenshot_tool.py", - "line": 459, - "usage_count": 1, - "body_lines": 13, - "is_private": true - }, - { - "key": "scripts/screenshot_tool.py:_determine_route_category", - "name": "_determine_route_category", - "file": "scripts/screenshot_tool.py", - "line": 501, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "scripts/screenshot_tool.py:_sanitize_filename", - "name": "_sanitize_filename", - "file": "scripts/screenshot_tool.py", - "line": 512, - "usage_count": 1, - "body_lines": 7, - "is_private": true - }, - { - "key": "scripts/screenshot_tool.py:_generate_report", - "name": "_generate_report", - "file": "scripts/screenshot_tool.py", - "line": 526, - "usage_count": 1, - "body_lines": 7, - "is_private": true - }, - { - "key": "scripts/screenshot_tool.py:_generate_human_readable_report", - "name": "_generate_human_readable_report", - "file": "scripts/screenshot_tool.py", - "line": 556, - "usage_count": 1, - "body_lines": 4, - "is_private": true - }, - { - "key": "scripts/test_printer_setup.py:setup_printers", - "name": "setup_printers", - "file": "scripts/test_printer_setup.py", - "line": 79, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "scripts/test_printer_setup.py:test_printer_status", - "name": "test_printer_status", - "file": "scripts/test_printer_setup.py", - "line": 123, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "scripts/test_printer_setup.py:test_plug_control", - "name": "test_plug_control", - "file": "scripts/test_printer_setup.py", - "line": 181, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "scripts/migrate_database.py:migrate_printers_table", - "name": "migrate_printers_table", - "file": "scripts/migrate_database.py", - "line": 50, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/jobs.py:job_owner_required", - "name": "job_owner_required", - "file": "blueprints/jobs.py", - "line": 22, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/jobs.py:get_jobs", - "name": "get_jobs", - "file": "blueprints/jobs.py", - "line": 59, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/jobs.py:get_job", - "name": "get_job", - "file": "blueprints/jobs.py", - "line": 127, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/jobs.py:create_job", - "name": "create_job", - "file": "blueprints/jobs.py", - "line": 154, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/jobs.py:update_job", - "name": "update_job", - "file": "blueprints/jobs.py", - "line": 312, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/jobs.py:delete_job", - "name": "delete_job", - "file": "blueprints/jobs.py", - "line": 385, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/jobs.py:get_active_jobs", - "name": "get_active_jobs", - "file": "blueprints/jobs.py", - "line": 453, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/jobs.py:get_current_job", - "name": "get_current_job", - "file": "blueprints/jobs.py", - "line": 496, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/jobs.py:get_recent_jobs", - "name": "get_recent_jobs", - "file": "blueprints/jobs.py", - "line": 526, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/jobs.py:start_job", - "name": "start_job", - "file": "blueprints/jobs.py", - "line": 571, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/jobs.py:pause_job", - "name": "pause_job", - "file": "blueprints/jobs.py", - "line": 625, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/jobs.py:resume_job", - "name": "resume_job", - "file": "blueprints/jobs.py", - "line": 659, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/jobs.py:finish_job", - "name": "finish_job", - "file": "blueprints/jobs.py", - "line": 692, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/jobs.py:decorated_function", - "name": "decorated_function", - "file": "blueprints/jobs.py", - "line": 25, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "blueprints/guest.py:guest_request_form", - "name": "guest_request_form", - "file": "blueprints/guest.py", - "line": 40, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/guest.py:guest_start_public", - "name": "guest_start_public", - "file": "blueprints/guest.py", - "line": 126, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/guest.py:guest_job_status", - "name": "guest_job_status", - "file": "blueprints/guest.py", - "line": 131, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/guest.py:guest_requests_overview", - "name": "guest_requests_overview", - "file": "blueprints/guest.py", - "line": 156, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/guest.py:guest_request_status", - "name": "guest_request_status", - "file": "blueprints/guest.py", - "line": 215, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/guest.py:guest_requests_by_email", - "name": "guest_requests_by_email", - "file": "blueprints/guest.py", - "line": 256, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "blueprints/guest.py:api_start_job_with_code", - "name": "api_start_job_with_code", - "file": "blueprints/guest.py", - "line": 382, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/guest.py:api_get_guest_request", - "name": "api_get_guest_request", - "file": "blueprints/guest.py", - "line": 477, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/guest.py:api_get_guest_job_status", - "name": "api_get_guest_job_status", - "file": "blueprints/guest.py", - "line": 496, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/guest.py:api_get_notifications", - "name": "api_get_notifications", - "file": "blueprints/guest.py", - "line": 566, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/guest.py:api_mark_notification_read", - "name": "api_mark_notification_read", - "file": "blueprints/guest.py", - "line": 601, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/guest.py:api_get_all_requests", - "name": "api_get_all_requests", - "file": "blueprints/guest.py", - "line": 624, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/guest.py:api_get_request_details", - "name": "api_get_request_details", - "file": "blueprints/guest.py", - "line": 695, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/guest.py:api_update_request", - "name": "api_update_request", - "file": "blueprints/guest.py", - "line": 734, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/guest.py:api_delete_request", - "name": "api_delete_request", - "file": "blueprints/guest.py", - "line": 783, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/guest.py:admin_requests_management", - "name": "admin_requests_management", - "file": "blueprints/guest.py", - "line": 817, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/guest.py:api_approve_request", - "name": "api_approve_request", - "file": "blueprints/guest.py", - "line": 823, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/guest.py:api_deny_request", - "name": "api_deny_request", - "file": "blueprints/guest.py", - "line": 918, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/guest.py:api_get_request_otp", - "name": "api_get_request_otp", - "file": "blueprints/guest.py", - "line": 960, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/guest.py:api_guest_status_by_otp", - "name": "api_guest_status_by_otp", - "file": "blueprints/guest.py", - "line": 1002, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/guest.py:guest_status_check_page", - "name": "guest_status_check_page", - "file": "blueprints/guest.py", - "line": 1112, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/uploads.py:admin_required", - "name": "admin_required", - "file": "blueprints/uploads.py", - "line": 26, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/uploads.py:upload_job_file", - "name": "upload_job_file", - "file": "blueprints/uploads.py", - "line": 43, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/uploads.py:upload_guest_file", - "name": "upload_guest_file", - "file": "blueprints/uploads.py", - "line": 87, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/uploads.py:upload_avatar", - "name": "upload_avatar", - "file": "blueprints/uploads.py", - "line": 125, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/uploads.py:upload_asset", - "name": "upload_asset", - "file": "blueprints/uploads.py", - "line": 165, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/uploads.py:upload_log", - "name": "upload_log", - "file": "blueprints/uploads.py", - "line": 212, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/uploads.py:upload_backup", - "name": "upload_backup", - "file": "blueprints/uploads.py", - "line": 249, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/uploads.py:upload_temp_file", - "name": "upload_temp_file", - "file": "blueprints/uploads.py", - "line": 295, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/uploads.py:serve_uploaded_file", - "name": "serve_uploaded_file", - "file": "blueprints/uploads.py", - "line": 328, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/uploads.py:delete_uploaded_file", - "name": "delete_uploaded_file", - "file": "blueprints/uploads.py", - "line": 355, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/uploads.py:get_file_stats", - "name": "get_file_stats", - "file": "blueprints/uploads.py", - "line": 402, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/uploads.py:decorated_function", - "name": "decorated_function", - "file": "blueprints/uploads.py", - "line": 30, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/legal_pages.py:imprint", - "name": "imprint", - "file": "blueprints/legal_pages.py", - "line": 12, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/legal_pages.py:privacy", - "name": "privacy", - "file": "blueprints/legal_pages.py", - "line": 18, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/legal_pages.py:terms", - "name": "terms", - "file": "blueprints/legal_pages.py", - "line": 24, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/legal_pages.py:legal", - "name": "legal", - "file": "blueprints/legal_pages.py", - "line": 30, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/legal_pages.py:system_info", - "name": "system_info", - "file": "blueprints/legal_pages.py", - "line": 36, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/printers.py:force_refresh_all_printer_status", - "name": "force_refresh_all_printer_status", - "file": "blueprints/printers.py", - "line": 483, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/printers.py:test_socket_status", - "name": "test_socket_status", - "file": "blueprints/printers.py", - "line": 537, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/printers.py:test_all_sockets_status", - "name": "test_all_sockets_status", - "file": "blueprints/printers.py", - "line": 842, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/printers.py:get_printer_job_summary", - "name": "get_printer_job_summary", - "file": "blueprints/printers.py", - "line": 1167, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/printers.py:cleanup_job_orders", - "name": "cleanup_job_orders", - "file": "blueprints/printers.py", - "line": 1222, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/printers.py:get_drag_drop_config", - "name": "get_drag_drop_config", - "file": "blueprints/printers.py", - "line": 1257, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/printers.py:mass_tapo_status_check", - "name": "mass_tapo_status_check", - "file": "blueprints/printers.py", - "line": 1321, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/printers.py:tapo_configuration_wizard", - "name": "tapo_configuration_wizard", - "file": "blueprints/printers.py", - "line": 1501, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/printers.py:connect_printer", - "name": "connect_printer", - "file": "blueprints/printers.py", - "line": 1634, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/printers.py:validate_tapo_configuration", - "name": "validate_tapo_configuration", - "file": "blueprints/printers.py", - "line": 1683, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/auth.py:logout", - "name": "logout", - "file": "blueprints/auth.py", - "line": 141, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "blueprints/auth.py:reset_password_request", - "name": "reset_password_request", - "file": "blueprints/auth.py", - "line": 149, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/auth.py:api_login", - "name": "api_login", - "file": "blueprints/auth.py", - "line": 156, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/auth.py:api_callback", - "name": "api_callback", - "file": "blueprints/auth.py", - "line": 211, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/auth.py:get_github_user_data", - "name": "get_github_user_data", - "file": "blueprints/auth.py", - "line": 339, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/tapo_control.py:tapo_dashboard", - "name": "tapo_dashboard", - "file": "blueprints/tapo_control.py", - "line": 28, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/tapo_control.py:control_outlet", - "name": "control_outlet", - "file": "blueprints/tapo_control.py", - "line": 168, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/tapo_control.py:get_outlet_status", - "name": "get_outlet_status", - "file": "blueprints/tapo_control.py", - "line": 231, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/tapo_control.py:discover_outlets", - "name": "discover_outlets", - "file": "blueprints/tapo_control.py", - "line": 264, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/tapo_control.py:get_all_status", - "name": "get_all_status", - "file": "blueprints/tapo_control.py", - "line": 326, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/tapo_control.py:manual_control", - "name": "manual_control", - "file": "blueprints/tapo_control.py", - "line": 408, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/tapo_control.py:control_outlet_form", - "name": "control_outlet_form", - "file": "blueprints/tapo_control.py", - "line": 462, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/tapo_control.py:test_connection_form", - "name": "test_connection_form", - "file": "blueprints/tapo_control.py", - "line": 506, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/calendar.py:can_edit_events", - "name": "can_edit_events", - "file": "blueprints/calendar.py", - "line": 15, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/calendar.py:get_smart_printer_assignment", - "name": "get_smart_printer_assignment", - "file": "blueprints/calendar.py", - "line": 26, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/calendar.py:calendar_view", - "name": "calendar_view", - "file": "blueprints/calendar.py", - "line": 148, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "blueprints/calendar.py:api_get_calendar_events", - "name": "api_get_calendar_events", - "file": "blueprints/calendar.py", - "line": 171, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/calendar.py:api_get_calendar_events_alt", - "name": "api_get_calendar_events_alt", - "file": "blueprints/calendar.py", - "line": 386, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/calendar.py:api_create_calendar_event", - "name": "api_create_calendar_event", - "file": "blueprints/calendar.py", - "line": 392, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/calendar.py:api_update_calendar_event", - "name": "api_update_calendar_event", - "file": "blueprints/calendar.py", - "line": 508, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/calendar.py:api_delete_calendar_event", - "name": "api_delete_calendar_event", - "file": "blueprints/calendar.py", - "line": 573, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/calendar.py:api_get_smart_recommendation", - "name": "api_get_smart_recommendation", - "file": "blueprints/calendar.py", - "line": 598, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/calendar.py:api_export_calendar", - "name": "api_export_calendar", - "file": "blueprints/calendar.py", - "line": 702, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/calendar.py:api_check_conflicts", - "name": "api_check_conflicts", - "file": "blueprints/calendar.py", - "line": 979, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/calendar.py:api_resolve_conflicts", - "name": "api_resolve_conflicts", - "file": "blueprints/calendar.py", - "line": 1157, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/calendar.py:api_calendar_statistics", - "name": "api_calendar_statistics", - "file": "blueprints/calendar.py", - "line": 1309, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/calendar.py:api_printer_availability", - "name": "api_printer_availability", - "file": "blueprints/calendar.py", - "line": 1375, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api.py:ws_fallback", - "name": "ws_fallback", - "file": "blueprints/api.py", - "line": 23, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api.py:get_notifications", - "name": "get_notifications", - "file": "blueprints/api.py", - "line": 39, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api.py:mark_notification_read", - "name": "mark_notification_read", - "file": "blueprints/api.py", - "line": 75, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api.py:mark_all_notifications_read", - "name": "mark_all_notifications_read", - "file": "blueprints/api.py", - "line": 109, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api.py:system_status", - "name": "system_status", - "file": "blueprints/api.py", - "line": 144, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api.py:heartbeat", - "name": "heartbeat", - "file": "blueprints/api.py", - "line": 163, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api.py:session_status", - "name": "session_status", - "file": "blueprints/api.py", - "line": 180, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api.py:session_heartbeat", - "name": "session_heartbeat", - "file": "blueprints/api.py", - "line": 238, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api.py:extend_session", - "name": "extend_session", - "file": "blueprints/api.py", - "line": 269, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api.py:get_stats", - "name": "get_stats", - "file": "blueprints/api.py", - "line": 299, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api.py:get_system_health", - "name": "get_system_health", - "file": "blueprints/api.py", - "line": 373, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api.py:get_error_recovery_status", - "name": "get_error_recovery_status", - "file": "blueprints/api.py", - "line": 475, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api.py:fix_admin_permissions", - "name": "fix_admin_permissions", - "file": "blueprints/api.py", - "line": 563, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api_simple.py:list_outlets", - "name": "list_outlets", - "file": "blueprints/api_simple.py", - "line": 25, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api_simple.py:get_outlet_status_api", - "name": "get_outlet_status_api", - "file": "blueprints/api_simple.py", - "line": 63, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api_simple.py:control_outlet_api", - "name": "control_outlet_api", - "file": "blueprints/api_simple.py", - "line": 96, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api_simple.py:get_all_status_api", - "name": "get_all_status_api", - "file": "blueprints/api_simple.py", - "line": 154, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/api_simple.py:health_check", - "name": "health_check", - "file": "blueprints/api_simple.py", - "line": 218, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/energy_monitoring.py:energy_dashboard", - "name": "energy_dashboard", - "file": "blueprints/energy_monitoring.py", - "line": 36, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/energy_monitoring.py:device_details", - "name": "device_details", - "file": "blueprints/energy_monitoring.py", - "line": 68, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/energy_monitoring.py:api_energy_dashboard", - "name": "api_energy_dashboard", - "file": "blueprints/energy_monitoring.py", - "line": 104, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/energy_monitoring.py:api_device_energy_data", - "name": "api_device_energy_data", - "file": "blueprints/energy_monitoring.py", - "line": 180, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/energy_monitoring.py:api_energy_statistics", - "name": "api_energy_statistics", - "file": "blueprints/energy_monitoring.py", - "line": 299, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "blueprints/energy_monitoring.py:api_live_energy_data", - "name": "api_live_energy_data", - "file": "blueprints/energy_monitoring.py", - "line": 386, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/energy_monitoring.py:get_energy_monitoring", - "name": "get_energy_monitoring", - "file": "blueprints/energy_monitoring.py", - "line": 429, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/kiosk.py:get_status", - "name": "get_status", - "file": "blueprints/kiosk.py", - "line": 35, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/kiosk.py:deactivate", - "name": "deactivate", - "file": "blueprints/kiosk.py", - "line": 58, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/kiosk.py:activate", - "name": "activate", - "file": "blueprints/kiosk.py", - "line": 106, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/kiosk.py:restart_system", - "name": "restart_system", - "file": "blueprints/kiosk.py", - "line": 164, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/kiosk.py:delayed_restart", - "name": "delayed_restart", - "file": "blueprints/kiosk.py", - "line": 182, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/sessions.py:get_session_lifetime_td", - "name": "get_session_lifetime_td", - "file": "blueprints/sessions.py", - "line": 20, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/sessions.py:heartbeat", - "name": "heartbeat", - "file": "blueprints/sessions.py", - "line": 46, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/sessions.py:status", - "name": "status", - "file": "blueprints/sessions.py", - "line": 83, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:admin_required", - "name": "admin_required", - "file": "blueprints/admin_unified.py", - "line": 54, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:admin_dashboard", - "name": "admin_dashboard", - "file": "blueprints/admin_unified.py", - "line": 108, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:admin_plug_schedules", - "name": "admin_plug_schedules", - "file": "blueprints/admin_unified.py", - "line": 145, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:users_overview", - "name": "users_overview", - "file": "blueprints/admin_unified.py", - "line": 177, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:add_user_page", - "name": "add_user_page", - "file": "blueprints/admin_unified.py", - "line": 212, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:edit_user_page", - "name": "edit_user_page", - "file": "blueprints/admin_unified.py", - "line": 296, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:printers_overview", - "name": "printers_overview", - "file": "blueprints/admin_unified.py", - "line": 315, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:add_printer_page", - "name": "add_printer_page", - "file": "blueprints/admin_unified.py", - "line": 355, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:edit_printer_page", - "name": "edit_printer_page", - "file": "blueprints/admin_unified.py", - "line": 361, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:guest_requests", - "name": "guest_requests", - "file": "blueprints/admin_unified.py", - "line": 380, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:requests_overview", - "name": "requests_overview", - "file": "blueprints/admin_unified.py", - "line": 386, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:advanced_settings", - "name": "advanced_settings", - "file": "blueprints/admin_unified.py", - "line": 432, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:system_health", - "name": "system_health", - "file": "blueprints/admin_unified.py", - "line": 498, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:logs_overview", - "name": "logs_overview", - "file": "blueprints/admin_unified.py", - "line": 530, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:maintenance", - "name": "maintenance", - "file": "blueprints/admin_unified.py", - "line": 568, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:create_user_api", - "name": "create_user_api", - "file": "blueprints/admin_unified.py", - "line": 644, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:get_user_api", - "name": "get_user_api", - "file": "blueprints/admin_unified.py", - "line": 747, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:update_user_api", - "name": "update_user_api", - "file": "blueprints/admin_unified.py", - "line": 779, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:delete_user_api", - "name": "delete_user_api", - "file": "blueprints/admin_unified.py", - "line": 817, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:delete_printer_api", - "name": "delete_printer_api", - "file": "blueprints/admin_unified.py", - "line": 851, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "blueprints/admin_unified.py", - "line": 1066, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:optimize_database", - "name": "optimize_database", - "file": "blueprints/admin_unified.py", - "line": 1172, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:get_logs_api", - "name": "get_logs_api", - "file": "blueprints/admin_unified.py", - "line": 1481, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:export_logs_api", - "name": "export_logs_api", - "file": "blueprints/admin_unified.py", - "line": 1525, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:get_guest_requests_api", - "name": "get_guest_requests_api", - "file": "blueprints/admin_unified.py", - "line": 1620, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:generate_guest_otp_api", - "name": "generate_guest_otp_api", - "file": "blueprints/admin_unified.py", - "line": 1677, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:print_guest_credentials_api", - "name": "print_guest_credentials_api", - "file": "blueprints/admin_unified.py", - "line": 1712, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:get_pending_guest_otps_api", - "name": "get_pending_guest_otps_api", - "file": "blueprints/admin_unified.py", - "line": 1773, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:approve_guest_request_api", - "name": "approve_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1814, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:reject_guest_request_api", - "name": "reject_guest_request_api", - "file": "blueprints/admin_unified.py", - "line": 1873, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:guest_otps_management", - "name": "guest_otps_management", - "file": "blueprints/admin_unified.py", - "line": 1920, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:get_system_status_api", - "name": "get_system_status_api", - "file": "blueprints/admin_unified.py", - "line": 1932, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:create_sample_logs_api", - "name": "create_sample_logs_api", - "file": "blueprints/admin_unified.py", - "line": 2013, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:api_admin_plug_schedules_logs", - "name": "api_admin_plug_schedules_logs", - "file": "blueprints/admin_unified.py", - "line": 2087, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:api_admin_plug_schedules_statistics", - "name": "api_admin_plug_schedules_statistics", - "file": "blueprints/admin_unified.py", - "line": 2171, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:api_admin_plug_schedules_cleanup", - "name": "api_admin_plug_schedules_cleanup", - "file": "blueprints/admin_unified.py", - "line": 2218, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:api_admin_plug_schedules_calendar", - "name": "api_admin_plug_schedules_calendar", - "file": "blueprints/admin_unified.py", - "line": 2257, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:api_admin_live_stats", - "name": "api_admin_live_stats", - "file": "blueprints/admin_unified.py", - "line": 2337, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:api_admin_system_health", - "name": "api_admin_system_health", - "file": "blueprints/admin_unified.py", - "line": 2445, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:api_admin_system_health_alias", - "name": "api_admin_system_health_alias", - "file": "blueprints/admin_unified.py", - "line": 2648, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:api_admin_error_recovery_status", - "name": "api_admin_error_recovery_status", - "file": "blueprints/admin_unified.py", - "line": 2658, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:create_backup_api", - "name": "create_backup_api", - "file": "blueprints/admin_unified.py", - "line": 2828, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:optimize_database_api", - "name": "optimize_database_api", - "file": "blueprints/admin_unified.py", - "line": 2892, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:clear_cache_api", - "name": "clear_cache_api", - "file": "blueprints/admin_unified.py", - "line": 2949, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:tapo_monitoring", - "name": "tapo_monitoring", - "file": "blueprints/admin_unified.py", - "line": 3012, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:api_admin_bulk_tapo_control", - "name": "api_admin_bulk_tapo_control", - "file": "blueprints/admin_unified.py", - "line": 3136, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:api_admin_tapo_health_check", - "name": "api_admin_tapo_health_check", - "file": "blueprints/admin_unified.py", - "line": 3273, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/admin_unified.py:api_admin_configure_printer_tapo", - "name": "api_admin_configure_printer_tapo", - "file": "blueprints/admin_unified.py", - "line": 3422, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/user_management.py:users_admin_required", - "name": "users_admin_required", - "file": "blueprints/user_management.py", - "line": 44, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "blueprints/user_management.py:user_profile", - "name": "user_profile", - "file": "blueprints/user_management.py", - "line": 76, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/user_management.py:user_settings", - "name": "user_settings", - "file": "blueprints/user_management.py", - "line": 88, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/user_management.py:update_profile_form", - "name": "update_profile_form", - "file": "blueprints/user_management.py", - "line": 100, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/user_management.py:update_profile_api", - "name": "update_profile_api", - "file": "blueprints/user_management.py", - "line": 132, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/user_management.py:user_settings_api", - "name": "user_settings_api", - "file": "blueprints/user_management.py", - "line": 164, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/user_management.py:update_settings_api", - "name": "update_settings_api", - "file": "blueprints/user_management.py", - "line": 230, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/user_management.py:update_settings_form", - "name": "update_settings_form", - "file": "blueprints/user_management.py", - "line": 266, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/user_management.py:change_password", - "name": "change_password", - "file": "blueprints/user_management.py", - "line": 303, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/user_management.py:export_user_data", - "name": "export_user_data", - "file": "blueprints/user_management.py", - "line": 373, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/user_management.py:user_permissions_page", - "name": "user_permissions_page", - "file": "blueprints/user_management.py", - "line": 448, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/user_management.py:get_user_permissions_api", - "name": "get_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 475, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/user_management.py:update_user_permissions_api", - "name": "update_user_permissions_api", - "file": "blueprints/user_management.py", - "line": 506, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/user_management.py:update_user_permissions_form", - "name": "update_user_permissions_form", - "file": "blueprints/user_management.py", - "line": 542, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/user_management.py:edit_user_permissions_section", - "name": "edit_user_permissions_section", - "file": "blueprints/user_management.py", - "line": 574, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "blueprints/user_management.py:get_user_details_api", - "name": "get_user_details_api", - "file": "blueprints/user_management.py", - "line": 595, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/utilities_collection.py:ensure_database_directory", - "name": "ensure_database_directory", - "file": "utils/utilities_collection.py", - "line": 293, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/utilities_collection.py:send_email", - "name": "send_email", - "file": "utils/utilities_collection.py", - "line": 299, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/utilities_collection.py:add_printers", - "name": "add_printers", - "file": "utils/utilities_collection.py", - "line": 302, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/utilities_collection.py:run_maintenance", - "name": "run_maintenance", - "file": "utils/utilities_collection.py", - "line": 305, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/utilities_collection.py:apply_quick_fixes", - "name": "apply_quick_fixes", - "file": "utils/utilities_collection.py", - "line": 311, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/utilities_collection.py:get_all", - "name": "get_all", - "file": "utils/utilities_collection.py", - "line": 58, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/utilities_collection.py:get_system_info", - "name": "get_system_info", - "file": "utils/utilities_collection.py", - "line": 73, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/utilities_collection.py:send_notification", - "name": "send_notification", - "file": "utils/utilities_collection.py", - "line": 174, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/utilities_collection.py:is_offline", - "name": "is_offline", - "file": "utils/utilities_collection.py", - "line": 185, - "usage_count": 1, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/utilities_collection.py:get_offline_message", - "name": "get_offline_message", - "file": "utils/utilities_collection.py", - "line": 189, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/utilities_collection.py:fix_permissions", - "name": "fix_permissions", - "file": "utils/utilities_collection.py", - "line": 227, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/utilities_collection.py:cleanup_temp", - "name": "cleanup_temp", - "file": "utils/utilities_collection.py", - "line": 233, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/utilities_collection.py:optimize_frontend", - "name": "optimize_frontend", - "file": "utils/utilities_collection.py", - "line": 244, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/utilities_collection.py:update_requirements", - "name": "update_requirements", - "file": "utils/utilities_collection.py", - "line": 250, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/system_management.py:load_settings", - "name": "load_settings", - "file": "utils/system_management.py", - "line": 21, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/system_management.py:is_offline", - "name": "is_offline", - "file": "utils/system_management.py", - "line": 28, - "usage_count": 1, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/development_tools.py:run_debug_checks", - "name": "run_debug_checks", - "file": "utils/development_tools.py", - "line": 225, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/development_tools.py:run_system_tests", - "name": "run_system_tests", - "file": "utils/development_tools.py", - "line": 230, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/development_tools.py:setup_test_environment", - "name": "setup_test_environment", - "file": "utils/development_tools.py", - "line": 234, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/development_tools.py:cleanup_test_environment", - "name": "cleanup_test_environment", - "file": "utils/development_tools.py", - "line": 238, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/development_tools.py:debug_drucker_erkennung", - "name": "debug_drucker_erkennung", - "file": "utils/development_tools.py", - "line": 245, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/development_tools.py:debug_login", - "name": "debug_login", - "file": "utils/development_tools.py", - "line": 248, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/development_tools.py:debug_guest_requests", - "name": "debug_guest_requests", - "file": "utils/development_tools.py", - "line": 251, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/development_tools.py:test_system_functionality", - "name": "test_system_functionality", - "file": "utils/development_tools.py", - "line": 255, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/development_tools.py:test_tapo_sofort", - "name": "test_tapo_sofort", - "file": "utils/development_tools.py", - "line": 258, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/development_tools.py:test_button_functionality", - "name": "test_button_functionality", - "file": "utils/development_tools.py", - "line": 261, - "usage_count": 1, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/development_tools.py:debug_database", - "name": "debug_database", - "file": "utils/development_tools.py", - "line": 35, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/development_tools.py:debug_tapo_connection", - "name": "debug_tapo_connection", - "file": "utils/development_tools.py", - "line": 53, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/development_tools.py:run_test", - "name": "run_test", - "file": "utils/development_tools.py", - "line": 77, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/development_tools.py:test_database_connection", - "name": "test_database_connection", - "file": "utils/development_tools.py", - "line": 105, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "utils/development_tools.py:create_test_data", - "name": "create_test_data", - "file": "utils/development_tools.py", - "line": 154, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/development_tools.py:clean_test_data", - "name": "clean_test_data", - "file": "utils/development_tools.py", - "line": 197, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/permissions.py:admin_required", - "name": "admin_required", - "file": "utils/permissions.py", - "line": 17, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/permissions.py:ensure_admin_permissions", - "name": "ensure_admin_permissions", - "file": "utils/permissions.py", - "line": 53, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/permissions.py:can_approve_jobs", - "name": "can_approve_jobs", - "file": "utils/permissions.py", - "line": 150, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/permissions.py:approver_required", - "name": "approver_required", - "file": "utils/permissions.py", - "line": 189, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/permissions.py:get_user_permissions", - "name": "get_user_permissions", - "file": "utils/permissions.py", - "line": 204, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/permissions.py:decorated_function", - "name": "decorated_function", - "file": "utils/permissions.py", - "line": 197, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/ui_components.py:format_datetime", - "name": "format_datetime", - "file": "utils/ui_components.py", - "line": 40, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/ui_components.py:format_duration", - "name": "format_duration", - "file": "utils/ui_components.py", - "line": 68, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "utils/ui_components.py:validate_form_field", - "name": "validate_form_field", - "file": "utils/ui_components.py", - "line": 327, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/ui_components.py:create_data_table", - "name": "create_data_table", - "file": "utils/ui_components.py", - "line": 331, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/ui_components.py:create_upload_zone", - "name": "create_upload_zone", - "file": "utils/ui_components.py", - "line": 336, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/ui_components.py:get_dashboard_stats", - "name": "get_dashboard_stats", - "file": "utils/ui_components.py", - "line": 340, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/ui_components.py:handle_job_file_upload", - "name": "handle_job_file_upload", - "file": "utils/ui_components.py", - "line": 347, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/ui_components.py:register_default_handlers", - "name": "register_default_handlers", - "file": "utils/ui_components.py", - "line": 358, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/ui_components.py:init_template_helpers", - "name": "init_template_helpers", - "file": "utils/ui_components.py", - "line": 364, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/ui_components.py:add_rule", - "name": "add_rule", - "file": "utils/ui_components.py", - "line": 89, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/ui_components.py:_apply_rule", - "name": "_apply_rule", - "file": "utils/ui_components.py", - "line": 112, - "usage_count": 1, - "body_lines": 4, - "is_private": true - }, - { - "key": "utils/ui_components.py:register_handler", - "name": "register_handler", - "file": "utils/ui_components.py", - "line": 204, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/ui_components.py:handle_upload", - "name": "handle_upload", - "file": "utils/ui_components.py", - "line": 208, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/ui_components.py:render_drop_zone", - "name": "render_drop_zone", - "file": "utils/ui_components.py", - "line": 221, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/ui_components.py:subscribe", - "name": "subscribe", - "file": "utils/ui_components.py", - "line": 246, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/ui_components.py:unsubscribe", - "name": "unsubscribe", - "file": "utils/ui_components.py", - "line": 254, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/ui_components.py:broadcast_update", - "name": "broadcast_update", - "file": "utils/ui_components.py", - "line": 259, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/ui_components.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/ui_components.py", - "line": 268, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/job_queue_system.py:schedule_print_job", - "name": "schedule_print_job", - "file": "utils/job_queue_system.py", - "line": 466, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/job_queue_system.py:check_scheduling_conflict", - "name": "check_scheduling_conflict", - "file": "utils/job_queue_system.py", - "line": 474, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/job_queue_system.py:add_system_timer", - "name": "add_system_timer", - "file": "utils/job_queue_system.py", - "line": 478, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/job_queue_system.py:add_job", - "name": "add_job", - "file": "utils/job_queue_system.py", - "line": 88, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/job_queue_system.py:get_next_job", - "name": "get_next_job", - "file": "utils/job_queue_system.py", - "line": 103, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/job_queue_system.py:complete_job", - "name": "complete_job", - "file": "utils/job_queue_system.py", - "line": 121, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/job_queue_system.py:check_printer_conflict", - "name": "check_printer_conflict", - "file": "utils/job_queue_system.py", - "line": 158, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/job_queue_system.py:resolve_conflict", - "name": "resolve_conflict", - "file": "utils/job_queue_system.py", - "line": 189, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/job_queue_system.py:suggest_alternative_time", - "name": "suggest_alternative_time", - "file": "utils/job_queue_system.py", - "line": 206, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/job_queue_system.py:add_timer", - "name": "add_timer", - "file": "utils/job_queue_system.py", - "line": 234, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/job_queue_system.py:remove_timer", - "name": "remove_timer", - "file": "utils/job_queue_system.py", - "line": 245, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/job_queue_system.py:_timer_loop", - "name": "_timer_loop", - "file": "utils/job_queue_system.py", - "line": 253, - "usage_count": 0, - "body_lines": 2, - "is_private": true - }, - { - "key": "utils/job_queue_system.py:schedule_job", - "name": "schedule_job", - "file": "utils/job_queue_system.py", - "line": 301, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/job_queue_system.py:start_job_execution", - "name": "start_job_execution", - "file": "utils/job_queue_system.py", - "line": 355, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/job_queue_system.py:finish_job_execution", - "name": "finish_job_execution", - "file": "utils/job_queue_system.py", - "line": 400, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/job_queue_system.py:_scheduler_loop", - "name": "_scheduler_loop", - "file": "utils/job_queue_system.py", - "line": 436, - "usage_count": 0, - "body_lines": 2, - "is_private": true - }, - { - "key": "utils/job_queue_system.py:add_to_queue", - "name": "add_to_queue", - "file": "utils/job_queue_system.py", - "line": 488, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/job_queue_system.py:check_conflicts", - "name": "check_conflicts", - "file": "utils/job_queue_system.py", - "line": 504, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/job_queue_system.py:schedule_task", - "name": "schedule_task", - "file": "utils/job_queue_system.py", - "line": 510, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/data_management.py:delete_file", - "name": "delete_file", - "file": "utils/data_management.py", - "line": 157, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/data_management.py:move_to_trash", - "name": "move_to_trash", - "file": "utils/data_management.py", - "line": 184, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/data_management.py:safe_delete", - "name": "safe_delete", - "file": "utils/data_management.py", - "line": 267, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/data_management.py:send2trash", - "name": "send2trash", - "file": "utils/data_management.py", - "line": 360, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/data_management.py:ensure_directories", - "name": "ensure_directories", - "file": "utils/data_management.py", - "line": 57, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/data_management.py:generate_unique_filename", - "name": "generate_unique_filename", - "file": "utils/data_management.py", - "line": 84, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "utils/data_management.py:save_file", - "name": "save_file", - "file": "utils/data_management.py", - "line": 103, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/data_management.py:_move_to_trash_windows", - "name": "_move_to_trash_windows", - "file": "utils/data_management.py", - "line": 202, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "utils/data_management.py:_move_to_trash_unix", - "name": "_move_to_trash_unix", - "file": "utils/data_management.py", - "line": 225, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "utils/data_management.py:_delete_permanently", - "name": "_delete_permanently", - "file": "utils/data_management.py", - "line": 252, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "utils/settings.py:get_log_file", - "name": "get_log_file", - "file": "utils/settings.py", - "line": 98, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/settings.py:ensure_log_directories", - "name": "ensure_log_directories", - "file": "utils/settings.py", - "line": 113, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/settings.py:ensure_database_directory", - "name": "ensure_database_directory", - "file": "utils/settings.py", - "line": 119, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/settings.py:ensure_upload_directory", - "name": "ensure_upload_directory", - "file": "utils/settings.py", - "line": 131, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/hardware_integration.py:get_printer_monitor", - "name": "get_printer_monitor", - "file": "utils/hardware_integration.py", - "line": 1521, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/hardware_integration.py:initialize_all_outlets", - "name": "initialize_all_outlets", - "file": "utils/hardware_integration.py", - "line": 563, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "utils/hardware_integration.py:get_all_outlet_status", - "name": "get_all_outlet_status", - "file": "utils/hardware_integration.py", - "line": 619, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/hardware_integration.py:_collect_device_info", - "name": "_collect_device_info", - "file": "utils/hardware_integration.py", - "line": 683, - "usage_count": 1, - "body_lines": 4, - "is_private": true - }, - { - "key": "utils/hardware_integration.py:_log_plug_status", - "name": "_log_plug_status", - "file": "utils/hardware_integration.py", - "line": 745, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "utils/hardware_integration.py:_ensure_outlet_in_database", - "name": "_ensure_outlet_in_database", - "file": "utils/hardware_integration.py", - "line": 780, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "utils/hardware_integration.py:get_energy_statistics", - "name": "get_energy_statistics", - "file": "utils/hardware_integration.py", - "line": 828, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/hardware_integration.py:turn_off_outlet", - "name": "turn_off_outlet", - "file": "utils/hardware_integration.py", - "line": 969, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/hardware_integration.py:turn_on_outlet", - "name": "turn_on_outlet", - "file": "utils/hardware_integration.py", - "line": 982, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/hardware_integration.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/hardware_integration.py", - "line": 1112, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/hardware_integration.py:clear_all_caches", - "name": "clear_all_caches", - "file": "utils/hardware_integration.py", - "line": 1170, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/hardware_integration.py:check_and_control_for_jobs", - "name": "check_and_control_for_jobs", - "file": "utils/hardware_integration.py", - "line": 1233, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/hardware_integration.py:get_session_status", - "name": "get_session_status", - "file": "utils/hardware_integration.py", - "line": 1280, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/hardware_integration.py:update_session_status", - "name": "update_session_status", - "file": "utils/hardware_integration.py", - "line": 1322, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/hardware_integration.py:clear_session_cache", - "name": "clear_session_cache", - "file": "utils/hardware_integration.py", - "line": 1359, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/hardware_integration.py:_create_fresh_session_status", - "name": "_create_fresh_session_status", - "file": "utils/hardware_integration.py", - "line": 1384, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "utils/hardware_integration.py:invalidate_cache", - "name": "invalidate_cache", - "file": "utils/hardware_integration.py", - "line": 1433, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/hardware_integration.py:force_network_refresh", - "name": "force_network_refresh", - "file": "utils/hardware_integration.py", - "line": 1462, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/ip_security.py:require_plug_ip_access", - "name": "require_plug_ip_access", - "file": "utils/ip_security.py", - "line": 170, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/ip_security.py:require_admin_ip_access", - "name": "require_admin_ip_access", - "file": "utils/ip_security.py", - "line": 208, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/ip_security.py:get_allowed_plug_ips", - "name": "get_allowed_plug_ips", - "file": "utils/ip_security.py", - "line": 141, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/ip_security.py:is_plug_ip_allowed", - "name": "is_plug_ip_allowed", - "file": "utils/ip_security.py", - "line": 46, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "utils/ip_security.py:is_client_ip_allowed", - "name": "is_client_ip_allowed", - "file": "utils/ip_security.py", - "line": 66, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/ip_security.py:get_client_ip", - "name": "get_client_ip", - "file": "utils/ip_security.py", - "line": 95, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/ip_security.py:validate_plug_access", - "name": "validate_plug_access", - "file": "utils/ip_security.py", - "line": 122, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/ip_security.py:is_ip_blocked", - "name": "is_ip_blocked", - "file": "utils/ip_security.py", - "line": 150, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/ip_security.py:wrapper", - "name": "wrapper", - "file": "utils/ip_security.py", - "line": 219, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/ssl_suite.py:setup_ssl_environment", - "name": "setup_ssl_environment", - "file": "utils/ssl_suite.py", - "line": 224, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/ssl_suite.py:get_ssl_status", - "name": "get_ssl_status", - "file": "utils/ssl_suite.py", - "line": 250, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/ssl_suite.py:apply_ssl_fixes", - "name": "apply_ssl_fixes", - "file": "utils/ssl_suite.py", - "line": 261, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/ssl_suite.py:get_ssl_config", - "name": "get_ssl_config", - "file": "utils/ssl_suite.py", - "line": 265, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/ssl_suite.py:manage_ssl_certificates", - "name": "manage_ssl_certificates", - "file": "utils/ssl_suite.py", - "line": 269, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/ssl_suite.py:check_certificate_validity", - "name": "check_certificate_validity", - "file": "utils/ssl_suite.py", - "line": 131, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/ssl_suite.py:fix_windows_ssl", - "name": "fix_windows_ssl", - "file": "utils/ssl_suite.py", - "line": 171, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/ssl_suite.py:fix_certificate_verification", - "name": "fix_certificate_verification", - "file": "utils/ssl_suite.py", - "line": 185, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/ssl_suite.py:disable_ssl_warnings", - "name": "disable_ssl_warnings", - "file": "utils/ssl_suite.py", - "line": 204, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/api_utils.py:create_error_response", - "name": "create_error_response", - "file": "utils/api_utils.py", - "line": 43, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "utils/api_utils.py:create_printers_response", - "name": "create_printers_response", - "file": "utils/api_utils.py", - "line": 70, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/api_utils.py:validate_printer_data", - "name": "validate_printer_data", - "file": "utils/api_utils.py", - "line": 88, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/api_utils.py:is_valid_response", - "name": "is_valid_response", - "file": "utils/api_utils.py", - "line": 149, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "utils/api_utils.py:normalize_response", - "name": "normalize_response", - "file": "utils/api_utils.py", - "line": 169, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "utils/security_suite.py:get_security_manager", - "name": "get_security_manager", - "file": "utils/security_suite.py", - "line": 108, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/security_suite.py:check_permission", - "name": "check_permission", - "file": "utils/security_suite.py", - "line": 111, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/security_suite.py:csp_nonce", - "name": "csp_nonce", - "file": "utils/security_suite.py", - "line": 118, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/security_suite.py:apply_security_headers", - "name": "apply_security_headers", - "file": "utils/security_suite.py", - "line": 122, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/security_suite.py:generate_nonce", - "name": "generate_nonce", - "file": "utils/security_suite.py", - "line": 55, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "utils/security_suite.py:has_permission", - "name": "has_permission", - "file": "utils/security_suite.py", - "line": 73, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/security_suite.py:decorator", - "name": "decorator", - "file": "utils/security_suite.py", - "line": 88, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/security_suite.py:before_request_security", - "name": "before_request_security", - "file": "utils/security_suite.py", - "line": 131, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/security_suite.py:after_request_security", - "name": "after_request_security", - "file": "utils/security_suite.py", - "line": 135, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/security_suite.py:wrapper", - "name": "wrapper", - "file": "utils/security_suite.py", - "line": 91, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/drag_drop_system.py:create_upload_session", - "name": "create_upload_session", - "file": "utils/drag_drop_system.py", - "line": 61, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/drag_drop_system.py:add_file_to_session", - "name": "add_file_to_session", - "file": "utils/drag_drop_system.py", - "line": 67, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/drag_drop_system.py:update_file_progress", - "name": "update_file_progress", - "file": "utils/drag_drop_system.py", - "line": 74, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/drag_drop_system.py:cleanup_session", - "name": "cleanup_session", - "file": "utils/drag_drop_system.py", - "line": 113, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/drag_drop_system.py:remove_job_from_order", - "name": "remove_job_from_order", - "file": "utils/drag_drop_system.py", - "line": 265, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/drag_drop_system.py:_schedule_cleanup", - "name": "_schedule_cleanup", - "file": "utils/drag_drop_system.py", - "line": 306, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "utils/drag_drop_system.py:get_printer_summary", - "name": "get_printer_summary", - "file": "utils/drag_drop_system.py", - "line": 325, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/drag_drop_system.py:_calculate_completion_time", - "name": "_calculate_completion_time", - "file": "utils/drag_drop_system.py", - "line": 381, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "utils/drag_drop_system.py:cleanup_worker", - "name": "cleanup_worker", - "file": "utils/drag_drop_system.py", - "line": 313, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/database_cleanup.py:get_cleanup_manager", - "name": "get_cleanup_manager", - "file": "utils/database_cleanup.py", - "line": 69, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/database_cleanup.py:register_engine", - "name": "register_engine", - "file": "utils/database_cleanup.py", - "line": 28, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/database_cleanup.py:cleanup_all", - "name": "cleanup_all", - "file": "utils/database_cleanup.py", - "line": 39, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/database_cleanup.py:get_engine_count", - "name": "get_engine_count", - "file": "utils/database_cleanup.py", - "line": 56, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/audit_logger.py:init_audit_logging", - "name": "init_audit_logging", - "file": "utils/audit_logger.py", - "line": 17, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/audit_logger.py:log_admin_action", - "name": "log_admin_action", - "file": "utils/audit_logger.py", - "line": 51, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/audit_logger.py:log_security_event", - "name": "log_security_event", - "file": "utils/audit_logger.py", - "line": 68, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/audit_logger.py:log_audit_event", - "name": "log_audit_event", - "file": "utils/audit_logger.py", - "line": 30, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "utils/job_scheduler.py:get_scheduler_logger", - "name": "get_scheduler_logger", - "file": "utils/job_scheduler.py", - "line": 22, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/job_scheduler.py:get_job_scheduler", - "name": "get_job_scheduler", - "file": "utils/job_scheduler.py", - "line": 720, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/job_scheduler.py:register_task", - "name": "register_task", - "file": "utils/job_scheduler.py", - "line": 43, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "utils/job_scheduler.py:remove_task", - "name": "remove_task", - "file": "utils/job_scheduler.py", - "line": 125, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "utils/job_scheduler.py:get_task_info", - "name": "get_task_info", - "file": "utils/job_scheduler.py", - "line": 143, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/job_scheduler.py:get_tasks", - "name": "get_tasks", - "file": "utils/job_scheduler.py", - "line": 177, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/job_scheduler.py:is_running", - "name": "is_running", - "file": "utils/job_scheduler.py", - "line": 257, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/job_scheduler.py:_run", - "name": "_run", - "file": "utils/job_scheduler.py", - "line": 266, - "usage_count": 0, - "body_lines": 4, - "is_private": true - }, - { - "key": "utils/job_scheduler.py:_check_jobs", - "name": "_check_jobs", - "file": "utils/job_scheduler.py", - "line": 374, - "usage_count": 0, - "body_lines": 3, - "is_private": true - }, - { - "key": "utils/job_scheduler.py:handle_immediate_job", - "name": "handle_immediate_job", - "file": "utils/job_scheduler.py", - "line": 488, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/job_scheduler.py:check_and_manage_printer_power", - "name": "check_and_manage_printer_power", - "file": "utils/job_scheduler.py", - "line": 547, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/job_scheduler.py:_check_and_start_jobs", - "name": "_check_and_start_jobs", - "file": "utils/job_scheduler.py", - "line": 624, - "usage_count": 0, - "body_lines": 2, - "is_private": true - }, - { - "key": "utils/core_system.py:fix_windows_socket_issues", - "name": "fix_windows_socket_issues", - "file": "utils/core_system.py", - "line": 180, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/core_system.py:safe_subprocess_run", - "name": "safe_subprocess_run", - "file": "utils/core_system.py", - "line": 203, - "usage_count": 0, - "body_lines": 5, - "is_private": false - }, - { - "key": "utils/core_system.py:apply_all_windows_fixes", - "name": "apply_all_windows_fixes", - "file": "utils/core_system.py", - "line": 227, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/core_system.py:get_system_controller", - "name": "get_system_controller", - "file": "utils/core_system.py", - "line": 798, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/core_system.py:get_windows_thread_manager", - "name": "get_windows_thread_manager", - "file": "utils/core_system.py", - "line": 805, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/core_system.py:get_error_recovery", - "name": "get_error_recovery", - "file": "utils/core_system.py", - "line": 819, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/core_system.py:get_timeout_manager", - "name": "get_timeout_manager", - "file": "utils/core_system.py", - "line": 826, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/core_system.py:restart_system_service", - "name": "restart_system_service", - "file": "utils/core_system.py", - "line": 766, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/core_system.py:register_shutdown_hook", - "name": "register_shutdown_hook", - "file": "utils/core_system.py", - "line": 457, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/core_system.py:force_quit_process", - "name": "force_quit_process", - "file": "utils/core_system.py", - "line": 404, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/core_system.py:_register_signal_handlers", - "name": "_register_signal_handlers", - "file": "utils/core_system.py", - "line": 113, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "utils/core_system.py:_signal_handler", - "name": "_signal_handler", - "file": "utils/core_system.py", - "line": 568, - "usage_count": 0, - "body_lines": 3, - "is_private": true - }, - { - "key": "utils/core_system.py:register_thread", - "name": "register_thread", - "file": "utils/core_system.py", - "line": 130, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/core_system.py:register_cleanup_function", - "name": "register_cleanup_function", - "file": "utils/core_system.py", - "line": 137, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/core_system.py:shutdown_all", - "name": "shutdown_all", - "file": "utils/core_system.py", - "line": 144, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/core_system.py:add_recovery_attempt", - "name": "add_recovery_attempt", - "file": "utils/core_system.py", - "line": 261, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/core_system.py:calculate_backoff_delay", - "name": "calculate_backoff_delay", - "file": "utils/core_system.py", - "line": 285, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/core_system.py:get_recovery_status", - "name": "get_recovery_status", - "file": "utils/core_system.py", - "line": 345, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/core_system.py:cancel_timeout", - "name": "cancel_timeout", - "file": "utils/core_system.py", - "line": 394, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/core_system.py:load_config", - "name": "load_config", - "file": "utils/core_system.py", - "line": 512, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/core_system.py:save_config", - "name": "save_config", - "file": "utils/core_system.py", - "line": 528, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/core_system.py:is_service_active", - "name": "is_service_active", - "file": "utils/core_system.py", - "line": 573, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/core_system.py:check_https_connectivity", - "name": "check_https_connectivity", - "file": "utils/core_system.py", - "line": 623, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/core_system.py:run_monitoring_cycle", - "name": "run_monitoring_cycle", - "file": "utils/core_system.py", - "line": 639, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/core_system.py:cleanup_system_resources", - "name": "cleanup_system_resources", - "file": "utils/core_system.py", - "line": 675, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/core_system.py:start_watchdog", - "name": "start_watchdog", - "file": "utils/core_system.py", - "line": 742, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/core_system.py:timeout_handler", - "name": "timeout_handler", - "file": "utils/core_system.py", - "line": 373, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/core_system.py:windows_bind_with_reuse", - "name": "windows_bind_with_reuse", - "file": "utils/core_system.py", - "line": 188, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/database_suite.py:get_database_stats", - "name": "get_database_stats", - "file": "utils/database_suite.py", - "line": 226, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/database_suite.py:run_database_maintenance", - "name": "run_database_maintenance", - "file": "utils/database_suite.py", - "line": 240, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/database_suite.py:get_db_connection", - "name": "get_db_connection", - "file": "utils/database_suite.py", - "line": 262, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/database_suite.py:get_table_names", - "name": "get_table_names", - "file": "utils/database_suite.py", - "line": 266, - "usage_count": 1, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/database_suite.py:run_migrations", - "name": "run_migrations", - "file": "utils/database_suite.py", - "line": 270, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/database_suite.py:clean_database", - "name": "clean_database", - "file": "utils/database_suite.py", - "line": 274, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/database_suite.py:get_connection", - "name": "get_connection", - "file": "utils/database_suite.py", - "line": 41, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/database_suite.py:execute_query", - "name": "execute_query", - "file": "utils/database_suite.py", - "line": 45, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/database_suite.py:get_table_info", - "name": "get_table_info", - "file": "utils/database_suite.py", - "line": 88, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/database_suite.py:get_all_tables", - "name": "get_all_tables", - "file": "utils/database_suite.py", - "line": 105, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/database_suite.py:count_rows", - "name": "count_rows", - "file": "utils/database_suite.py", - "line": 111, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/database_suite.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/database_suite.py", - "line": 148, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/database_suite.py:cleanup_old_jobs", - "name": "cleanup_old_jobs", - "file": "utils/database_suite.py", - "line": 179, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/database_suite.py:vacuum_database", - "name": "vacuum_database", - "file": "utils/database_suite.py", - "line": 202, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/logging_config.py:debug_request", - "name": "debug_request", - "file": "utils/logging_config.py", - "line": 303, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/logging_config.py:debug_response", - "name": "debug_response", - "file": "utils/logging_config.py", - "line": 327, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/logging_config.py:emergency_log", - "name": "emergency_log", - "file": "utils/logging_config.py", - "line": 352, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/logging_config.py:doRollover", - "name": "doRollover", - "file": "utils/logging_config.py", - "line": 38, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/logging_config.py:_create_new_log_file", - "name": "_create_new_log_file", - "file": "utils/logging_config.py", - "line": 79, - "usage_count": 1, - "body_lines": 2, - "is_private": true - }, - { - "key": "utils/logging_config.py:decorator", - "name": "decorator", - "file": "utils/logging_config.py", - "line": 244, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/logging_config.py:wrapper", - "name": "wrapper", - "file": "utils/logging_config.py", - "line": 246, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/monitoring_analytics.py:get_system_performance", - "name": "get_system_performance", - "file": "utils/monitoring_analytics.py", - "line": 302, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/monitoring_analytics.py:get_job_statistics", - "name": "get_job_statistics", - "file": "utils/monitoring_analytics.py", - "line": 306, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/monitoring_analytics.py:get_printer_statistics", - "name": "get_printer_statistics", - "file": "utils/monitoring_analytics.py", - "line": 310, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/monitoring_analytics.py:generate_system_report", - "name": "generate_system_report", - "file": "utils/monitoring_analytics.py", - "line": 171, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/monitoring_analytics.py:get_health_check", - "name": "get_health_check", - "file": "utils/monitoring_analytics.py", - "line": 318, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/monitoring_analytics.py:collect_analytics_data", - "name": "collect_analytics_data", - "file": "utils/monitoring_analytics.py", - "line": 325, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/monitoring_analytics.py:track_performance", - "name": "track_performance", - "file": "utils/monitoring_analytics.py", - "line": 330, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/monitoring_analytics.py:create_pdf_report", - "name": "create_pdf_report", - "file": "utils/monitoring_analytics.py", - "line": 335, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/monitoring_analytics.py:track_cpu_usage", - "name": "track_cpu_usage", - "file": "utils/monitoring_analytics.py", - "line": 43, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/monitoring_analytics.py:track_memory_usage", - "name": "track_memory_usage", - "file": "utils/monitoring_analytics.py", - "line": 47, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/monitoring_analytics.py:track_disk_usage", - "name": "track_disk_usage", - "file": "utils/monitoring_analytics.py", - "line": 58, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/monitoring_analytics.py:get_system_metrics", - "name": "get_system_metrics", - "file": "utils/monitoring_analytics.py", - "line": 68, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/monitoring_analytics.py:collect_job_analytics", - "name": "collect_job_analytics", - "file": "utils/monitoring_analytics.py", - "line": 86, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/monitoring_analytics.py:collect_printer_analytics", - "name": "collect_printer_analytics", - "file": "utils/monitoring_analytics.py", - "line": 130, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/monitoring_analytics.py:generate_usage_report", - "name": "generate_usage_report", - "file": "utils/monitoring_analytics.py", - "line": 223, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/monitoring_analytics.py:get_dashboard_data", - "name": "get_dashboard_data", - "file": "utils/monitoring_analytics.py", - "line": 256, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/ip_validation.py:is_valid_myp_ip", - "name": "is_valid_myp_ip", - "file": "utils/ip_validation.py", - "line": 17, - "usage_count": 1, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/ip_validation.py:check_ip_conflicts", - "name": "check_ip_conflicts", - "file": "utils/ip_validation.py", - "line": 107, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "utils/script_collection.py:run_tests", - "name": "run_tests", - "file": "utils/script_collection.py", - "line": 228, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/script_collection.py:setup_system", - "name": "setup_system", - "file": "utils/script_collection.py", - "line": 232, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/script_collection.py:test_tapo_sofort", - "name": "test_tapo_sofort", - "file": "utils/script_collection.py", - "line": 239, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "utils/script_collection.py:test_database_cleanup", - "name": "test_database_cleanup", - "file": "utils/script_collection.py", - "line": 39, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/script_collection.py:test_button_functionality", - "name": "test_button_functionality", - "file": "utils/script_collection.py", - "line": 45, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/script_collection.py:setup_drucker_db", - "name": "setup_drucker_db", - "file": "utils/script_collection.py", - "line": 56, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/script_collection.py:fix_database_immediate", - "name": "fix_database_immediate", - "file": "utils/script_collection.py", - "line": 107, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/script_collection.py:create_ssl_cert", - "name": "create_ssl_cert", - "file": "utils/script_collection.py", - "line": 133, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "utils/script_collection.py:update_printers", - "name": "update_printers", - "file": "utils/script_collection.py", - "line": 154, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/script_collection.py:migrate_database", - "name": "migrate_database", - "file": "utils/script_collection.py", - "line": 96, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/script_collection.py:create_test_printers", - "name": "create_test_printers", - "file": "utils/script_collection.py", - "line": 143, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/script_collection.py:update_requirements", - "name": "update_requirements", - "file": "utils/script_collection.py", - "line": 160, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "utils/script_collection.py:run_initial_setup", - "name": "run_initial_setup", - "file": "utils/script_collection.py", - "line": 194, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "debug/debug_admin.py:test_admin_route", - "name": "test_admin_route", - "file": "debug/debug_admin.py", - "line": 13, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "debug/debug_admin.py:test_admin_decorator", - "name": "test_admin_decorator", - "file": "debug/debug_admin.py", - "line": 98, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "debug/debug_admin.py:test_template", - "name": "test_template", - "file": "debug/debug_admin.py", - "line": 117, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "debug/debug_admin.py:check_admin_user_password", - "name": "check_admin_user_password", - "file": "debug/debug_admin.py", - "line": 134, - "usage_count": 1, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:csrf_error", - "name": "csrf_error", - "file": "legacy/app_original.py", - "line": 527, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:load_user", - "name": "load_user", - "file": "legacy/app_original.py", - "line": 558, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:inject_now", - "name": "inject_now", - "file": "legacy/app_original.py", - "line": 719, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:format_datetime_filter", - "name": "format_datetime_filter", - "file": "legacy/app_original.py", - "line": 725, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "legacy/app_original.py:is_optimized_mode", - "name": "is_optimized_mode", - "file": "legacy/app_original.py", - "line": 738, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_optimization_info", - "name": "get_optimization_info", - "file": "legacy/app_original.py", - "line": 743, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:log_request_info", - "name": "log_request_info", - "file": "legacy/app_original.py", - "line": 755, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:log_response_info", - "name": "log_response_info", - "file": "legacy/app_original.py", - "line": 762, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:start_timer", - "name": "start_timer", - "file": "legacy/app_original.py", - "line": 777, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:job_owner_required", - "name": "job_owner_required", - "file": "legacy/app_original.py", - "line": 787, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:admin_required", - "name": "admin_required", - "file": "legacy/app_original.py", - "line": 809, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:reset_password_request", - "name": "reset_password_request", - "file": "legacy/app_original.py", - "line": 952, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_login", - "name": "api_login", - "file": "legacy/app_original.py", - "line": 959, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_callback", - "name": "api_callback", - "file": "legacy/app_original.py", - "line": 1013, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_github_user_data", - "name": "get_github_user_data", - "file": "legacy/app_original.py", - "line": 1268, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:kiosk_get_status", - "name": "kiosk_get_status", - "file": "legacy/app_original.py", - "line": 1324, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:kiosk_deactivate", - "name": "kiosk_deactivate", - "file": "legacy/app_original.py", - "line": 1339, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:kiosk_activate", - "name": "kiosk_activate", - "file": "legacy/app_original.py", - "line": 1383, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:kiosk_restart_system", - "name": "kiosk_restart_system", - "file": "legacy/app_original.py", - "line": 1417, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_system_restart", - "name": "api_admin_system_restart", - "file": "legacy/app_original.py", - "line": 1451, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_system_shutdown", - "name": "api_admin_system_shutdown", - "file": "legacy/app_original.py", - "line": 1485, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_kiosk_restart", - "name": "api_admin_kiosk_restart", - "file": "legacy/app_original.py", - "line": 1519, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_system_status_extended", - "name": "api_admin_system_status_extended", - "file": "legacy/app_original.py", - "line": 1551, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_system_operations", - "name": "api_admin_system_operations", - "file": "legacy/app_original.py", - "line": 1585, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_cancel_operation", - "name": "api_admin_cancel_operation", - "file": "legacy/app_original.py", - "line": 1606, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_error_recovery_status", - "name": "api_admin_error_recovery_status", - "file": "legacy/app_original.py", - "line": 1628, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_toggle_error_recovery", - "name": "api_admin_toggle_error_recovery", - "file": "legacy/app_original.py", - "line": 1649, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:user_profile", - "name": "user_profile", - "file": "legacy/app_original.py", - "line": 1682, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:user_settings", - "name": "user_settings", - "file": "legacy/app_original.py", - "line": 1689, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:user_update_profile", - "name": "user_update_profile", - "file": "legacy/app_original.py", - "line": 1696, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:user_api_update_settings", - "name": "user_api_update_settings", - "file": "legacy/app_original.py", - "line": 1765, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:user_update_settings", - "name": "user_update_settings", - "file": "legacy/app_original.py", - "line": 1771, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_user_settings", - "name": "get_user_settings", - "file": "legacy/app_original.py", - "line": 1890, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:user_change_password", - "name": "user_change_password", - "file": "legacy/app_original.py", - "line": 2018, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:user_export_data", - "name": "user_export_data", - "file": "legacy/app_original.py", - "line": 2092, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:user_update_profile_api", - "name": "user_update_profile_api", - "file": "legacy/app_original.py", - "line": 2138, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:admin_page", - "name": "admin_page", - "file": "legacy/app_original.py", - "line": 2312, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:index", - "name": "index", - "file": "legacy/app_original.py", - "line": 2364, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:dashboard", - "name": "dashboard", - "file": "legacy/app_original.py", - "line": 2371, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "legacy/app_original.py:profile_redirect", - "name": "profile_redirect", - "file": "legacy/app_original.py", - "line": 2376, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:profil_redirect", - "name": "profil_redirect", - "file": "legacy/app_original.py", - "line": 2382, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:settings_redirect", - "name": "settings_redirect", - "file": "legacy/app_original.py", - "line": 2388, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:einstellungen_redirect", - "name": "einstellungen_redirect", - "file": "legacy/app_original.py", - "line": 2394, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:admin", - "name": "admin", - "file": "legacy/app_original.py", - "line": 2401, - "usage_count": 0, - "body_lines": 1, - "is_private": false - }, - { - "key": "legacy/app_original.py:socket_test", - "name": "socket_test", - "file": "legacy/app_original.py", - "line": 2407, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:components_demo", - "name": "components_demo", - "file": "legacy/app_original.py", - "line": 2416, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:printers_page", - "name": "printers_page", - "file": "legacy/app_original.py", - "line": 2422, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:jobs_page", - "name": "jobs_page", - "file": "legacy/app_original.py", - "line": 2428, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:new_job_page", - "name": "new_job_page", - "file": "legacy/app_original.py", - "line": 2434, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:stats_page", - "name": "stats_page", - "file": "legacy/app_original.py", - "line": 2440, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:privacy", - "name": "privacy", - "file": "legacy/app_original.py", - "line": 2445, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:terms", - "name": "terms", - "file": "legacy/app_original.py", - "line": 2450, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:imprint", - "name": "imprint", - "file": "legacy/app_original.py", - "line": 2455, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:legal", - "name": "legal", - "file": "legacy/app_original.py", - "line": 2460, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:realtime_dashboard", - "name": "realtime_dashboard", - "file": "legacy/app_original.py", - "line": 2468, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:reports_page", - "name": "reports_page", - "file": "legacy/app_original.py", - "line": 2474, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:maintenance_page", - "name": "maintenance_page", - "file": "legacy/app_original.py", - "line": 2480, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:locations_page", - "name": "locations_page", - "file": "legacy/app_original.py", - "line": 2487, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:admin_plug_schedules", - "name": "admin_plug_schedules", - "file": "legacy/app_original.py", - "line": 2494, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:validation_demo", - "name": "validation_demo", - "file": "legacy/app_original.py", - "line": 2526, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:tables_demo", - "name": "tables_demo", - "file": "legacy/app_original.py", - "line": 2532, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:dragdrop_demo", - "name": "dragdrop_demo", - "file": "legacy/app_original.py", - "line": 2538, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_system_health", - "name": "api_admin_system_health", - "file": "legacy/app_original.py", - "line": 2547, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_fix_errors", - "name": "api_admin_fix_errors", - "file": "legacy/app_original.py", - "line": 2692, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_system_health_dashboard", - "name": "api_admin_system_health_dashboard", - "file": "legacy/app_original.py", - "line": 2845, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:admin_printer_settings_page", - "name": "admin_printer_settings_page", - "file": "legacy/app_original.py", - "line": 2874, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "legacy/app_original.py:admin_guest_requests", - "name": "admin_guest_requests", - "file": "legacy/app_original.py", - "line": 2911, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:admin_guest_requests_overview", - "name": "admin_guest_requests_overview", - "file": "legacy/app_original.py", - "line": 2924, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:create_user_api", - "name": "create_user_api", - "file": "legacy/app_original.py", - "line": 2938, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_user_api", - "name": "get_user_api", - "file": "legacy/app_original.py", - "line": 3097, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:update_user_api", - "name": "update_user_api", - "file": "legacy/app_original.py", - "line": 3129, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:toggle_printer_power", - "name": "toggle_printer_power", - "file": "legacy/app_original.py", - "line": 3190, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:test_printer_tapo_connection", - "name": "test_printer_tapo_connection", - "file": "legacy/app_original.py", - "line": 3268, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:test_all_printers_tapo_connection", - "name": "test_all_printers_tapo_connection", - "file": "legacy/app_original.py", - "line": 3316, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:admin_add_user_page", - "name": "admin_add_user_page", - "file": "legacy/app_original.py", - "line": 3393, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:admin_add_printer_page", - "name": "admin_add_printer_page", - "file": "legacy/app_original.py", - "line": 3406, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:admin_edit_printer_page", - "name": "admin_edit_printer_page", - "file": "legacy/app_original.py", - "line": 3419, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:admin_create_user_form", - "name": "admin_create_user_form", - "file": "legacy/app_original.py", - "line": 3453, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:admin_create_printer_form", - "name": "admin_create_printer_form", - "file": "legacy/app_original.py", - "line": 3522, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:admin_edit_user_page", - "name": "admin_edit_user_page", - "file": "legacy/app_original.py", - "line": 3585, - "usage_count": 0, - "body_lines": 4, - "is_private": false - }, - { - "key": "legacy/app_original.py:admin_update_user_form", - "name": "admin_update_user_form", - "file": "legacy/app_original.py", - "line": 3619, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:admin_update_printer_form", - "name": "admin_update_printer_form", - "file": "legacy/app_original.py", - "line": 3689, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:delete_user", - "name": "delete_user", - "file": "legacy/app_original.py", - "line": 3747, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:upload_job_file", - "name": "upload_job_file", - "file": "legacy/app_original.py", - "line": 3788, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:upload_guest_file", - "name": "upload_guest_file", - "file": "legacy/app_original.py", - "line": 3838, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:upload_avatar", - "name": "upload_avatar", - "file": "legacy/app_original.py", - "line": 3890, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:upload_asset", - "name": "upload_asset", - "file": "legacy/app_original.py", - "line": 3953, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:upload_log", - "name": "upload_log", - "file": "legacy/app_original.py", - "line": 4005, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:upload_backup", - "name": "upload_backup", - "file": "legacy/app_original.py", - "line": 4057, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:upload_temp_file", - "name": "upload_temp_file", - "file": "legacy/app_original.py", - "line": 4108, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:serve_uploaded_file", - "name": "serve_uploaded_file", - "file": "legacy/app_original.py", - "line": 4159, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:delete_uploaded_file", - "name": "delete_uploaded_file", - "file": "legacy/app_original.py", - "line": 4208, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_file_stats", - "name": "get_file_stats", - "file": "legacy/app_original.py", - "line": 4265, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_current_job", - "name": "get_current_job", - "file": "legacy/app_original.py", - "line": 4322, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_job_detail", - "name": "get_job_detail", - "file": "legacy/app_original.py", - "line": 4349, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:delete_job", - "name": "delete_job", - "file": "legacy/app_original.py", - "line": 4378, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_jobs", - "name": "get_jobs", - "file": "legacy/app_original.py", - "line": 4409, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:create_job", - "name": "create_job", - "file": "legacy/app_original.py", - "line": 4471, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:update_job", - "name": "update_job", - "file": "legacy/app_original.py", - "line": 4564, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_active_jobs", - "name": "get_active_jobs", - "file": "legacy/app_original.py", - "line": 4632, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_printers", - "name": "get_printers", - "file": "legacy/app_original.py", - "line": 4678, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:setup_session_security", - "name": "setup_session_security", - "file": "legacy/app_original.py", - "line": 4820, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:session_heartbeat", - "name": "session_heartbeat", - "file": "legacy/app_original.py", - "line": 4836, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:session_status", - "name": "session_status", - "file": "legacy/app_original.py", - "line": 4863, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:extend_session", - "name": "extend_session", - "file": "legacy/app_original.py", - "line": 4901, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:test_admin_guest_requests", - "name": "test_admin_guest_requests", - "file": "legacy/app_original.py", - "line": 4932, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_guest_request_status", - "name": "get_guest_request_status", - "file": "legacy/app_original.py", - "line": 4943, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:guest_status_page", - "name": "guest_status_page", - "file": "legacy/app_original.py", - "line": 5048, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_admin_guest_requests", - "name": "get_admin_guest_requests", - "file": "legacy/app_original.py", - "line": 5056, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:approve_guest_request", - "name": "approve_guest_request", - "file": "legacy/app_original.py", - "line": 5179, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:reject_guest_request", - "name": "reject_guest_request", - "file": "legacy/app_original.py", - "line": 5259, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:delete_guest_request", - "name": "delete_guest_request", - "file": "legacy/app_original.py", - "line": 5326, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_guest_request_detail", - "name": "get_guest_request_detail", - "file": "legacy/app_original.py", - "line": 5370, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_guest_requests_stats", - "name": "get_guest_requests_stats", - "file": "legacy/app_original.py", - "line": 5454, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:export_guest_requests", - "name": "export_guest_requests", - "file": "legacy/app_original.py", - "line": 5543, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:auto_optimize_jobs", - "name": "auto_optimize_jobs", - "file": "legacy/app_original.py", - "line": 5634, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:optimization_settings", - "name": "optimization_settings", - "file": "legacy/app_original.py", - "line": 5715, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:admin_advanced_settings", - "name": "admin_advanced_settings", - "file": "legacy/app_original.py", - "line": 5799, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:admin_performance_optimization", - "name": "admin_performance_optimization", - "file": "legacy/app_original.py", - "line": 5897, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_cleanup_logs", - "name": "api_cleanup_logs", - "file": "legacy/app_original.py", - "line": 5950, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_system_check", - "name": "api_system_check", - "file": "legacy/app_original.py", - "line": 6024, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:apply_round_robin_optimization", - "name": "apply_round_robin_optimization", - "file": "legacy/app_original.py", - "line": 6187, - "usage_count": 1, - "body_lines": 5, - "is_private": false - }, - { - "key": "legacy/app_original.py:validate_optimization_settings", - "name": "validate_optimization_settings", - "file": "legacy/app_original.py", - "line": 6262, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_validation_js", - "name": "get_validation_js", - "file": "legacy/app_original.py", - "line": 6289, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:validate_form_api", - "name": "validate_form_api", - "file": "legacy/app_original.py", - "line": 6302, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_dashboard_config", - "name": "get_dashboard_config", - "file": "legacy/app_original.py", - "line": 6410, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_widget_data", - "name": "get_widget_data", - "file": "legacy/app_original.py", - "line": 6421, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:emit_dashboard_event", - "name": "emit_dashboard_event", - "file": "legacy/app_original.py", - "line": 6436, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_dashboard_js", - "name": "get_dashboard_js", - "file": "legacy/app_original.py", - "line": 6460, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_job_order_api", - "name": "get_job_order_api", - "file": "legacy/app_original.py", - "line": 6508, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:create_upload_session", - "name": "create_upload_session", - "file": "legacy/app_original.py", - "line": 6538, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_upload_progress", - "name": "get_upload_progress", - "file": "legacy/app_original.py", - "line": 6556, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_dragdrop_js", - "name": "get_dragdrop_js", - "file": "legacy/app_original.py", - "line": 6566, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_dragdrop_css", - "name": "get_dragdrop_css", - "file": "legacy/app_original.py", - "line": 6579, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:query_advanced_table", - "name": "query_advanced_table", - "file": "legacy/app_original.py", - "line": 6594, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:export_table_data", - "name": "export_table_data", - "file": "legacy/app_original.py", - "line": 6660, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_tables_js", - "name": "get_tables_js", - "file": "legacy/app_original.py", - "line": 6800, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_tables_css", - "name": "get_tables_css", - "file": "legacy/app_original.py", - "line": 6813, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_clear_cache", - "name": "api_clear_cache", - "file": "legacy/app_original.py", - "line": 6830, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_optimize_database", - "name": "api_optimize_database", - "file": "legacy/app_original.py", - "line": 6882, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_create_backup", - "name": "api_create_backup", - "file": "legacy/app_original.py", - "line": 6959, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:maintenance_tasks", - "name": "maintenance_tasks", - "file": "legacy/app_original.py", - "line": 7057, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:update_maintenance_task_status", - "name": "update_maintenance_task_status", - "file": "legacy/app_original.py", - "line": 7115, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_maintenance_overview", - "name": "get_maintenance_overview", - "file": "legacy/app_original.py", - "line": 7143, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:schedule_maintenance_api", - "name": "schedule_maintenance_api", - "file": "legacy/app_original.py", - "line": 7155, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:locations", - "name": "locations", - "file": "legacy/app_original.py", - "line": 7183, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:location_users", - "name": "location_users", - "file": "legacy/app_original.py", - "line": 7231, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:get_user_locations_api", - "name": "get_user_locations_api", - "file": "legacy/app_original.py", - "line": 7271, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:calculate_distance_api", - "name": "calculate_distance_api", - "file": "legacy/app_original.py", - "line": 7291, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:find_nearest_location_api", - "name": "find_nearest_location_api", - "file": "legacy/app_original.py", - "line": 7314, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:setup_database_with_migrations", - "name": "setup_database_with_migrations", - "file": "legacy/app_original.py", - "line": 7348, - "usage_count": 1, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_logs", - "name": "api_logs", - "file": "legacy/app_original.py", - "line": 7391, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_logs", - "name": "api_admin_logs", - "file": "legacy/app_original.py", - "line": 7535, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:export_admin_logs", - "name": "export_admin_logs", - "file": "legacy/app_original.py", - "line": 7749, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_database_status", - "name": "api_admin_database_status", - "file": "legacy/app_original.py", - "line": 7829, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_system_status", - "name": "api_admin_system_status", - "file": "legacy/app_original.py", - "line": 8152, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_optimization_status", - "name": "api_optimization_status", - "file": "legacy/app_original.py", - "line": 8381, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_toggle_optimization", - "name": "api_admin_toggle_optimization", - "file": "legacy/app_original.py", - "line": 8441, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_public_statistics", - "name": "api_public_statistics", - "file": "legacy/app_original.py", - "line": 8503, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_stats", - "name": "api_stats", - "file": "legacy/app_original.py", - "line": 8594, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_stats_live", - "name": "api_admin_stats_live", - "file": "legacy/app_original.py", - "line": 8731, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:refresh_dashboard", - "name": "refresh_dashboard", - "file": "legacy/app_original.py", - "line": 8917, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_plug_schedules_logs", - "name": "api_admin_plug_schedules_logs", - "file": "legacy/app_original.py", - "line": 9006, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_plug_schedules_statistics", - "name": "api_admin_plug_schedules_statistics", - "file": "legacy/app_original.py", - "line": 9096, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_plug_schedules_cleanup", - "name": "api_admin_plug_schedules_cleanup", - "file": "legacy/app_original.py", - "line": 9148, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:api_admin_plug_schedules_calendar", - "name": "api_admin_plug_schedules_calendar", - "file": "legacy/app_original.py", - "line": 9188, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:add_optimized_cache_headers", - "name": "add_optimized_cache_headers", - "file": "legacy/app_original.py", - "line": 473, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:decorated_function", - "name": "decorated_function", - "file": "legacy/app_original.py", - "line": 812, - "usage_count": 0, - "body_lines": 3, - "is_private": false - }, - { - "key": "legacy/app_original.py:add_cache_headers", - "name": "add_cache_headers", - "file": "legacy/app_original.py", - "line": 83, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:register_template_helpers", - "name": "register_template_helpers", - "file": "legacy/app_original.py", - "line": 214, - "usage_count": 1, - "body_lines": 1, - "is_private": false - }, - { - "key": "legacy/app_original.py:fetch_printers", - "name": "fetch_printers", - "file": "legacy/app_original.py", - "line": 4690, - "usage_count": 0, - "body_lines": 2, - "is_private": false - }, - { - "key": "legacy/app_original.py:fallback_signal_handler", - "name": "fallback_signal_handler", - "file": "legacy/app_original.py", - "line": 9413, - "usage_count": 1, - "body_lines": 3, - "is_private": false - } - ] - }, - "recommendations": [ - { - "type": "high_priority_removal", - "description": "Entfernen Sie 5 ungenutzte öffentliche Funktionen", - "functions": [ - "models.py:configure_sqlite_for_production", - "app.py:internal_error", - "app.py:handle_exception", - "blueprints/guest.py:api_create_guest_request", - "utils/drag_drop_system.py:validate_file_upload" - ] - }, - { - "type": "low_priority_removal", - "description": "Prüfen Sie 283 ungenutzte private/kleine Funktionen", - "functions": [ - "models.py:maintenance_worker", - "models.py:is_admin", - "models.py:has_role", - "models.py:get_initials", - "models.py:display_name", - "models.py:is_active", - "models.py:get_id", - "models.py:get_by_username_or_email", - "models.py:get_permission_level", - "models.py:update_status", - "models.py:get_all_cached", - "models.py:get_online_printers", - "models.py:get_active_jobs", - "models.py:get_user_jobs", - "models.py:is_otp_valid", - "models.py:get_otp_status", - "models.py:pause_timer", - "models.py:stop_timer", - "models.py:reset_timer", - "models.py:extend_timer", - "models.py:update_activity", - "models.py:get_by_name", - "models.py:get_by_type", - "models.py:get_running_timers", - "models.py:cleanup_expired_timers", - "models.py:create_kiosk_timer", - "models.py:get_printer_history", - "models.py:get_all_recent_logs", - "simple_form_tester.py:handle_starttag", - "simple_form_tester.py:handle_endtag", - "test_flask_minimal.py:hello", - "test_flask_minimal.py:health", - "form_test_automator.py:_generate_email", - "form_test_automator.py:_generate_password", - "form_test_automator.py:_generate_phone", - "form_test_automator.py:_generate_url", - "form_test_automator.py:_generate_datetime", - "form_test_automator.py:_generate_range", - "form_test_automator.py:_generate_color", - "form_test_automator.py:_generate_text", - "app.py:aggressive_shutdown_handler", - "app.py:csrf_protect", - "app.py:csrf_error", - "app.py:load_user", - "app.py:inject_now", - "app.py:inject_current_route", - "app.py:format_datetime_filter", - "app.py:is_optimized_mode", - "app.py:log_request_info", - "app.py:log_response_info", - "app.py:minimize_session_cookie", - "app.py:check_session_activity", - "app.py:csrf_test_page", - "app.py:csrf_test_api", - "app.py:service_worker", - "app.py:api_health_check", - "app.py:api_version", - "app.py:privacy", - "app.py:terms", - "app.py:imprint", - "app.py:legal", - "app.py:bad_request_error", - "app.py:unauthorized_error", - "app.py:forbidden_error", - "app.py:not_found_error", - "app.py:method_not_allowed_error", - "app.py:payload_too_large_error", - "app.py:rate_limit_error", - "app.py:bad_gateway_error", - "app.py:service_unavailable_error", - "app.py:http_version_not_supported_error", - "app.py:production_info", - "app.py:get_minimal_session_data", - "app.py:cleanup_expired_sessions", - "tests/test_tapo_integration.py:setup", - "config/settings.py:get_log_file", - "config/settings.py:ensure_log_directories", - "config/settings.py:ensure_upload_directory", - "config/__init__.py:get_config", - "config/__init__.py:validate_config", - "config/app_config.py:get_config_by_name", - "config/security.py:get_security_headers", - "config/security.py:get_headers", - "config/security.py:get_rate_limits", - "config/security.py:get_session_config", - "config/security.py:get_csrf_config", - "blueprints/jobs.py:job_owner_required", - "blueprints/jobs.py:decorated_function", - "blueprints/guest.py:guest_request_form", - "blueprints/guest.py:guest_start_public", - "blueprints/guest.py:guest_job_status", - "blueprints/guest.py:guest_requests_overview", - "blueprints/guest.py:guest_request_status", - "blueprints/guest.py:guest_requests_by_email", - "blueprints/guest.py:api_start_job_with_code", - "blueprints/guest.py:api_get_guest_request", - "blueprints/guest.py:api_get_guest_job_status", - "blueprints/guest.py:api_get_all_requests", - "blueprints/guest.py:api_get_request_details", - "blueprints/guest.py:api_update_request", - "blueprints/guest.py:api_delete_request", - "blueprints/guest.py:admin_requests_management", - "blueprints/guest.py:api_approve_request", - "blueprints/guest.py:api_deny_request", - "blueprints/guest.py:api_get_request_otp", - "blueprints/guest.py:api_guest_status_by_otp", - "blueprints/guest.py:guest_status_check_page", - "blueprints/uploads.py:admin_required", - "blueprints/uploads.py:upload_guest_file", - "blueprints/legal_pages.py:imprint", - "blueprints/legal_pages.py:privacy", - "blueprints/legal_pages.py:terms", - "blueprints/legal_pages.py:legal", - "blueprints/legal_pages.py:system_info", - "blueprints/auth.py:reset_password_request", - "blueprints/auth.py:api_login", - "blueprints/auth.py:api_callback", - "blueprints/api.py:session_status", - "blueprints/api_simple.py:health_check", - "blueprints/energy_monitoring.py:get_energy_monitoring", - "blueprints/kiosk.py:get_status", - "blueprints/kiosk.py:deactivate", - "blueprints/kiosk.py:restart_system", - "blueprints/kiosk.py:delayed_restart", - "blueprints/admin_unified.py:admin_required", - "blueprints/user_management.py:users_admin_required", - "blueprints/user_management.py:user_permissions_page", - "blueprints/user_management.py:get_user_permissions_api", - "blueprints/user_management.py:update_user_permissions_api", - "blueprints/user_management.py:update_user_permissions_form", - "blueprints/user_management.py:edit_user_permissions_section", - "blueprints/user_management.py:get_user_details_api", - "utils/utilities_collection.py:send_email", - "utils/utilities_collection.py:add_printers", - "utils/utilities_collection.py:run_maintenance", - "utils/utilities_collection.py:apply_quick_fixes", - "utils/utilities_collection.py:get_all", - "utils/utilities_collection.py:get_offline_message", - "utils/utilities_collection.py:optimize_frontend", - "utils/utilities_collection.py:update_requirements", - "utils/system_management.py:load_settings", - "utils/development_tools.py:run_debug_checks", - "utils/development_tools.py:run_system_tests", - "utils/development_tools.py:setup_test_environment", - "utils/development_tools.py:cleanup_test_environment", - "utils/development_tools.py:debug_drucker_erkennung", - "utils/development_tools.py:debug_login", - "utils/development_tools.py:debug_guest_requests", - "utils/permissions.py:admin_required", - "utils/permissions.py:approver_required", - "utils/permissions.py:get_user_permissions", - "utils/ui_components.py:validate_form_field", - "utils/ui_components.py:create_data_table", - "utils/ui_components.py:create_upload_zone", - "utils/ui_components.py:get_dashboard_stats", - "utils/ui_components.py:init_template_helpers", - "utils/ui_components.py:add_rule", - "utils/ui_components.py:handle_upload", - "utils/ui_components.py:subscribe", - "utils/ui_components.py:unsubscribe", - "utils/ui_components.py:broadcast_update", - "utils/job_queue_system.py:schedule_print_job", - "utils/job_queue_system.py:check_scheduling_conflict", - "utils/job_queue_system.py:resolve_conflict", - "utils/job_queue_system.py:_timer_loop", - "utils/job_queue_system.py:_scheduler_loop", - "utils/job_queue_system.py:add_to_queue", - "utils/job_queue_system.py:check_conflicts", - "utils/job_queue_system.py:schedule_task", - "utils/data_management.py:send2trash", - "utils/settings.py:get_log_file", - "utils/settings.py:ensure_log_directories", - "utils/settings.py:ensure_upload_directory", - "utils/hardware_integration.py:initialize_all_outlets", - "utils/hardware_integration.py:get_all_outlet_status", - "utils/hardware_integration.py:turn_off_outlet", - "utils/hardware_integration.py:turn_on_outlet", - "utils/hardware_integration.py:check_and_control_for_jobs", - "utils/hardware_integration.py:get_session_status", - "utils/hardware_integration.py:update_session_status", - "utils/ip_security.py:require_plug_ip_access", - "utils/ip_security.py:require_admin_ip_access", - "utils/ip_security.py:is_ip_blocked", - "utils/ip_security.py:wrapper", - "utils/ssl_suite.py:get_ssl_status", - "utils/ssl_suite.py:apply_ssl_fixes", - "utils/ssl_suite.py:get_ssl_config", - "utils/ssl_suite.py:manage_ssl_certificates", - "utils/api_utils.py:validate_printer_data", - "utils/api_utils.py:handle_api_exception", - "utils/api_utils.py:normalize_response", - "utils/security_suite.py:get_security_manager", - "utils/security_suite.py:csp_nonce", - "utils/security_suite.py:decorator", - "utils/security_suite.py:before_request_security", - "utils/security_suite.py:after_request_security", - "utils/drag_drop_system.py:add_file_to_session", - "utils/drag_drop_system.py:update_file_progress", - "utils/drag_drop_system.py:cleanup_session", - "utils/drag_drop_system.py:remove_job_from_order", - "utils/drag_drop_system.py:cleanup_worker", - "utils/database_cleanup.py:cleanup_all", - "utils/database_cleanup.py:get_engine_count", - "utils/audit_logger.py:log_admin_action", - "utils/audit_logger.py:log_security_event", - "utils/audit_logger.py:log_audit_event", - "utils/job_scheduler.py:update_task", - "utils/job_scheduler.py:remove_task", - "utils/job_scheduler.py:get_task_info", - "utils/job_scheduler.py:get_uptime", - "utils/job_scheduler.py:_run", - "utils/job_scheduler.py:_check_jobs", - "utils/job_scheduler.py:handle_immediate_job", - "utils/job_scheduler.py:check_and_manage_printer_power", - "utils/job_scheduler.py:_check_and_start_jobs", - "utils/core_system.py:safe_subprocess_run", - "utils/core_system.py:_signal_handler", - "utils/core_system.py:set_timeout", - "utils/core_system.py:cancel_timeout", - "utils/core_system.py:start_watchdog", - "utils/core_system.py:timeout_handler", - "utils/core_system.py:windows_bind_with_reuse", - "utils/database_suite.py:get_database_stats", - "utils/database_suite.py:get_db_connection", - "utils/database_suite.py:run_migrations", - "utils/database_suite.py:clean_database", - "utils/logging_config.py:emergency_log", - "utils/logging_config.py:decorator", - "utils/logging_config.py:wrapper", - "utils/monitoring_analytics.py:get_system_performance", - "utils/monitoring_analytics.py:get_job_statistics", - "utils/monitoring_analytics.py:get_printer_statistics", - "utils/monitoring_analytics.py:get_health_check", - "utils/monitoring_analytics.py:collect_analytics_data", - "utils/monitoring_analytics.py:track_performance", - "utils/monitoring_analytics.py:create_pdf_report", - "utils/monitoring_analytics.py:generate_usage_report", - "utils/ip_validation.py:validate_printer_ips", - "utils/ip_validation.py:check_ip_conflicts", - "utils/script_collection.py:setup_system", - "utils/script_collection.py:migrate_database", - "utils/script_collection.py:create_test_printers", - "utils/script_collection.py:update_requirements", - "legacy/app_original.py:aggressive_shutdown_handler", - "legacy/app_original.py:csrf_error", - "legacy/app_original.py:load_user", - "legacy/app_original.py:inject_now", - "legacy/app_original.py:format_datetime_filter", - "legacy/app_original.py:is_optimized_mode", - "legacy/app_original.py:get_optimization_info", - "legacy/app_original.py:log_request_info", - "legacy/app_original.py:log_response_info", - "legacy/app_original.py:job_owner_required", - "legacy/app_original.py:admin_required", - "legacy/app_original.py:reset_password_request", - "legacy/app_original.py:api_login", - "legacy/app_original.py:api_callback", - "legacy/app_original.py:kiosk_get_status", - "legacy/app_original.py:kiosk_deactivate", - "legacy/app_original.py:kiosk_restart_system", - "legacy/app_original.py:check_multiple_printers_status", - "legacy/app_original.py:privacy", - "legacy/app_original.py:terms", - "legacy/app_original.py:imprint", - "legacy/app_original.py:legal", - "legacy/app_original.py:admin_printer_settings_page", - "legacy/app_original.py:upload_guest_file", - "legacy/app_original.py:check_session_activity", - "legacy/app_original.py:setup_session_security", - "legacy/app_original.py:get_guest_request_status", - "legacy/app_original.py:guest_status_page", - "legacy/app_original.py:get_validation_js", - "legacy/app_original.py:validate_form_api", - "legacy/app_original.py:get_dashboard_js", - "legacy/app_original.py:get_dragdrop_js", - "legacy/app_original.py:get_dragdrop_css", - "legacy/app_original.py:get_tables_js", - "legacy/app_original.py:get_tables_css", - "legacy/app_original.py:api_optimization_status", - "legacy/app_original.py:api_public_statistics", - "legacy/app_original.py:add_optimized_cache_headers", - "legacy/app_original.py:add_cache_headers", - "legacy/app_original.py:fetch_printers" - ] - }, - { - "type": "consolidation", - "description": "Konsolidieren Sie 1310 sehr ähnliche Funktionen", - "pairs": [ - [ - "cleanup_imports.py:__init__", - "import_analyzer.py:__init__" - ], - [ - "cleanup_imports.py:create_backup", - "cleanup_imports.py:restore_backup" - ], - [ - "cleanup_imports.py:should_process_file", - "cleanup_imports.py:find_safe_unused_imports" - ], - [ - "cleanup_imports.py:analyze_file_imports", - "function_analysis_tool.py:analyze_file" - ], - [ - "cleanup_imports.py:analyze_file_imports", - "import_analyzer.py:analyze_file" - ], - [ - "cleanup_imports.py:analyze_file_imports", - "utils/data_management.py:_move_to_trash_windows" - ], - [ - "cleanup_imports.py:analyze_file_imports", - "utils/data_management.py:_move_to_trash_unix" - ], - [ - "cleanup_imports.py:analyze_file_imports", - "utils/data_management.py:_delete_permanently" - ], - [ - "cleanup_imports.py:find_safe_unused_imports", - "import_analyzer.py:find_redundant_imports" - ], - [ - "cleanup_imports.py:run_cleanup", - "tests/test_tapo_integration.py:test_crud_operations_printers" - ], - [ - "cleanup_imports.py:restore_backup", - "template_analysis_tool.py:generate_corrections" - ], - [ - "template_analysis_tool.py:analyze_template_endpoints", - "template_analysis_tool.py:analyze_blueprint_routes" - ], - [ - "template_analysis_tool.py:analyze_template_endpoints", - "template_validation_final.py:collect_all_endpoints" - ], - [ - "template_analysis_tool.py:analyze_template_endpoints", - "form_test_automator.py:_print_test_summary" - ], - [ - "template_analysis_tool.py:analyze_template_endpoints", - "template_problem_analysis.py:analyze_all_endpoints" - ], - [ - "template_analysis_tool.py:analyze_template_endpoints", - "template_problem_analysis.py:analyze_template_problems" - ], - [ - "template_analysis_tool.py:analyze_blueprint_routes", - "function_analysis_tool.py:analyze_project" - ], - [ - "template_analysis_tool.py:analyze_blueprint_routes", - "template_validation_final.py:collect_all_endpoints" - ], - [ - "template_analysis_tool.py:analyze_blueprint_routes", - "import_analyzer.py:run_analysis" - ], - [ - "template_analysis_tool.py:analyze_blueprint_routes", - "template_problem_analysis.py:analyze_all_endpoints" - ], - [ - "template_analysis_tool.py:analyze_blueprint_routes", - "template_problem_analysis.py:analyze_template_problems" - ], - [ - "template_analysis_tool.py:analyze_blueprint_routes", - "tests/test_tapo_integration.py:test_all_printers_always_visible" - ], - [ - "template_analysis_tool.py:analyze_blueprint_routes", - "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin" - ], - [ - "template_analysis_tool.py:analyze_blueprint_routes", - "utils/hardware_integration.py:auto_discover_outlets" - ], - [ - "template_analysis_tool.py:cross_reference_validation", - "template_validation_final.py:collect_all_endpoints" - ], - [ - "template_analysis_tool.py:cross_reference_validation", - "template_validation_final.py:validate_all_references" - ], - [ - "template_analysis_tool.py:cross_reference_validation", - "template_problem_analysis.py:analyze_all_endpoints" - ], - [ - "template_analysis_tool.py:cross_reference_validation", - "tests/test_tapo_integration.py:test_all_printers_always_visible" - ], - [ - "template_analysis_tool.py:cross_reference_validation", - "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin" - ], - [ - "template_analysis_tool.py:cross_reference_validation", - "tests/test_tapo_integration.py:test_printer_status_persistence" - ], - [ - "template_analysis_tool.py:cross_reference_validation", - "tests/test_tapo_integration.py:test_concurrent_job_scheduling" - ], - [ - "template_analysis_tool.py:cross_reference_validation", - "utils/development_tools.py:run_all_tests" - ], - [ - "template_analysis_tool.py:cross_reference_validation", - "utils/development_tools.py:test_user_creation" - ], - [ - "template_analysis_tool.py:cross_reference_validation", - "utils/hardware_integration.py:auto_discover_outlets" - ], - [ - "template_analysis_tool.py:_find_similar_endpoints", - "template_validation_final.py:_find_similar_endpoints" - ], - [ - "template_analysis_tool.py:generate_corrections", - "models.py:get_current_remaining_seconds" - ], - [ - "template_analysis_tool.py:generate_corrections", - "models.py:get_progress_percentage" - ], - [ - "template_analysis_tool.py:generate_corrections", - "template_validation_final.py:validate_all_references" - ], - [ - "template_analysis_tool.py:generate_corrections", - "scripts/screenshot_tool.py:_generate_report" - ], - [ - "template_analysis_tool.py:generate_corrections", - "utils/development_tools.py:test_user_creation" - ], - [ - "template_analysis_tool.py:generate_corrections", - "utils/development_tools.py:test_printer_status" - ], - [ - "template_analysis_tool.py:generate_corrections", - "utils/security_suite.py:generate_nonce" - ], - [ - "template_analysis_tool.py:generate_report", - "form_test_automator.py:_generate_phone" - ], - [ - "template_analysis_tool.py:generate_report", - "template_problem_analysis.py:generate_detailed_report" - ], - [ - "template_analysis_tool.py:generate_report", - "config/security.py:get_csrf_config" - ], - [ - "template_analysis_tool.py:generate_report", - "scripts/screenshot_tool.py:_prepare_environment" - ], - [ - "template_analysis_tool.py:generate_report", - "scripts/screenshot_tool.py:_perform_admin_login" - ], - [ - "template_analysis_tool.py:generate_report", - "utils/ui_components.py:get_dashboard_data" - ], - [ - "template_analysis_tool.py:generate_report", - "utils/hardware_integration.py:get_printer_summary" - ], - [ - "template_analysis_tool.py:generate_report", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "template_analysis_tool.py:generate_report", - "utils/database_suite.py:get_connection" - ], - [ - "template_analysis_tool.py:generate_report", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "template_analysis_tool.py:generate_report", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "template_analysis_tool.py:generate_report", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "template_analysis_tool.py:generate_report", - "utils/monitoring_analytics.py:track_cpu_usage" - ], - [ - "template_analysis_tool.py:generate_report", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "template_analysis_tool.py:generate_report", - "utils/monitoring_analytics.py:get_dashboard_data" - ], - [ - "template_analysis_tool.py:generate_report", - "utils/script_collection.py:run_initial_setup" - ], - [ - "models.py:set_password", - "models.py:check_password" - ], - [ - "models.py:is_admin", - "form_test_automator.py:first_name" - ], - [ - "models.py:get_initials", - "models.py:update_last_login" - ], - [ - "models.py:get_initials", - "models.py:get_progress_percentage" - ], - [ - "models.py:get_initials", - "template_validation_final.py:generate_final_report" - ], - [ - "models.py:get_initials", - "template_problem_analysis.py:generate_fixes" - ], - [ - "models.py:get_initials", - "tests/test_tapo_integration.py:_create_standard_printers" - ], - [ - "models.py:get_initials", - "tests/test_tapo_integration.py:_login_as_admin" - ], - [ - "models.py:get_initials", - "tests/test_tapo_integration.py:_login_as_user" - ], - [ - "models.py:get_initials", - "scripts/test_protocol_generator.py:test_flask_app_creation" - ], - [ - "models.py:get_initials", - "utils/hardware_integration.py:initialize_all_outlets" - ], - [ - "models.py:get_initials", - "utils/hardware_integration.py:get_all_outlet_status" - ], - [ - "models.py:get_initials", - "utils/ip_security.py:get_client_ip" - ], - [ - "models.py:get_initials", - "utils/ssl_suite.py:get_ssl_context" - ], - [ - "models.py:get_initials", - "utils/core_system.py:setup_logging" - ], - [ - "models.py:get_initials", - "utils/database_suite.py:get_all_tables" - ], - [ - "models.py:display_name", - "form_test_automator.py:_random_delay" - ], - [ - "models.py:display_name", - "template_problem_analysis.py:generate_detailed_report" - ], - [ - "models.py:display_name", - "scripts/screenshot_tool.py:_perform_admin_login" - ], - [ - "models.py:display_name", - "utils/hardware_integration.py:get_printer_summary" - ], - [ - "models.py:display_name", - "utils/drag_drop_system.py:cleanup_invalid_orders" - ], - [ - "models.py:display_name", - "utils/drag_drop_system.py:_schedule_cleanup" - ], - [ - "models.py:display_name", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "models.py:display_name", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "models.py:display_name", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "models.py:display_name", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "models.py:display_name", - "utils/script_collection.py:run_initial_setup" - ], - [ - "models.py:is_active", - "models.py:start_timer" - ], - [ - "models.py:is_active", - "models.py:update_activity" - ], - [ - "models.py:is_active", - "utils/core_system.py:get_recovery_status" - ], - [ - "models.py:is_active", - "utils/core_system.py:is_service_active" - ], - [ - "models.py:is_active", - "utils/database_suite.py:vacuum_database" - ], - [ - "models.py:get_id", - "utils/database_suite.py:get_connection" - ], - [ - "models.py:update_last_login", - "app.py:cleanup_expired_sessions" - ], - [ - "models.py:update_last_login", - "template_problem_analysis.py:generate_detailed_report" - ], - [ - "models.py:update_last_login", - "tests/test_tapo_integration.py:_login_as_user" - ], - [ - "models.py:update_last_login", - "scripts/test_protocol_generator.py:analyze_code_metrics" - ], - [ - "models.py:update_last_login", - "utils/hardware_integration.py:get_all_outlet_status" - ], - [ - "models.py:update_last_login", - "utils/ip_security.py:get_allowed_plug_ips" - ], - [ - "models.py:update_last_login", - "utils/core_system.py:shutdown_all" - ], - [ - "models.py:update_last_login", - "utils/core_system.py:setup_logging" - ], - [ - "models.py:update_last_login", - "utils/monitoring_analytics.py:track_disk_usage" - ], - [ - "models.py:update_last_login", - "utils/script_collection.py:run_all_tests" - ], - [ - "models.py:get_permission_level", - "models.py:is_otp_valid" - ], - [ - "models.py:get_permission_level", - "template_validation_final.py:generate_final_report" - ], - [ - "models.py:get_permission_level", - "import_analyzer.py:find_circular_imports" - ], - [ - "models.py:get_permission_level", - "import_analyzer.py:find_redundant_imports" - ], - [ - "models.py:get_permission_level", - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs" - ], - [ - "models.py:get_permission_level", - "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview" - ], - [ - "models.py:get_permission_level", - "scripts/test_protocol_generator.py:test_models_and_blueprints" - ], - [ - "models.py:get_permission_level", - "scripts/test_protocol_generator.py:generate_ai_summary" - ], - [ - "models.py:get_permission_level", - "utils/core_system.py:setup_logging" - ], - [ - "models.py:get_online_printers", - "models.py:get_running_timers" - ], - [ - "models.py:generate_otp", - "function_analysis_tool.py:analyze_project" - ], - [ - "models.py:generate_otp", - "template_problem_analysis.py:analyze_template_problems" - ], - [ - "models.py:generate_otp", - "scripts/screenshot_tool.py:_generate_report" - ], - [ - "models.py:mark_otp_used", - "models.py:start_timer" - ], - [ - "models.py:mark_otp_used", - "models.py:pause_timer" - ], - [ - "models.py:mark_otp_used", - "models.py:stop_timer" - ], - [ - "models.py:mark_otp_used", - "import_analyzer.py:find_unused_imports" - ], - [ - "models.py:mark_otp_used", - "scripts/screenshot_tool.py:_get_default_routes" - ], - [ - "models.py:mark_otp_used", - "scripts/screenshot_tool.py:_prepare_environment" - ], - [ - "models.py:mark_otp_used", - "utils/ui_components.py:get_dashboard_data" - ], - [ - "models.py:mark_otp_used", - "utils/job_queue_system.py:_scheduler_loop" - ], - [ - "models.py:mark_otp_used", - "utils/data_management.py:ensure_directories" - ], - [ - "models.py:mark_otp_used", - "utils/hardware_integration.py:get_printer_summary" - ], - [ - "models.py:mark_otp_used", - "utils/ip_security.py:get_allowed_plug_ips" - ], - [ - "models.py:mark_otp_used", - "utils/drag_drop_system.py:cleanup_invalid_orders" - ], - [ - "models.py:mark_otp_used", - "utils/job_scheduler.py:_check_and_start_jobs" - ], - [ - "models.py:mark_otp_used", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "models.py:mark_otp_used", - "utils/database_suite.py:backup_database" - ], - [ - "models.py:mark_otp_used", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "models.py:mark_otp_used", - "utils/database_suite.py:vacuum_database" - ], - [ - "models.py:mark_otp_used", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "models.py:mark_otp_used", - "utils/monitoring_analytics.py:track_cpu_usage" - ], - [ - "models.py:mark_otp_used", - "utils/monitoring_analytics.py:get_dashboard_data" - ], - [ - "models.py:mark_otp_used", - "utils/script_collection.py:run_initial_setup" - ], - [ - "models.py:is_otp_valid", - "import_analyzer.py:find_circular_imports" - ], - [ - "models.py:is_otp_valid", - "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview" - ], - [ - "models.py:is_otp_valid", - "scripts/test_protocol_generator.py:test_syntax_validation" - ], - [ - "models.py:get_otp_status", - "models.py:get_progress_percentage" - ], - [ - "models.py:get_otp_status", - "import_analyzer.py:find_redundant_imports" - ], - [ - "models.py:get_otp_status", - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs" - ], - [ - "models.py:get_otp_status", - "utils/hardware_integration.py:initialize_all_outlets" - ], - [ - "models.py:get_otp_status", - "utils/hardware_integration.py:get_all_outlet_status" - ], - [ - "models.py:get_otp_status", - "utils/core_system.py:setup_logging" - ], - [ - "models.py:find_by_otp", - "models.py:find_by_otp_and_name" - ], - [ - "models.py:cleanup_invalid_orders", - "models.py:cleanup_expired_timers" - ], - [ - "models.py:get_current_remaining_seconds", - "function_analysis_tool.py:find_unused_functions" - ], - [ - "models.py:get_current_remaining_seconds", - "function_analysis_tool.py:find_redundant_helpers" - ], - [ - "models.py:get_current_remaining_seconds", - "import_analyzer.py:find_circular_imports" - ], - [ - "models.py:get_current_remaining_seconds", - "import_analyzer.py:find_redundant_imports" - ], - [ - "models.py:get_current_remaining_seconds", - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs" - ], - [ - "models.py:get_current_remaining_seconds", - "scripts/test_protocol_generator.py:test_import_functionality" - ], - [ - "models.py:get_current_remaining_seconds", - "scripts/test_protocol_generator.py:test_models_and_blueprints" - ], - [ - "models.py:get_current_remaining_seconds", - "scripts/test_protocol_generator.py:generate_ai_summary" - ], - [ - "models.py:get_current_remaining_seconds", - "scripts/screenshot_tool.py:run_screenshot_session" - ], - [ - "models.py:get_current_remaining_seconds", - "utils/development_tools.py:test_database_connection" - ], - [ - "models.py:get_current_remaining_seconds", - "utils/development_tools.py:test_printer_status" - ], - [ - "models.py:get_current_remaining_seconds", - "utils/security_suite.py:generate_nonce" - ], - [ - "models.py:get_current_remaining_seconds", - "utils/core_system.py:graceful_shutdown" - ], - [ - "models.py:is_running", - "utils/hardware_integration.py:get_printer_summary" - ], - [ - "models.py:is_running", - "utils/job_scheduler.py:is_running" - ], - [ - "models.py:is_running", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "models.py:is_expired", - "models.py:stop_timer" - ], - [ - "models.py:should_show_warning", - "tests/test_tapo_integration.py:_login_as_admin" - ], - [ - "models.py:should_show_warning", - "tests/test_tapo_integration.py:_login_as_user" - ], - [ - "models.py:should_show_warning", - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs" - ], - [ - "models.py:should_show_warning", - "utils/core_system.py:shutdown_all" - ], - [ - "models.py:get_progress_percentage", - "template_validation_final.py:generate_final_report" - ], - [ - "models.py:get_progress_percentage", - "tests/test_tapo_integration.py:_create_standard_printers" - ], - [ - "models.py:get_progress_percentage", - "tests/test_tapo_integration.py:_login_as_user" - ], - [ - "models.py:get_progress_percentage", - "scripts/test_protocol_generator.py:test_flask_app_creation" - ], - [ - "models.py:get_progress_percentage", - "scripts/test_protocol_generator.py:test_dependency_versions" - ], - [ - "models.py:get_progress_percentage", - "scripts/screenshot_tool.py:discover_routes_from_app" - ], - [ - "models.py:get_progress_percentage", - "utils/hardware_integration.py:get_all_outlet_status" - ], - [ - "models.py:get_progress_percentage", - "utils/hardware_integration.py:get_energy_statistics" - ], - [ - "models.py:get_progress_percentage", - "utils/ip_security.py:get_client_ip" - ], - [ - "models.py:get_progress_percentage", - "utils/ssl_suite.py:get_ssl_context" - ], - [ - "models.py:get_progress_percentage", - "utils/security_suite.py:generate_nonce" - ], - [ - "models.py:start_timer", - "models.py:pause_timer" - ], - [ - "models.py:start_timer", - "models.py:stop_timer" - ], - [ - "models.py:start_timer", - "models.py:reset_timer" - ], - [ - "models.py:start_timer", - "config/security.py:get_headers" - ], - [ - "models.py:start_timer", - "config/security.py:get_rate_limits" - ], - [ - "models.py:start_timer", - "scripts/test_protocol_generator.py:run_all_tests" - ], - [ - "models.py:start_timer", - "scripts/screenshot_tool.py:_prepare_environment" - ], - [ - "models.py:start_timer", - "utils/job_queue_system.py:_timer_loop" - ], - [ - "models.py:start_timer", - "utils/ssl_manager.py:generate_mercedes_certificate" - ], - [ - "models.py:start_timer", - "utils/hardware_integration.py:get_printer_summary" - ], - [ - "models.py:start_timer", - "utils/core_system.py:get_system_status" - ], - [ - "models.py:start_timer", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "models.py:start_timer", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "models.py:start_timer", - "utils/database_suite.py:fix_database_immediate" - ], - [ - "models.py:start_timer", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "models.py:start_timer", - "utils/monitoring_analytics.py:get_system_metrics" - ], - [ - "models.py:start_timer", - "utils/script_collection.py:run_initial_setup" - ], - [ - "models.py:pause_timer", - "models.py:stop_timer" - ], - [ - "models.py:pause_timer", - "models.py:reset_timer" - ], - [ - "models.py:pause_timer", - "import_analyzer.py:find_unused_imports" - ], - [ - "models.py:pause_timer", - "config/security.py:get_rate_limits" - ], - [ - "models.py:pause_timer", - "scripts/test_protocol_generator.py:run_all_tests" - ], - [ - "models.py:pause_timer", - "scripts/screenshot_tool.py:_prepare_environment" - ], - [ - "models.py:pause_timer", - "utils/job_queue_system.py:_timer_loop" - ], - [ - "models.py:pause_timer", - "utils/ssl_manager.py:generate_mercedes_certificate" - ], - [ - "models.py:pause_timer", - "utils/hardware_integration.py:get_printer_summary" - ], - [ - "models.py:pause_timer", - "utils/ip_security.py:get_allowed_plug_ips" - ], - [ - "models.py:pause_timer", - "utils/core_system.py:get_system_status" - ], - [ - "models.py:pause_timer", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "models.py:pause_timer", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "models.py:pause_timer", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "models.py:pause_timer", - "utils/monitoring_analytics.py:track_cpu_usage" - ], - [ - "models.py:pause_timer", - "utils/monitoring_analytics.py:get_system_metrics" - ], - [ - "models.py:pause_timer", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "models.py:pause_timer", - "utils/script_collection.py:run_initial_setup" - ], - [ - "models.py:stop_timer", - "models.py:reset_timer" - ], - [ - "models.py:stop_timer", - "import_analyzer.py:find_unused_imports" - ], - [ - "models.py:stop_timer", - "config/security.py:get_rate_limits" - ], - [ - "models.py:stop_timer", - "config/security.py:get_csrf_config" - ], - [ - "models.py:stop_timer", - "scripts/screenshot_tool.py:_prepare_environment" - ], - [ - "models.py:stop_timer", - "utils/job_queue_system.py:_timer_loop" - ], - [ - "models.py:stop_timer", - "utils/data_management.py:ensure_directories" - ], - [ - "models.py:stop_timer", - "utils/hardware_integration.py:get_printer_summary" - ], - [ - "models.py:stop_timer", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "models.py:stop_timer", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "models.py:stop_timer", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "models.py:stop_timer", - "utils/monitoring_analytics.py:get_system_metrics" - ], - [ - "models.py:stop_timer", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "models.py:stop_timer", - "utils/script_collection.py:run_initial_setup" - ], - [ - "models.py:reset_timer", - "import_analyzer.py:find_unused_imports" - ], - [ - "models.py:reset_timer", - "config/security.py:get_rate_limits" - ], - [ - "models.py:reset_timer", - "utils/job_queue_system.py:_timer_loop" - ], - [ - "models.py:reset_timer", - "utils/ssl_manager.py:generate_mercedes_certificate" - ], - [ - "models.py:reset_timer", - "utils/hardware_integration.py:get_printer_summary" - ], - [ - "models.py:reset_timer", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "models.py:reset_timer", - "utils/monitoring_analytics.py:get_system_metrics" - ], - [ - "models.py:force_quit_execute", - "config/security.py:get_csrf_config" - ], - [ - "models.py:force_quit_execute", - "utils/data_management.py:ensure_directories" - ], - [ - "models.py:force_quit_execute", - "utils/database_cleanup.py:get_engine_count" - ], - [ - "models.py:update_activity", - "utils/ssl_suite.py:check_certificate_validity" - ], - [ - "models.py:update_activity", - "utils/drag_drop_system.py:cleanup_invalid_orders" - ], - [ - "models.py:update_activity", - "utils/core_system.py:get_recovery_status" - ], - [ - "models.py:update_activity", - "utils/database_suite.py:backup_database" - ], - [ - "models.py:update_activity", - "utils/database_suite.py:vacuum_database" - ], - [ - "models.py:get_expired_timers", - "models.py:cleanup_expired_timers" - ], - [ - "simple_form_tester.py:__init__", - "utils/development_tools.py:__init__" - ], - [ - "simple_form_tester.py:__init__", - "utils/ui_components.py:__init__" - ], - [ - "simple_form_tester.py:__init__", - "utils/drag_drop_system.py:__init__" - ], - [ - "simple_form_tester.py:__init__", - "utils/monitoring_analytics.py:__init__" - ], - [ - "simple_form_tester.py:generate_test_data", - "form_test_automator.py:_generate_email" - ], - [ - "simple_form_tester.py:generate_test_data", - "form_test_automator.py:_generate_phone" - ], - [ - "simple_form_tester.py:generate_test_data", - "form_test_automator.py:_generate_url" - ], - [ - "simple_form_tester.py:generate_test_data", - "form_test_automator.py:_generate_date" - ], - [ - "simple_form_tester.py:generate_test_data", - "form_test_automator.py:_generate_number" - ], - [ - "simple_form_tester.py:generate_test_data", - "form_test_automator.py:_generate_edge_case" - ], - [ - "function_analysis_tool.py:analyze_file", - "import_analyzer.py:analyze_file" - ], - [ - "function_analysis_tool.py:find_unused_functions", - "function_analysis_tool.py:find_redundant_helpers" - ], - [ - "function_analysis_tool.py:find_unused_functions", - "import_analyzer.py:find_redundant_imports" - ], - [ - "function_analysis_tool.py:find_unused_functions", - "scripts/test_protocol_generator.py:test_import_functionality" - ], - [ - "function_analysis_tool.py:find_unused_functions", - "scripts/test_protocol_generator.py:test_models_and_blueprints" - ], - [ - "function_analysis_tool.py:find_unused_functions", - "scripts/screenshot_tool.py:run_screenshot_session" - ], - [ - "function_analysis_tool.py:find_unused_functions", - "utils/development_tools.py:test_database_connection" - ], - [ - "function_analysis_tool.py:find_unused_functions", - "utils/core_system.py:graceful_shutdown" - ], - [ - "function_analysis_tool.py:find_similar_functions", - "import_analyzer.py:find_circular_imports" - ], - [ - "function_analysis_tool.py:find_redundant_helpers", - "template_validation_final.py:extract_template_references" - ], - [ - "function_analysis_tool.py:find_redundant_helpers", - "import_analyzer.py:find_circular_imports" - ], - [ - "function_analysis_tool.py:find_redundant_helpers", - "import_analyzer.py:find_redundant_imports" - ], - [ - "function_analysis_tool.py:find_redundant_helpers", - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs" - ], - [ - "function_analysis_tool.py:find_redundant_helpers", - "scripts/test_protocol_generator.py:test_import_functionality" - ], - [ - "function_analysis_tool.py:find_redundant_helpers", - "scripts/test_protocol_generator.py:test_models_and_blueprints" - ], - [ - "function_analysis_tool.py:find_redundant_helpers", - "utils/development_tools.py:test_printer_status" - ], - [ - "function_analysis_tool.py:find_redundant_helpers", - "utils/core_system.py:graceful_shutdown" - ], - [ - "function_analysis_tool.py:analyze_project", - "template_validation_final.py:collect_all_endpoints" - ], - [ - "function_analysis_tool.py:analyze_project", - "template_problem_analysis.py:analyze_all_endpoints" - ], - [ - "function_analysis_tool.py:analyze_project", - "template_problem_analysis.py:analyze_template_problems" - ], - [ - "function_analysis_tool.py:generate_report", - "import_analyzer.py:save_report" - ], - [ - "template_validation_final.py:__init__", - "import_analyzer.py:__init__" - ], - [ - "template_validation_final.py:__init__", - "template_problem_analysis.py:__init__" - ], - [ - "template_validation_final.py:__init__", - "config/security.py:__init__" - ], - [ - "template_validation_final.py:__init__", - "scripts/test_protocol_generator.py:__init__" - ], - [ - "template_validation_final.py:__init__", - "utils/job_queue_system.py:__init__" - ], - [ - "template_validation_final.py:__init__", - "utils/ssl_manager.py:__init__" - ], - [ - "template_validation_final.py:__init__", - "utils/hardware_integration.py:__init__" - ], - [ - "template_validation_final.py:__init__", - "utils/ip_security.py:__init__" - ], - [ - "template_validation_final.py:__init__", - "utils/database_cleanup.py:__init__" - ], - [ - "template_validation_final.py:__init__", - "utils/job_scheduler.py:__init__" - ], - [ - "template_validation_final.py:__init__", - "utils/core_system.py:__init__" - ], - [ - "template_validation_final.py:__init__", - "utils/script_collection.py:__init__" - ], - [ - "template_validation_final.py:collect_all_endpoints", - "template_problem_analysis.py:analyze_all_endpoints" - ], - [ - "template_validation_final.py:collect_all_endpoints", - "template_problem_analysis.py:analyze_template_problems" - ], - [ - "template_validation_final.py:collect_all_endpoints", - "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin" - ], - [ - "template_validation_final.py:collect_all_endpoints", - "tests/test_tapo_integration.py:test_printer_status_persistence" - ], - [ - "template_validation_final.py:collect_all_endpoints", - "utils/development_tools.py:test_user_creation" - ], - [ - "template_validation_final.py:collect_all_endpoints", - "utils/hardware_integration.py:auto_discover_outlets" - ], - [ - "template_validation_final.py:extract_template_references", - "import_analyzer.py:find_circular_imports" - ], - [ - "template_validation_final.py:extract_template_references", - "scripts/test_protocol_generator.py:test_import_functionality" - ], - [ - "template_validation_final.py:extract_template_references", - "scripts/test_protocol_generator.py:test_models_and_blueprints" - ], - [ - "template_validation_final.py:extract_template_references", - "utils/development_tools.py:test_printer_status" - ], - [ - "template_validation_final.py:extract_template_references", - "utils/core_system.py:graceful_shutdown" - ], - [ - "template_validation_final.py:generate_final_report", - "tests/test_tapo_integration.py:_create_standard_printers" - ], - [ - "template_validation_final.py:generate_final_report", - "tests/test_tapo_integration.py:_login_as_user" - ], - [ - "template_validation_final.py:generate_final_report", - "scripts/test_protocol_generator.py:test_flask_app_creation" - ], - [ - "template_validation_final.py:generate_final_report", - "scripts/screenshot_tool.py:_setup_firefox" - ], - [ - "template_validation_final.py:generate_final_report", - "utils/ip_security.py:get_client_ip" - ], - [ - "form_test_automator.py:__post_init__", - "form_test_automator.py:__init__" - ], - [ - "form_test_automator.py:__post_init__", - "utils/system_management.py:__init__" - ], - [ - "form_test_automator.py:__post_init__", - "utils/job_queue_system.py:__post_init__" - ], - [ - "form_test_automator.py:__post_init__", - "utils/data_management.py:__init__" - ], - [ - "form_test_automator.py:__post_init__", - "utils/ssl_suite.py:__init__" - ], - [ - "form_test_automator.py:__post_init__", - "utils/database_suite.py:__init__" - ], - [ - "form_test_automator.py:__init__", - "utils/system_management.py:__init__" - ], - [ - "form_test_automator.py:__init__", - "utils/development_tools.py:__init__" - ], - [ - "form_test_automator.py:__init__", - "utils/ui_components.py:__init__" - ], - [ - "form_test_automator.py:__init__", - "utils/job_queue_system.py:__post_init__" - ], - [ - "form_test_automator.py:__init__", - "utils/data_management.py:__init__" - ], - [ - "form_test_automator.py:__init__", - "utils/ssl_suite.py:__init__" - ], - [ - "form_test_automator.py:__init__", - "utils/security_suite.py:__init__" - ], - [ - "form_test_automator.py:__init__", - "utils/drag_drop_system.py:__init__" - ], - [ - "form_test_automator.py:__init__", - "utils/database_suite.py:__init__" - ], - [ - "form_test_automator.py:__init__", - "utils/monitoring_analytics.py:__init__" - ], - [ - "form_test_automator.py:_generate_email", - "form_test_automator.py:_generate_phone" - ], - [ - "form_test_automator.py:_generate_email", - "form_test_automator.py:_generate_url" - ], - [ - "form_test_automator.py:_generate_email", - "form_test_automator.py:_generate_date" - ], - [ - "form_test_automator.py:_generate_email", - "form_test_automator.py:_generate_time" - ], - [ - "form_test_automator.py:_generate_email", - "form_test_automator.py:_generate_number" - ], - [ - "form_test_automator.py:_generate_password", - "form_test_automator.py:_generate_edge_case" - ], - [ - "form_test_automator.py:_generate_phone", - "form_test_automator.py:_generate_url" - ], - [ - "form_test_automator.py:_generate_phone", - "form_test_automator.py:_generate_date" - ], - [ - "form_test_automator.py:_generate_phone", - "form_test_automator.py:_generate_number" - ], - [ - "form_test_automator.py:_generate_url", - "form_test_automator.py:_generate_date" - ], - [ - "form_test_automator.py:_generate_url", - "form_test_automator.py:_generate_number" - ], - [ - "form_test_automator.py:_generate_date", - "form_test_automator.py:_generate_number" - ], - [ - "form_test_automator.py:_generate_date", - "form_test_automator.py:_generate_edge_case" - ], - [ - "form_test_automator.py:_generate_datetime", - "form_test_automator.py:_generate_time" - ], - [ - "form_test_automator.py:_generate_datetime", - "form_test_automator.py:_generate_range" - ], - [ - "form_test_automator.py:_generate_datetime", - "form_test_automator.py:_generate_color" - ], - [ - "form_test_automator.py:_generate_time", - "form_test_automator.py:_generate_range" - ], - [ - "form_test_automator.py:_generate_time", - "form_test_automator.py:_generate_color" - ], - [ - "form_test_automator.py:_generate_range", - "form_test_automator.py:_generate_color" - ], - [ - "form_test_automator.py:_generate_invalid_data", - "form_test_automator.py:_generate_edge_case" - ], - [ - "form_test_automator.py:_random_delay", - "template_problem_analysis.py:generate_detailed_report" - ], - [ - "form_test_automator.py:_random_delay", - "scripts/screenshot_tool.py:_perform_admin_login" - ], - [ - "form_test_automator.py:_random_delay", - "utils/core_system.py:run_monitoring_cycle" - ], - [ - "form_test_automator.py:_random_delay", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "form_test_automator.py:_random_delay", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "form_test_automator.py:_random_delay", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "form_test_automator.py:generate_visual_report", - "form_test_automator.py:generate_json_report" - ], - [ - "form_test_automator.py:generate_report", - "scripts/screenshot_tool.py:_generate_report" - ], - [ - "form_test_automator.py:_print_test_summary", - "tests/test_tapo_integration.py:test_all_printers_always_visible" - ], - [ - "form_test_automator.py:_print_test_summary", - "tests/test_tapo_integration.py:test_printer_status_types" - ], - [ - "form_test_automator.py:_print_test_summary", - "tests/test_tapo_integration.py:test_printer_status_persistence" - ], - [ - "form_test_automator.py:_print_test_summary", - "scripts/test_protocol_generator.py:generate_ai_summary" - ], - [ - "form_test_automator.py:_print_test_summary", - "utils/development_tools.py:run_all_tests" - ], - [ - "form_test_automator.py:_print_test_summary", - "utils/development_tools.py:test_user_creation" - ], - [ - "form_test_automator.py:_print_test_summary", - "utils/development_tools.py:test_printer_status" - ], - [ - "form_test_automator.py:first_name", - "form_test_automator.py:last_name" - ], - [ - "form_test_automator.py:first_name", - "form_test_automator.py:street_address" - ], - [ - "form_test_automator.py:last_name", - "utils/system_management.py:load_settings" - ], - [ - "form_test_automator.py:street_address", - "form_test_automator.py:date" - ], - [ - "app.py:clear_user_cache", - "app.py:load_user" - ], - [ - "app.py:clear_user_cache", - "blueprints/admin_unified.py:delete_user_api" - ], - [ - "app.py:clear_user_cache", - "legacy/app_original.py:clear_user_cache" - ], - [ - "app.py:clear_user_cache", - "legacy/app_original.py:load_user" - ], - [ - "app.py:clear_user_cache", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "app.py:aggressive_shutdown_handler", - "legacy/app_original.py:aggressive_shutdown_handler" - ], - [ - "app.py:apply_production_config", - "app.py:apply_development_config" - ], - [ - "app.py:csrf_error", - "legacy/app_original.py:csrf_error" - ], - [ - "app.py:load_user", - "blueprints/admin_unified.py:edit_user_page" - ], - [ - "app.py:load_user", - "blueprints/admin_unified.py:update_user_api" - ], - [ - "app.py:load_user", - "blueprints/admin_unified.py:delete_user_api" - ], - [ - "app.py:load_user", - "blueprints/user_management.py:update_user_permissions_api" - ], - [ - "app.py:load_user", - "blueprints/user_management.py:update_user_permissions_form" - ], - [ - "app.py:load_user", - "blueprints/user_management.py:get_user_details_api" - ], - [ - "app.py:load_user", - "utils/permissions.py:ensure_admin_permissions" - ], - [ - "app.py:load_user", - "legacy/app_original.py:clear_user_cache" - ], - [ - "app.py:load_user", - "legacy/app_original.py:load_user" - ], - [ - "app.py:load_user", - "legacy/app_original.py:update_user_api" - ], - [ - "app.py:load_user", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "app.py:format_datetime_filter", - "utils/ui_components.py:format_datetime" - ], - [ - "app.py:format_datetime_filter", - "legacy/app_original.py:format_datetime_filter" - ], - [ - "app.py:log_response_info", - "legacy/app_original.py:log_response_info" - ], - [ - "app.py:api_start_job", - "app.py:api_pause_job" - ], - [ - "app.py:api_start_job", - "app.py:api_resume_job" - ], - [ - "app.py:api_start_job", - "app.py:api_finish_job" - ], - [ - "app.py:api_start_job", - "blueprints/jobs.py:start_job" - ], - [ - "app.py:api_start_job", - "blueprints/guest.py:guest_job_status" - ], - [ - "app.py:api_start_job", - "legacy/app_original.py:update_job" - ], - [ - "app.py:api_pause_job", - "app.py:api_resume_job" - ], - [ - "app.py:api_pause_job", - "app.py:api_finish_job" - ], - [ - "app.py:api_pause_job", - "blueprints/jobs.py:pause_job" - ], - [ - "app.py:api_pause_job", - "blueprints/guest.py:guest_job_status" - ], - [ - "app.py:api_pause_job", - "blueprints/guest.py:api_get_guest_job_status" - ], - [ - "app.py:api_pause_job", - "legacy/app_original.py:update_job" - ], - [ - "app.py:api_resume_job", - "app.py:api_finish_job" - ], - [ - "app.py:api_resume_job", - "blueprints/guest.py:guest_job_status" - ], - [ - "app.py:api_resume_job", - "legacy/app_original.py:update_job" - ], - [ - "app.py:api_finish_job", - "blueprints/jobs.py:finish_job" - ], - [ - "app.py:bad_request_error", - "app.py:unauthorized_error" - ], - [ - "app.py:bad_request_error", - "app.py:not_found_error" - ], - [ - "app.py:bad_request_error", - "app.py:bad_gateway_error" - ], - [ - "app.py:unauthorized_error", - "app.py:not_found_error" - ], - [ - "app.py:unauthorized_error", - "app.py:method_not_allowed_error" - ], - [ - "app.py:unauthorized_error", - "app.py:http_version_not_supported_error" - ], - [ - "app.py:forbidden_error", - "app.py:not_found_error" - ], - [ - "app.py:not_found_error", - "app.py:http_version_not_supported_error" - ], - [ - "app.py:method_not_allowed_error", - "app.py:payload_too_large_error" - ], - [ - "app.py:method_not_allowed_error", - "app.py:rate_limit_error" - ], - [ - "app.py:method_not_allowed_error", - "app.py:bad_gateway_error" - ], - [ - "app.py:payload_too_large_error", - "app.py:rate_limit_error" - ], - [ - "app.py:payload_too_large_error", - "app.py:bad_gateway_error" - ], - [ - "app.py:service_unavailable_error", - "app.py:http_version_not_supported_error" - ], - [ - "app.py:__init__", - "utils/development_tools.py:__init__" - ], - [ - "app.py:__init__", - "utils/ui_components.py:__init__" - ], - [ - "app.py:__init__", - "utils/drag_drop_system.py:__init__" - ], - [ - "app.py:__init__", - "utils/monitoring_analytics.py:__init__" - ], - [ - "app.py:store_large_session_data", - "app.py:load_large_session_data" - ], - [ - "app.py:cleanup_expired_sessions", - "scripts/test_protocol_generator.py:analyze_code_metrics" - ], - [ - "app.py:cleanup_expired_sessions", - "utils/drag_drop_system.py:cleanup_invalid_orders" - ], - [ - "app.py:cleanup_expired_sessions", - "utils/monitoring_analytics.py:track_disk_usage" - ], - [ - "app.py:cleanup_expired_sessions", - "utils/script_collection.py:run_all_tests" - ], - [ - "import_analyzer.py:__init__", - "template_problem_analysis.py:__init__" - ], - [ - "import_analyzer.py:__init__", - "utils/job_queue_system.py:__init__" - ], - [ - "import_analyzer.py:__init__", - "utils/job_scheduler.py:__init__" - ], - [ - "import_analyzer.py:__init__", - "utils/script_collection.py:__init__" - ], - [ - "import_analyzer.py:find_unused_imports", - "template_problem_analysis.py:generate_detailed_report" - ], - [ - "import_analyzer.py:find_unused_imports", - "config/security.py:get_session_config" - ], - [ - "import_analyzer.py:find_unused_imports", - "config/security.py:get_csrf_config" - ], - [ - "import_analyzer.py:find_unused_imports", - "scripts/screenshot_tool.py:_get_default_routes" - ], - [ - "import_analyzer.py:find_unused_imports", - "scripts/screenshot_tool.py:_prepare_environment" - ], - [ - "import_analyzer.py:find_unused_imports", - "scripts/screenshot_tool.py:_perform_admin_login" - ], - [ - "import_analyzer.py:find_unused_imports", - "utils/job_queue_system.py:_timer_loop" - ], - [ - "import_analyzer.py:find_unused_imports", - "utils/data_management.py:ensure_directories" - ], - [ - "import_analyzer.py:find_unused_imports", - "utils/ssl_manager.py:generate_mercedes_certificate" - ], - [ - "import_analyzer.py:find_unused_imports", - "utils/hardware_integration.py:get_printer_summary" - ], - [ - "import_analyzer.py:find_unused_imports", - "utils/ip_security.py:get_allowed_plug_ips" - ], - [ - "import_analyzer.py:find_unused_imports", - "utils/drag_drop_system.py:cleanup_invalid_orders" - ], - [ - "import_analyzer.py:find_unused_imports", - "utils/core_system.py:run_monitoring_cycle" - ], - [ - "import_analyzer.py:find_unused_imports", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "import_analyzer.py:find_unused_imports", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "import_analyzer.py:find_unused_imports", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "import_analyzer.py:find_unused_imports", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "import_analyzer.py:find_unused_imports", - "utils/script_collection.py:run_initial_setup" - ], - [ - "import_analyzer.py:find_circular_imports", - "import_analyzer.py:find_redundant_imports" - ], - [ - "import_analyzer.py:find_circular_imports", - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs" - ], - [ - "import_analyzer.py:find_circular_imports", - "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview" - ], - [ - "import_analyzer.py:find_circular_imports", - "scripts/test_protocol_generator.py:test_import_functionality" - ], - [ - "import_analyzer.py:find_circular_imports", - "scripts/test_protocol_generator.py:test_models_and_blueprints" - ], - [ - "import_analyzer.py:find_circular_imports", - "scripts/test_protocol_generator.py:test_flask_app_creation" - ], - [ - "import_analyzer.py:find_circular_imports", - "scripts/screenshot_tool.py:discover_routes_from_app" - ], - [ - "import_analyzer.py:find_circular_imports", - "scripts/screenshot_tool.py:run_screenshot_session" - ], - [ - "import_analyzer.py:find_circular_imports", - "utils/development_tools.py:test_database_connection" - ], - [ - "import_analyzer.py:find_circular_imports", - "utils/hardware_integration.py:initialize_all_outlets" - ], - [ - "import_analyzer.py:find_circular_imports", - "utils/core_system.py:graceful_shutdown" - ], - [ - "import_analyzer.py:find_circular_imports", - "utils/core_system.py:setup_logging" - ], - [ - "import_analyzer.py:find_redundant_imports", - "template_problem_analysis.py:generate_fixes" - ], - [ - "import_analyzer.py:find_redundant_imports", - "tests/test_tapo_integration.py:_create_standard_printers" - ], - [ - "import_analyzer.py:find_redundant_imports", - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs" - ], - [ - "import_analyzer.py:find_redundant_imports", - "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview" - ], - [ - "import_analyzer.py:find_redundant_imports", - "scripts/test_protocol_generator.py:test_import_functionality" - ], - [ - "import_analyzer.py:find_redundant_imports", - "scripts/test_protocol_generator.py:test_models_and_blueprints" - ], - [ - "import_analyzer.py:find_redundant_imports", - "scripts/test_protocol_generator.py:generate_ai_summary" - ], - [ - "import_analyzer.py:find_redundant_imports", - "scripts/screenshot_tool.py:discover_routes_from_app" - ], - [ - "import_analyzer.py:find_redundant_imports", - "scripts/screenshot_tool.py:_setup_firefox" - ], - [ - "import_analyzer.py:find_redundant_imports", - "scripts/screenshot_tool.py:run_screenshot_session" - ], - [ - "import_analyzer.py:find_redundant_imports", - "utils/development_tools.py:test_database_connection" - ], - [ - "import_analyzer.py:find_redundant_imports", - "utils/development_tools.py:test_printer_status" - ], - [ - "import_analyzer.py:find_redundant_imports", - "utils/hardware_integration.py:initialize_all_outlets" - ], - [ - "import_analyzer.py:find_redundant_imports", - "utils/core_system.py:setup_logging" - ], - [ - "import_analyzer.py:print_report", - "tests/test_tapo_integration.py:test_crud_operations_printers" - ], - [ - "template_problem_analysis.py:__init__", - "config/security.py:__init__" - ], - [ - "template_problem_analysis.py:__init__", - "scripts/test_protocol_generator.py:__init__" - ], - [ - "template_problem_analysis.py:__init__", - "utils/job_queue_system.py:__init__" - ], - [ - "template_problem_analysis.py:__init__", - "utils/ssl_manager.py:__init__" - ], - [ - "template_problem_analysis.py:__init__", - "utils/hardware_integration.py:__init__" - ], - [ - "template_problem_analysis.py:__init__", - "utils/ip_security.py:__init__" - ], - [ - "template_problem_analysis.py:__init__", - "utils/database_cleanup.py:__init__" - ], - [ - "template_problem_analysis.py:__init__", - "utils/job_scheduler.py:__init__" - ], - [ - "template_problem_analysis.py:__init__", - "utils/core_system.py:__init__" - ], - [ - "template_problem_analysis.py:__init__", - "utils/script_collection.py:__init__" - ], - [ - "template_problem_analysis.py:analyze_all_endpoints", - "template_problem_analysis.py:analyze_template_problems" - ], - [ - "template_problem_analysis.py:analyze_all_endpoints", - "tests/test_tapo_integration.py:test_all_printers_always_visible" - ], - [ - "template_problem_analysis.py:analyze_all_endpoints", - "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin" - ], - [ - "template_problem_analysis.py:analyze_template_problems", - "tests/test_tapo_integration.py:test_all_printers_always_visible" - ], - [ - "template_problem_analysis.py:analyze_template_problems", - "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin" - ], - [ - "template_problem_analysis.py:generate_fixes", - "scripts/test_protocol_generator.py:generate_ai_summary" - ], - [ - "template_problem_analysis.py:generate_fixes", - "utils/security_suite.py:generate_nonce" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "config/security.py:get_rate_limits" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "config/security.py:get_csrf_config" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "scripts/screenshot_tool.py:_get_default_routes" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "scripts/screenshot_tool.py:initialize_browser" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "scripts/screenshot_tool.py:_prepare_environment" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "scripts/screenshot_tool.py:_perform_admin_login" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/ui_components.py:get_dashboard_data" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/job_queue_system.py:_timer_loop" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/data_management.py:ensure_directories" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/ssl_manager.py:generate_mercedes_certificate" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/hardware_integration.py:get_printer_summary" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/ip_security.py:get_allowed_plug_ips" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/drag_drop_system.py:cleanup_invalid_orders" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/core_system.py:load_config" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/core_system.py:run_monitoring_cycle" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/database_suite.py:get_connection" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/monitoring_analytics.py:get_dashboard_data" - ], - [ - "template_problem_analysis.py:generate_detailed_report", - "utils/script_collection.py:run_initial_setup" - ], - [ - "tests/test_tapo_integration.py:_create_standard_printers", - "scripts/test_protocol_generator.py:test_flask_app_creation" - ], - [ - "tests/test_tapo_integration.py:_create_standard_printers", - "scripts/test_protocol_generator.py:test_dependency_versions" - ], - [ - "tests/test_tapo_integration.py:_create_standard_printers", - "scripts/screenshot_tool.py:discover_routes_from_app" - ], - [ - "tests/test_tapo_integration.py:_create_standard_printers", - "utils/development_tools.py:test_database_connection" - ], - [ - "tests/test_tapo_integration.py:_create_standard_printers", - "utils/hardware_integration.py:get_energy_statistics" - ], - [ - "tests/test_tapo_integration.py:_create_standard_printers", - "utils/ip_security.py:get_client_ip" - ], - [ - "tests/test_tapo_integration.py:_login_as_admin", - "tests/test_tapo_integration.py:_login_as_user" - ], - [ - "tests/test_tapo_integration.py:_login_as_user", - "scripts/test_protocol_generator.py:test_flask_app_creation" - ], - [ - "tests/test_tapo_integration.py:_login_as_user", - "utils/hardware_integration.py:initialize_all_outlets" - ], - [ - "tests/test_tapo_integration.py:_login_as_user", - "utils/hardware_integration.py:get_all_outlet_status" - ], - [ - "tests/test_tapo_integration.py:_login_as_user", - "utils/core_system.py:setup_logging" - ], - [ - "tests/test_tapo_integration.py:test_all_printers_always_visible", - "tests/test_tapo_integration.py:test_printer_status_types" - ], - [ - "tests/test_tapo_integration.py:test_all_printers_always_visible", - "tests/test_tapo_integration.py:test_printer_status_persistence" - ], - [ - "tests/test_tapo_integration.py:test_all_printers_always_visible", - "utils/development_tools.py:run_all_tests" - ], - [ - "tests/test_tapo_integration.py:test_printer_status_types", - "tests/test_tapo_integration.py:test_printer_status_persistence" - ], - [ - "tests/test_tapo_integration.py:test_printer_status_types", - "utils/development_tools.py:run_all_tests" - ], - [ - "tests/test_tapo_integration.py:test_printer_status_types", - "utils/development_tools.py:test_user_creation" - ], - [ - "tests/test_tapo_integration.py:test_printer_status_types", - "utils/development_tools.py:test_printer_status" - ], - [ - "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "tests/test_tapo_integration.py:test_printer_status_persistence" - ], - [ - "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "tests/test_tapo_integration.py:test_concurrent_job_scheduling" - ], - [ - "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "scripts/screenshot_tool.py:_setup_chrome" - ], - [ - "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "utils/development_tools.py:test_user_creation" - ], - [ - "tests/test_tapo_integration.py:test_calendar_shows_printer_status_for_admin", - "utils/hardware_integration.py:auto_discover_outlets" - ], - [ - "tests/test_tapo_integration.py:test_printer_status_persistence", - "scripts/screenshot_tool.py:_setup_chrome" - ], - [ - "tests/test_tapo_integration.py:test_printer_status_persistence", - "utils/development_tools.py:run_all_tests" - ], - [ - "tests/test_tapo_integration.py:test_printer_status_persistence", - "utils/development_tools.py:test_user_creation" - ], - [ - "tests/test_tapo_integration.py:test_printer_status_persistence", - "utils/development_tools.py:test_printer_status" - ], - [ - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview" - ], - [ - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "scripts/test_protocol_generator.py:test_import_functionality" - ], - [ - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "scripts/test_protocol_generator.py:test_models_and_blueprints" - ], - [ - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "scripts/test_protocol_generator.py:generate_ai_summary" - ], - [ - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "scripts/screenshot_tool.py:run_screenshot_session" - ], - [ - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "utils/development_tools.py:test_database_connection" - ], - [ - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "utils/hardware_integration.py:initialize_all_outlets" - ], - [ - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "utils/security_suite.py:generate_nonce" - ], - [ - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "utils/core_system.py:graceful_shutdown" - ], - [ - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "utils/core_system.py:setup_logging" - ], - [ - "tests/test_tapo_integration.py:test_concurrent_job_scheduling", - "utils/development_tools.py:test_user_creation" - ], - [ - "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "scripts/test_protocol_generator.py:test_models_and_blueprints" - ], - [ - "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "utils/development_tools.py:test_database_connection" - ], - [ - "config/settings.py:get_env_variable", - "utils/settings.py:get_env_variable" - ], - [ - "config/settings.py:get_log_file", - "utils/settings.py:get_log_file" - ], - [ - "config/app_config.py:init_app", - "legacy/app_original.py:init_app" - ], - [ - "config/security.py:__init__", - "scripts/test_protocol_generator.py:__init__" - ], - [ - "config/security.py:__init__", - "scripts/screenshot_tool.py:__init__" - ], - [ - "config/security.py:__init__", - "utils/development_tools.py:__init__" - ], - [ - "config/security.py:__init__", - "utils/ui_components.py:__init__" - ], - [ - "config/security.py:__init__", - "utils/job_queue_system.py:__init__" - ], - [ - "config/security.py:__init__", - "utils/ssl_manager.py:__init__" - ], - [ - "config/security.py:__init__", - "utils/hardware_integration.py:__init__" - ], - [ - "config/security.py:__init__", - "utils/ip_security.py:__init__" - ], - [ - "config/security.py:__init__", - "utils/drag_drop_system.py:__init__" - ], - [ - "config/security.py:__init__", - "utils/database_cleanup.py:__init__" - ], - [ - "config/security.py:__init__", - "utils/job_scheduler.py:__init__" - ], - [ - "config/security.py:__init__", - "utils/monitoring_analytics.py:__init__" - ], - [ - "config/security.py:__init__", - "utils/script_collection.py:__init__" - ], - [ - "config/security.py:get_headers", - "config/security.py:get_rate_limits" - ], - [ - "config/security.py:get_headers", - "scripts/screenshot_tool.py:_get_default_routes" - ], - [ - "config/security.py:get_headers", - "utils/ui_components.py:get_dashboard_data" - ], - [ - "config/security.py:get_headers", - "utils/job_queue_system.py:get_queue_status" - ], - [ - "config/security.py:get_headers", - "utils/ssl_manager.py:generate_mercedes_certificate" - ], - [ - "config/security.py:get_headers", - "utils/job_scheduler.py:get_tasks" - ], - [ - "config/security.py:get_headers", - "utils/job_scheduler.py:_check_and_start_jobs" - ], - [ - "config/security.py:get_headers", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "config/security.py:get_headers", - "utils/core_system.py:register_thread" - ], - [ - "config/security.py:get_headers", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "config/security.py:get_headers", - "utils/monitoring_analytics.py:track_cpu_usage" - ], - [ - "config/security.py:get_headers", - "utils/monitoring_analytics.py:get_dashboard_data" - ], - [ - "config/security.py:get_rate_limits", - "scripts/test_protocol_generator.py:generate_fallback_summary" - ], - [ - "config/security.py:get_rate_limits", - "scripts/test_protocol_generator.py:run_all_tests" - ], - [ - "config/security.py:get_rate_limits", - "scripts/screenshot_tool.py:_get_default_routes" - ], - [ - "config/security.py:get_rate_limits", - "scripts/screenshot_tool.py:initialize_browser" - ], - [ - "config/security.py:get_rate_limits", - "scripts/screenshot_tool.py:_perform_admin_login" - ], - [ - "config/security.py:get_rate_limits", - "utils/job_queue_system.py:_timer_loop" - ], - [ - "config/security.py:get_rate_limits", - "utils/ssl_manager.py:generate_mercedes_certificate" - ], - [ - "config/security.py:get_rate_limits", - "utils/hardware_integration.py:get_printer_summary" - ], - [ - "config/security.py:get_rate_limits", - "utils/ip_security.py:get_allowed_plug_ips" - ], - [ - "config/security.py:get_rate_limits", - "utils/job_scheduler.py:get_tasks" - ], - [ - "config/security.py:get_rate_limits", - "utils/core_system.py:get_system_status" - ], - [ - "config/security.py:get_rate_limits", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "config/security.py:get_rate_limits", - "utils/core_system.py:run_monitoring_cycle" - ], - [ - "config/security.py:get_rate_limits", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "config/security.py:get_rate_limits", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "config/security.py:get_rate_limits", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "config/security.py:get_rate_limits", - "utils/monitoring_analytics.py:get_system_metrics" - ], - [ - "config/security.py:get_rate_limits", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "config/security.py:get_rate_limits", - "utils/script_collection.py:run_initial_setup" - ], - [ - "config/security.py:get_session_config", - "config/security.py:get_csrf_config" - ], - [ - "config/security.py:get_session_config", - "utils/data_management.py:ensure_directories" - ], - [ - "config/security.py:get_session_config", - "utils/ssl_manager.py:generate_mercedes_certificate" - ], - [ - "config/security.py:get_session_config", - "utils/hardware_integration.py:force_network_refresh" - ], - [ - "config/security.py:get_session_config", - "utils/database_cleanup.py:get_engine_count" - ], - [ - "config/security.py:get_session_config", - "utils/core_system.py:load_config" - ], - [ - "config/security.py:get_session_config", - "utils/core_system.py:check_https_connectivity" - ], - [ - "config/security.py:get_session_config", - "utils/core_system.py:run_monitoring_cycle" - ], - [ - "config/security.py:get_session_config", - "utils/database_suite.py:get_connection" - ], - [ - "config/security.py:get_session_config", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "config/security.py:get_session_config", - "utils/monitoring_analytics.py:get_system_metrics" - ], - [ - "config/security.py:get_session_config", - "utils/monitoring_analytics.py:collect_job_analytics" - ], - [ - "config/security.py:get_session_config", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "config/security.py:get_csrf_config", - "scripts/screenshot_tool.py:_get_default_routes" - ], - [ - "config/security.py:get_csrf_config", - "utils/data_management.py:ensure_directories" - ], - [ - "config/security.py:get_csrf_config", - "utils/ssl_manager.py:generate_mercedes_certificate" - ], - [ - "config/security.py:get_csrf_config", - "utils/hardware_integration.py:force_network_refresh" - ], - [ - "config/security.py:get_csrf_config", - "utils/database_cleanup.py:get_engine_count" - ], - [ - "config/security.py:get_csrf_config", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "config/security.py:get_csrf_config", - "utils/core_system.py:get_recovery_status" - ], - [ - "config/security.py:get_csrf_config", - "utils/core_system.py:run_monitoring_cycle" - ], - [ - "config/security.py:get_csrf_config", - "utils/database_suite.py:get_connection" - ], - [ - "config/security.py:get_csrf_config", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "config/security.py:get_csrf_config", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "config/security.py:get_csrf_config", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "config/security.py:get_csrf_config", - "utils/monitoring_analytics.py:get_system_metrics" - ], - [ - "config/security.py:get_csrf_config", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "scripts/test_protocol_generator.py:__init__", - "utils/job_queue_system.py:__init__" - ], - [ - "scripts/test_protocol_generator.py:__init__", - "utils/hardware_integration.py:__init__" - ], - [ - "scripts/test_protocol_generator.py:__init__", - "utils/ip_security.py:__init__" - ], - [ - "scripts/test_protocol_generator.py:__init__", - "utils/job_scheduler.py:__init__" - ], - [ - "scripts/test_protocol_generator.py:__init__", - "utils/script_collection.py:__init__" - ], - [ - "scripts/test_protocol_generator.py:test_syntax_validation", - "scripts/test_protocol_generator.py:test_import_functionality" - ], - [ - "scripts/test_protocol_generator.py:test_syntax_validation", - "scripts/test_protocol_generator.py:test_models_and_blueprints" - ], - [ - "scripts/test_protocol_generator.py:test_import_functionality", - "scripts/test_protocol_generator.py:test_models_and_blueprints" - ], - [ - "scripts/test_protocol_generator.py:test_import_functionality", - "scripts/test_protocol_generator.py:test_flask_app_creation" - ], - [ - "scripts/test_protocol_generator.py:test_import_functionality", - "scripts/test_protocol_generator.py:generate_ai_summary" - ], - [ - "scripts/test_protocol_generator.py:test_import_functionality", - "utils/development_tools.py:test_printer_status" - ], - [ - "scripts/test_protocol_generator.py:test_import_functionality", - "utils/core_system.py:graceful_shutdown" - ], - [ - "scripts/test_protocol_generator.py:test_models_and_blueprints", - "utils/development_tools.py:test_printer_status" - ], - [ - "scripts/test_protocol_generator.py:test_models_and_blueprints", - "utils/core_system.py:graceful_shutdown" - ], - [ - "scripts/test_protocol_generator.py:test_flask_app_creation", - "scripts/test_protocol_generator.py:test_dependency_versions" - ], - [ - "scripts/test_protocol_generator.py:test_flask_app_creation", - "scripts/screenshot_tool.py:discover_routes_from_app" - ], - [ - "scripts/test_protocol_generator.py:test_flask_app_creation", - "scripts/screenshot_tool.py:_setup_firefox" - ], - [ - "scripts/test_protocol_generator.py:test_flask_app_creation", - "utils/ip_security.py:get_client_ip" - ], - [ - "scripts/test_protocol_generator.py:test_dependency_versions", - "scripts/screenshot_tool.py:discover_routes_from_app" - ], - [ - "scripts/test_protocol_generator.py:analyze_code_metrics", - "utils/hardware_integration.py:get_energy_statistics" - ], - [ - "scripts/test_protocol_generator.py:analyze_code_metrics", - "utils/monitoring_analytics.py:track_memory_usage" - ], - [ - "scripts/test_protocol_generator.py:generate_ai_summary", - "scripts/screenshot_tool.py:run_screenshot_session" - ], - [ - "scripts/test_protocol_generator.py:generate_ai_summary", - "utils/development_tools.py:test_printer_status" - ], - [ - "scripts/test_protocol_generator.py:generate_ai_summary", - "utils/hardware_integration.py:initialize_all_outlets" - ], - [ - "scripts/test_protocol_generator.py:generate_ai_summary", - "utils/core_system.py:setup_logging" - ], - [ - "scripts/test_protocol_generator.py:generate_fallback_summary", - "scripts/test_protocol_generator.py:run_all_tests" - ], - [ - "scripts/test_protocol_generator.py:generate_fallback_summary", - "scripts/screenshot_tool.py:_get_default_routes" - ], - [ - "scripts/test_protocol_generator.py:generate_fallback_summary", - "utils/ssl_manager.py:generate_mercedes_certificate" - ], - [ - "scripts/test_protocol_generator.py:generate_fallback_summary", - "utils/hardware_integration.py:get_printer_summary" - ], - [ - "scripts/test_protocol_generator.py:generate_fallback_summary", - "utils/hardware_integration.py:check_and_control_for_jobs" - ], - [ - "scripts/test_protocol_generator.py:generate_fallback_summary", - "utils/core_system.py:get_system_status" - ], - [ - "scripts/test_protocol_generator.py:generate_fallback_summary", - "utils/core_system.py:get_recovery_status" - ], - [ - "scripts/test_protocol_generator.py:generate_fallback_summary", - "utils/core_system.py:run_monitoring_cycle" - ], - [ - "scripts/test_protocol_generator.py:generate_fallback_summary", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "scripts/test_protocol_generator.py:generate_fallback_summary", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "scripts/test_protocol_generator.py:generate_fallback_summary", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "scripts/test_protocol_generator.py:generate_fallback_summary", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "scripts/test_protocol_generator.py:generate_fallback_summary", - "utils/monitoring_analytics.py:track_cpu_usage" - ], - [ - "scripts/test_protocol_generator.py:generate_fallback_summary", - "utils/monitoring_analytics.py:get_system_metrics" - ], - [ - "scripts/test_protocol_generator.py:generate_fallback_summary", - "utils/monitoring_analytics.py:collect_job_analytics" - ], - [ - "scripts/test_protocol_generator.py:generate_fallback_summary", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "scripts/test_protocol_generator.py:run_all_tests", - "scripts/screenshot_tool.py:_get_default_routes" - ], - [ - "scripts/test_protocol_generator.py:run_all_tests", - "scripts/screenshot_tool.py:initialize_browser" - ], - [ - "scripts/test_protocol_generator.py:run_all_tests", - "utils/job_queue_system.py:get_queue_status" - ], - [ - "scripts/test_protocol_generator.py:run_all_tests", - "utils/data_management.py:ensure_directories" - ], - [ - "scripts/test_protocol_generator.py:run_all_tests", - "utils/hardware_integration.py:get_printer_summary" - ], - [ - "scripts/test_protocol_generator.py:run_all_tests", - "utils/drag_drop_system.py:cleanup_invalid_orders" - ], - [ - "scripts/test_protocol_generator.py:run_all_tests", - "utils/drag_drop_system.py:_schedule_cleanup" - ], - [ - "scripts/test_protocol_generator.py:run_all_tests", - "utils/database_cleanup.py:cleanup_all" - ], - [ - "scripts/test_protocol_generator.py:run_all_tests", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "scripts/test_protocol_generator.py:run_all_tests", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "scripts/test_protocol_generator.py:run_all_tests", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "scripts/test_protocol_generator.py:run_all_tests", - "utils/monitoring_analytics.py:track_cpu_usage" - ], - [ - "scripts/test_protocol_generator.py:run_all_tests", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "scripts/test_protocol_generator.py:run_all_tests", - "utils/script_collection.py:run_all_tests" - ], - [ - "scripts/test_protocol_generator.py:run_all_tests", - "utils/script_collection.py:run_initial_setup" - ], - [ - "scripts/screenshot_tool.py:__init__", - "utils/ip_security.py:__init__" - ], - [ - "scripts/screenshot_tool.py:__init__", - "utils/core_system.py:__init__" - ], - [ - "scripts/screenshot_tool.py:discover_routes_from_app", - "scripts/screenshot_tool.py:_setup_firefox" - ], - [ - "scripts/screenshot_tool.py:_categorize_route", - "scripts/screenshot_tool.py:_determine_route_category" - ], - [ - "scripts/screenshot_tool.py:_get_default_routes", - "scripts/screenshot_tool.py:_perform_admin_login" - ], - [ - "scripts/screenshot_tool.py:_get_default_routes", - "utils/ui_components.py:get_dashboard_data" - ], - [ - "scripts/screenshot_tool.py:_get_default_routes", - "utils/job_queue_system.py:get_queue_status" - ], - [ - "scripts/screenshot_tool.py:_get_default_routes", - "utils/job_queue_system.py:_scheduler_loop" - ], - [ - "scripts/screenshot_tool.py:_get_default_routes", - "utils/data_management.py:ensure_directories" - ], - [ - "scripts/screenshot_tool.py:_get_default_routes", - "utils/ssl_manager.py:generate_mercedes_certificate" - ], - [ - "scripts/screenshot_tool.py:_get_default_routes", - "utils/hardware_integration.py:check_and_control_for_jobs" - ], - [ - "scripts/screenshot_tool.py:_get_default_routes", - "utils/ip_security.py:get_allowed_plug_ips" - ], - [ - "scripts/screenshot_tool.py:_get_default_routes", - "utils/drag_drop_system.py:cleanup_invalid_orders" - ], - [ - "scripts/screenshot_tool.py:_get_default_routes", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "scripts/screenshot_tool.py:_get_default_routes", - "utils/core_system.py:get_recovery_status" - ], - [ - "scripts/screenshot_tool.py:_get_default_routes", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "scripts/screenshot_tool.py:_get_default_routes", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "scripts/screenshot_tool.py:_get_default_routes", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "scripts/screenshot_tool.py:_get_default_routes", - "utils/monitoring_analytics.py:track_cpu_usage" - ], - [ - "scripts/screenshot_tool.py:_get_default_routes", - "utils/monitoring_analytics.py:get_dashboard_data" - ], - [ - "scripts/screenshot_tool.py:_get_default_routes", - "utils/script_collection.py:run_initial_setup" - ], - [ - "scripts/screenshot_tool.py:initialize_browser", - "utils/hardware_integration.py:check_and_control_for_jobs" - ], - [ - "scripts/screenshot_tool.py:initialize_browser", - "utils/ip_security.py:get_allowed_plug_ips" - ], - [ - "scripts/screenshot_tool.py:initialize_browser", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "scripts/screenshot_tool.py:initialize_browser", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "scripts/screenshot_tool.py:initialize_browser", - "utils/monitoring_analytics.py:collect_job_analytics" - ], - [ - "scripts/screenshot_tool.py:initialize_browser", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "scripts/screenshot_tool.py:initialize_browser", - "utils/script_collection.py:run_initial_setup" - ], - [ - "scripts/screenshot_tool.py:_setup_chrome", - "utils/development_tools.py:test_user_creation" - ], - [ - "scripts/screenshot_tool.py:run_screenshot_session", - "utils/development_tools.py:test_database_connection" - ], - [ - "scripts/screenshot_tool.py:run_screenshot_session", - "utils/hardware_integration.py:initialize_all_outlets" - ], - [ - "scripts/screenshot_tool.py:run_screenshot_session", - "utils/security_suite.py:generate_nonce" - ], - [ - "scripts/screenshot_tool.py:run_screenshot_session", - "utils/core_system.py:setup_logging" - ], - [ - "scripts/screenshot_tool.py:_prepare_environment", - "scripts/screenshot_tool.py:_perform_admin_login" - ], - [ - "scripts/screenshot_tool.py:_prepare_environment", - "utils/job_queue_system.py:_timer_loop" - ], - [ - "scripts/screenshot_tool.py:_prepare_environment", - "utils/hardware_integration.py:get_printer_summary" - ], - [ - "scripts/screenshot_tool.py:_prepare_environment", - "utils/drag_drop_system.py:cleanup_invalid_orders" - ], - [ - "scripts/screenshot_tool.py:_prepare_environment", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "scripts/screenshot_tool.py:_prepare_environment", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "scripts/screenshot_tool.py:_prepare_environment", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "scripts/screenshot_tool.py:_prepare_environment", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "scripts/screenshot_tool.py:_prepare_environment", - "utils/script_collection.py:run_initial_setup" - ], - [ - "scripts/screenshot_tool.py:_perform_admin_login", - "utils/job_queue_system.py:_timer_loop" - ], - [ - "scripts/screenshot_tool.py:_perform_admin_login", - "utils/ssl_manager.py:generate_mercedes_certificate" - ], - [ - "scripts/screenshot_tool.py:_perform_admin_login", - "utils/hardware_integration.py:get_printer_summary" - ], - [ - "scripts/screenshot_tool.py:_perform_admin_login", - "utils/ip_security.py:get_allowed_plug_ips" - ], - [ - "scripts/screenshot_tool.py:_perform_admin_login", - "utils/drag_drop_system.py:cleanup_invalid_orders" - ], - [ - "scripts/screenshot_tool.py:_perform_admin_login", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "scripts/screenshot_tool.py:_perform_admin_login", - "utils/core_system.py:load_config" - ], - [ - "scripts/screenshot_tool.py:_perform_admin_login", - "utils/core_system.py:run_monitoring_cycle" - ], - [ - "scripts/screenshot_tool.py:_perform_admin_login", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "scripts/screenshot_tool.py:_perform_admin_login", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "scripts/screenshot_tool.py:_perform_admin_login", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "scripts/screenshot_tool.py:_generate_report", - "utils/security_suite.py:generate_nonce" - ], - [ - "blueprints/jobs.py:job_owner_required", - "blueprints/uploads.py:admin_required" - ], - [ - "blueprints/jobs.py:job_owner_required", - "blueprints/admin_unified.py:admin_required" - ], - [ - "blueprints/jobs.py:job_owner_required", - "blueprints/user_management.py:users_admin_required" - ], - [ - "blueprints/jobs.py:job_owner_required", - "utils/permissions.py:admin_required" - ], - [ - "blueprints/jobs.py:job_owner_required", - "utils/permissions.py:approver_required" - ], - [ - "blueprints/jobs.py:job_owner_required", - "legacy/app_original.py:job_owner_required" - ], - [ - "blueprints/jobs.py:check_printer_status", - "legacy/app_original.py:check_printer_status" - ], - [ - "blueprints/jobs.py:get_job", - "blueprints/jobs.py:update_job" - ], - [ - "blueprints/jobs.py:get_job", - "blueprints/guest.py:api_get_guest_job_status" - ], - [ - "blueprints/jobs.py:update_job", - "blueprints/jobs.py:pause_job" - ], - [ - "blueprints/jobs.py:update_job", - "blueprints/guest.py:api_get_guest_job_status" - ], - [ - "blueprints/jobs.py:update_job", - "legacy/app_original.py:update_job" - ], - [ - "blueprints/jobs.py:delete_job", - "legacy/app_original.py:get_job_detail" - ], - [ - "blueprints/jobs.py:delete_job", - "legacy/app_original.py:delete_job" - ], - [ - "blueprints/jobs.py:delete_job", - "legacy/app_original.py:update_job" - ], - [ - "blueprints/jobs.py:start_job", - "blueprints/jobs.py:pause_job" - ], - [ - "blueprints/jobs.py:start_job", - "blueprints/jobs.py:resume_job" - ], - [ - "blueprints/jobs.py:start_job", - "blueprints/guest.py:api_get_guest_job_status" - ], - [ - "blueprints/jobs.py:pause_job", - "blueprints/jobs.py:resume_job" - ], - [ - "blueprints/jobs.py:pause_job", - "blueprints/guest.py:api_get_guest_job_status" - ], - [ - "blueprints/guest.py:guest_job_status", - "blueprints/guest.py:api_get_guest_job_status" - ], - [ - "blueprints/guest.py:guest_job_status", - "legacy/app_original.py:get_job_detail" - ], - [ - "blueprints/guest.py:guest_job_status", - "legacy/app_original.py:update_job" - ], - [ - "blueprints/guest.py:guest_request_status", - "blueprints/guest.py:api_get_guest_request" - ], - [ - "blueprints/guest.py:api_get_guest_request", - "blueprints/guest.py:api_get_request_details" - ], - [ - "blueprints/guest.py:api_get_guest_request", - "blueprints/guest.py:api_update_request" - ], - [ - "blueprints/guest.py:api_get_guest_request", - "blueprints/guest.py:api_delete_request" - ], - [ - "blueprints/guest.py:api_get_guest_request", - "blueprints/guest.py:api_approve_request" - ], - [ - "blueprints/guest.py:api_get_guest_request", - "blueprints/guest.py:api_deny_request" - ], - [ - "blueprints/guest.py:api_get_guest_request", - "blueprints/guest.py:api_get_request_otp" - ], - [ - "blueprints/guest.py:api_get_guest_request", - "blueprints/admin_unified.py:generate_guest_otp_api" - ], - [ - "blueprints/guest.py:api_get_guest_request", - "blueprints/admin_unified.py:print_guest_credentials_api" - ], - [ - "blueprints/guest.py:api_get_guest_request", - "blueprints/admin_unified.py:approve_guest_request_api" - ], - [ - "blueprints/guest.py:api_get_guest_request", - "blueprints/admin_unified.py:reject_guest_request_api" - ], - [ - "blueprints/guest.py:api_get_guest_request", - "legacy/app_original.py:approve_guest_request" - ], - [ - "blueprints/guest.py:api_get_guest_request", - "legacy/app_original.py:reject_guest_request" - ], - [ - "blueprints/guest.py:api_get_guest_request", - "legacy/app_original.py:delete_guest_request" - ], - [ - "blueprints/guest.py:api_get_guest_request", - "legacy/app_original.py:get_guest_request_detail" - ], - [ - "blueprints/guest.py:api_mark_notification_read", - "blueprints/api.py:mark_notification_read" - ], - [ - "blueprints/guest.py:api_get_request_details", - "blueprints/guest.py:api_update_request" - ], - [ - "blueprints/guest.py:api_get_request_details", - "blueprints/guest.py:api_delete_request" - ], - [ - "blueprints/guest.py:api_get_request_details", - "blueprints/guest.py:api_approve_request" - ], - [ - "blueprints/guest.py:api_get_request_details", - "blueprints/guest.py:api_deny_request" - ], - [ - "blueprints/guest.py:api_get_request_details", - "blueprints/guest.py:api_get_request_otp" - ], - [ - "blueprints/guest.py:api_get_request_details", - "blueprints/admin_unified.py:generate_guest_otp_api" - ], - [ - "blueprints/guest.py:api_get_request_details", - "blueprints/admin_unified.py:print_guest_credentials_api" - ], - [ - "blueprints/guest.py:api_get_request_details", - "blueprints/admin_unified.py:approve_guest_request_api" - ], - [ - "blueprints/guest.py:api_get_request_details", - "blueprints/admin_unified.py:reject_guest_request_api" - ], - [ - "blueprints/guest.py:api_get_request_details", - "legacy/app_original.py:approve_guest_request" - ], - [ - "blueprints/guest.py:api_get_request_details", - "legacy/app_original.py:reject_guest_request" - ], - [ - "blueprints/guest.py:api_get_request_details", - "legacy/app_original.py:delete_guest_request" - ], - [ - "blueprints/guest.py:api_get_request_details", - "legacy/app_original.py:get_guest_request_detail" - ], - [ - "blueprints/guest.py:api_update_request", - "blueprints/guest.py:api_delete_request" - ], - [ - "blueprints/guest.py:api_update_request", - "blueprints/guest.py:api_approve_request" - ], - [ - "blueprints/guest.py:api_update_request", - "blueprints/guest.py:api_deny_request" - ], - [ - "blueprints/guest.py:api_update_request", - "blueprints/guest.py:api_get_request_otp" - ], - [ - "blueprints/guest.py:api_update_request", - "blueprints/admin_unified.py:generate_guest_otp_api" - ], - [ - "blueprints/guest.py:api_update_request", - "blueprints/admin_unified.py:print_guest_credentials_api" - ], - [ - "blueprints/guest.py:api_update_request", - "blueprints/admin_unified.py:approve_guest_request_api" - ], - [ - "blueprints/guest.py:api_update_request", - "blueprints/admin_unified.py:reject_guest_request_api" - ], - [ - "blueprints/guest.py:api_update_request", - "legacy/app_original.py:approve_guest_request" - ], - [ - "blueprints/guest.py:api_update_request", - "legacy/app_original.py:delete_guest_request" - ], - [ - "blueprints/guest.py:api_update_request", - "legacy/app_original.py:get_guest_request_detail" - ], - [ - "blueprints/guest.py:api_delete_request", - "blueprints/guest.py:api_approve_request" - ], - [ - "blueprints/guest.py:api_delete_request", - "blueprints/guest.py:api_deny_request" - ], - [ - "blueprints/guest.py:api_delete_request", - "blueprints/guest.py:api_get_request_otp" - ], - [ - "blueprints/guest.py:api_delete_request", - "blueprints/admin_unified.py:generate_guest_otp_api" - ], - [ - "blueprints/guest.py:api_delete_request", - "blueprints/admin_unified.py:print_guest_credentials_api" - ], - [ - "blueprints/guest.py:api_delete_request", - "blueprints/admin_unified.py:approve_guest_request_api" - ], - [ - "blueprints/guest.py:api_delete_request", - "blueprints/admin_unified.py:reject_guest_request_api" - ], - [ - "blueprints/guest.py:api_delete_request", - "legacy/app_original.py:approve_guest_request" - ], - [ - "blueprints/guest.py:api_delete_request", - "legacy/app_original.py:delete_guest_request" - ], - [ - "blueprints/guest.py:api_delete_request", - "legacy/app_original.py:get_guest_request_detail" - ], - [ - "blueprints/guest.py:api_approve_request", - "blueprints/guest.py:api_deny_request" - ], - [ - "blueprints/guest.py:api_approve_request", - "blueprints/guest.py:api_get_request_otp" - ], - [ - "blueprints/guest.py:api_approve_request", - "blueprints/admin_unified.py:generate_guest_otp_api" - ], - [ - "blueprints/guest.py:api_approve_request", - "blueprints/admin_unified.py:print_guest_credentials_api" - ], - [ - "blueprints/guest.py:api_approve_request", - "blueprints/admin_unified.py:approve_guest_request_api" - ], - [ - "blueprints/guest.py:api_approve_request", - "blueprints/admin_unified.py:reject_guest_request_api" - ], - [ - "blueprints/guest.py:api_approve_request", - "legacy/app_original.py:approve_guest_request" - ], - [ - "blueprints/guest.py:api_approve_request", - "legacy/app_original.py:get_guest_request_detail" - ], - [ - "blueprints/guest.py:api_deny_request", - "blueprints/guest.py:api_get_request_otp" - ], - [ - "blueprints/guest.py:api_deny_request", - "blueprints/admin_unified.py:generate_guest_otp_api" - ], - [ - "blueprints/guest.py:api_deny_request", - "blueprints/admin_unified.py:print_guest_credentials_api" - ], - [ - "blueprints/guest.py:api_deny_request", - "blueprints/admin_unified.py:approve_guest_request_api" - ], - [ - "blueprints/guest.py:api_deny_request", - "blueprints/admin_unified.py:reject_guest_request_api" - ], - [ - "blueprints/guest.py:api_deny_request", - "legacy/app_original.py:approve_guest_request" - ], - [ - "blueprints/guest.py:api_deny_request", - "legacy/app_original.py:delete_guest_request" - ], - [ - "blueprints/guest.py:api_deny_request", - "legacy/app_original.py:get_guest_request_detail" - ], - [ - "blueprints/guest.py:api_get_request_otp", - "blueprints/admin_unified.py:generate_guest_otp_api" - ], - [ - "blueprints/guest.py:api_get_request_otp", - "blueprints/admin_unified.py:print_guest_credentials_api" - ], - [ - "blueprints/guest.py:api_get_request_otp", - "blueprints/admin_unified.py:approve_guest_request_api" - ], - [ - "blueprints/guest.py:api_get_request_otp", - "blueprints/admin_unified.py:reject_guest_request_api" - ], - [ - "blueprints/guest.py:api_get_request_otp", - "legacy/app_original.py:approve_guest_request" - ], - [ - "blueprints/guest.py:api_get_request_otp", - "legacy/app_original.py:reject_guest_request" - ], - [ - "blueprints/guest.py:api_get_request_otp", - "legacy/app_original.py:delete_guest_request" - ], - [ - "blueprints/guest.py:api_get_request_otp", - "legacy/app_original.py:get_guest_request_detail" - ], - [ - "blueprints/uploads.py:admin_required", - "blueprints/admin_unified.py:admin_required" - ], - [ - "blueprints/uploads.py:admin_required", - "blueprints/user_management.py:users_admin_required" - ], - [ - "blueprints/uploads.py:admin_required", - "utils/permissions.py:admin_required" - ], - [ - "blueprints/uploads.py:admin_required", - "utils/permissions.py:approver_required" - ], - [ - "blueprints/uploads.py:admin_required", - "legacy/app_original.py:admin_required" - ], - [ - "blueprints/uploads.py:serve_uploaded_file", - "blueprints/uploads.py:delete_uploaded_file" - ], - [ - "blueprints/uploads.py:serve_uploaded_file", - "legacy/app_original.py:serve_uploaded_file" - ], - [ - "blueprints/uploads.py:serve_uploaded_file", - "legacy/app_original.py:delete_uploaded_file" - ], - [ - "blueprints/uploads.py:delete_uploaded_file", - "legacy/app_original.py:serve_uploaded_file" - ], - [ - "blueprints/uploads.py:delete_uploaded_file", - "legacy/app_original.py:delete_uploaded_file" - ], - [ - "blueprints/printers.py:get_printer_job_summary", - "blueprints/printers.py:validate_tapo_configuration" - ], - [ - "blueprints/printers.py:get_printer_job_summary", - "legacy/app_original.py:admin_update_printer_form" - ], - [ - "blueprints/printers.py:connect_printer", - "blueprints/printers.py:validate_tapo_configuration" - ], - [ - "blueprints/printers.py:connect_printer", - "legacy/app_original.py:toggle_printer_power" - ], - [ - "blueprints/printers.py:connect_printer", - "legacy/app_original.py:test_printer_tapo_connection" - ], - [ - "blueprints/printers.py:connect_printer", - "legacy/app_original.py:admin_update_printer_form" - ], - [ - "blueprints/printers.py:validate_tapo_configuration", - "legacy/app_original.py:toggle_printer_power" - ], - [ - "blueprints/printers.py:validate_tapo_configuration", - "legacy/app_original.py:admin_update_printer_form" - ], - [ - "blueprints/auth.py:handle_github_callback", - "legacy/app_original.py:handle_github_callback" - ], - [ - "blueprints/auth.py:get_github_user_data", - "legacy/app_original.py:get_github_user_data" - ], - [ - "blueprints/tapo_control.py:get_outlet_status", - "blueprints/api_simple.py:get_outlet_status_api" - ], - [ - "blueprints/tapo_control.py:test_connection", - "blueprints/api_simple.py:control_outlet_api" - ], - [ - "blueprints/calendar.py:api_update_calendar_event", - "blueprints/calendar.py:api_delete_calendar_event" - ], - [ - "blueprints/api_simple.py:get_outlet_status_api", - "blueprints/api_simple.py:control_outlet_api" - ], - [ - "blueprints/energy_monitoring.py:device_details", - "blueprints/energy_monitoring.py:api_device_energy_data" - ], - [ - "blueprints/admin_unified.py:admin_required", - "blueprints/user_management.py:users_admin_required" - ], - [ - "blueprints/admin_unified.py:admin_required", - "utils/permissions.py:admin_required" - ], - [ - "blueprints/admin_unified.py:admin_required", - "utils/permissions.py:approver_required" - ], - [ - "blueprints/admin_unified.py:admin_required", - "legacy/app_original.py:admin_required" - ], - [ - "blueprints/admin_unified.py:edit_user_page", - "blueprints/admin_unified.py:get_user_api" - ], - [ - "blueprints/admin_unified.py:edit_user_page", - "blueprints/admin_unified.py:update_user_api" - ], - [ - "blueprints/admin_unified.py:edit_user_page", - "blueprints/admin_unified.py:delete_user_api" - ], - [ - "blueprints/admin_unified.py:edit_user_page", - "blueprints/user_management.py:user_permissions_page" - ], - [ - "blueprints/admin_unified.py:edit_user_page", - "blueprints/user_management.py:get_user_permissions_api" - ], - [ - "blueprints/admin_unified.py:edit_user_page", - "blueprints/user_management.py:update_user_permissions_api" - ], - [ - "blueprints/admin_unified.py:edit_user_page", - "blueprints/user_management.py:update_user_permissions_form" - ], - [ - "blueprints/admin_unified.py:edit_user_page", - "blueprints/user_management.py:edit_user_permissions_section" - ], - [ - "blueprints/admin_unified.py:edit_user_page", - "blueprints/user_management.py:get_user_details_api" - ], - [ - "blueprints/admin_unified.py:edit_user_page", - "utils/permissions.py:ensure_admin_permissions" - ], - [ - "blueprints/admin_unified.py:edit_user_page", - "utils/permissions.py:get_user_permissions" - ], - [ - "blueprints/admin_unified.py:edit_user_page", - "legacy/app_original.py:load_user" - ], - [ - "blueprints/admin_unified.py:edit_user_page", - "legacy/app_original.py:get_user_api" - ], - [ - "blueprints/admin_unified.py:edit_user_page", - "legacy/app_original.py:update_user_api" - ], - [ - "blueprints/admin_unified.py:edit_user_page", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "blueprints/admin_unified.py:edit_printer_page", - "blueprints/admin_unified.py:delete_printer_api" - ], - [ - "blueprints/admin_unified.py:edit_printer_page", - "blueprints/admin_unified.py:toggle_printer_power" - ], - [ - "blueprints/admin_unified.py:edit_printer_page", - "legacy/app_original.py:test_printer_tapo_connection" - ], - [ - "blueprints/admin_unified.py:edit_printer_page", - "legacy/app_original.py:admin_edit_printer_page" - ], - [ - "blueprints/admin_unified.py:edit_printer_page", - "legacy/app_original.py:get_job_order_api" - ], - [ - "blueprints/admin_unified.py:get_user_api", - "blueprints/admin_unified.py:update_user_api" - ], - [ - "blueprints/admin_unified.py:get_user_api", - "blueprints/admin_unified.py:delete_user_api" - ], - [ - "blueprints/admin_unified.py:get_user_api", - "blueprints/user_management.py:user_permissions_page" - ], - [ - "blueprints/admin_unified.py:get_user_api", - "blueprints/user_management.py:get_user_permissions_api" - ], - [ - "blueprints/admin_unified.py:get_user_api", - "blueprints/user_management.py:update_user_permissions_api" - ], - [ - "blueprints/admin_unified.py:get_user_api", - "blueprints/user_management.py:update_user_permissions_form" - ], - [ - "blueprints/admin_unified.py:get_user_api", - "blueprints/user_management.py:edit_user_permissions_section" - ], - [ - "blueprints/admin_unified.py:get_user_api", - "blueprints/user_management.py:get_user_details_api" - ], - [ - "blueprints/admin_unified.py:get_user_api", - "utils/permissions.py:ensure_admin_permissions" - ], - [ - "blueprints/admin_unified.py:get_user_api", - "utils/permissions.py:get_user_permissions" - ], - [ - "blueprints/admin_unified.py:get_user_api", - "legacy/app_original.py:get_user_api" - ], - [ - "blueprints/admin_unified.py:get_user_api", - "legacy/app_original.py:update_user_api" - ], - [ - "blueprints/admin_unified.py:get_user_api", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "blueprints/admin_unified.py:update_user_api", - "blueprints/admin_unified.py:delete_user_api" - ], - [ - "blueprints/admin_unified.py:update_user_api", - "blueprints/user_management.py:user_permissions_page" - ], - [ - "blueprints/admin_unified.py:update_user_api", - "blueprints/user_management.py:get_user_permissions_api" - ], - [ - "blueprints/admin_unified.py:update_user_api", - "blueprints/user_management.py:update_user_permissions_api" - ], - [ - "blueprints/admin_unified.py:update_user_api", - "blueprints/user_management.py:update_user_permissions_form" - ], - [ - "blueprints/admin_unified.py:update_user_api", - "blueprints/user_management.py:edit_user_permissions_section" - ], - [ - "blueprints/admin_unified.py:update_user_api", - "blueprints/user_management.py:get_user_details_api" - ], - [ - "blueprints/admin_unified.py:update_user_api", - "utils/permissions.py:ensure_admin_permissions" - ], - [ - "blueprints/admin_unified.py:update_user_api", - "utils/permissions.py:get_user_permissions" - ], - [ - "blueprints/admin_unified.py:update_user_api", - "legacy/app_original.py:load_user" - ], - [ - "blueprints/admin_unified.py:update_user_api", - "legacy/app_original.py:get_user_api" - ], - [ - "blueprints/admin_unified.py:update_user_api", - "legacy/app_original.py:update_user_api" - ], - [ - "blueprints/admin_unified.py:update_user_api", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "blueprints/admin_unified.py:delete_user_api", - "blueprints/user_management.py:user_permissions_page" - ], - [ - "blueprints/admin_unified.py:delete_user_api", - "blueprints/user_management.py:get_user_permissions_api" - ], - [ - "blueprints/admin_unified.py:delete_user_api", - "blueprints/user_management.py:update_user_permissions_api" - ], - [ - "blueprints/admin_unified.py:delete_user_api", - "blueprints/user_management.py:update_user_permissions_form" - ], - [ - "blueprints/admin_unified.py:delete_user_api", - "blueprints/user_management.py:edit_user_permissions_section" - ], - [ - "blueprints/admin_unified.py:delete_user_api", - "blueprints/user_management.py:get_user_details_api" - ], - [ - "blueprints/admin_unified.py:delete_user_api", - "utils/permissions.py:ensure_admin_permissions" - ], - [ - "blueprints/admin_unified.py:delete_user_api", - "utils/permissions.py:get_user_permissions" - ], - [ - "blueprints/admin_unified.py:delete_user_api", - "legacy/app_original.py:clear_user_cache" - ], - [ - "blueprints/admin_unified.py:delete_user_api", - "legacy/app_original.py:load_user" - ], - [ - "blueprints/admin_unified.py:delete_user_api", - "legacy/app_original.py:get_user_api" - ], - [ - "blueprints/admin_unified.py:delete_user_api", - "legacy/app_original.py:update_user_api" - ], - [ - "blueprints/admin_unified.py:delete_user_api", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "blueprints/admin_unified.py:delete_printer_api", - "blueprints/admin_unified.py:toggle_printer_power" - ], - [ - "blueprints/admin_unified.py:delete_printer_api", - "legacy/app_original.py:test_printer_tapo_connection" - ], - [ - "blueprints/admin_unified.py:delete_printer_api", - "legacy/app_original.py:admin_edit_printer_page" - ], - [ - "blueprints/admin_unified.py:delete_printer_api", - "legacy/app_original.py:get_job_order_api" - ], - [ - "blueprints/admin_unified.py:toggle_printer_power", - "legacy/app_original.py:toggle_printer_power" - ], - [ - "blueprints/admin_unified.py:toggle_printer_power", - "legacy/app_original.py:test_printer_tapo_connection" - ], - [ - "blueprints/admin_unified.py:toggle_printer_power", - "legacy/app_original.py:admin_edit_printer_page" - ], - [ - "blueprints/admin_unified.py:toggle_printer_power", - "legacy/app_original.py:get_job_order_api" - ], - [ - "blueprints/admin_unified.py:generate_guest_otp_api", - "blueprints/admin_unified.py:print_guest_credentials_api" - ], - [ - "blueprints/admin_unified.py:generate_guest_otp_api", - "blueprints/admin_unified.py:approve_guest_request_api" - ], - [ - "blueprints/admin_unified.py:generate_guest_otp_api", - "blueprints/admin_unified.py:reject_guest_request_api" - ], - [ - "blueprints/admin_unified.py:generate_guest_otp_api", - "legacy/app_original.py:approve_guest_request" - ], - [ - "blueprints/admin_unified.py:generate_guest_otp_api", - "legacy/app_original.py:get_guest_request_detail" - ], - [ - "blueprints/admin_unified.py:print_guest_credentials_api", - "blueprints/admin_unified.py:approve_guest_request_api" - ], - [ - "blueprints/admin_unified.py:print_guest_credentials_api", - "blueprints/admin_unified.py:reject_guest_request_api" - ], - [ - "blueprints/admin_unified.py:print_guest_credentials_api", - "legacy/app_original.py:approve_guest_request" - ], - [ - "blueprints/admin_unified.py:print_guest_credentials_api", - "legacy/app_original.py:delete_guest_request" - ], - [ - "blueprints/admin_unified.py:print_guest_credentials_api", - "legacy/app_original.py:get_guest_request_detail" - ], - [ - "blueprints/admin_unified.py:approve_guest_request_api", - "blueprints/admin_unified.py:reject_guest_request_api" - ], - [ - "blueprints/admin_unified.py:approve_guest_request_api", - "legacy/app_original.py:approve_guest_request" - ], - [ - "blueprints/admin_unified.py:approve_guest_request_api", - "legacy/app_original.py:reject_guest_request" - ], - [ - "blueprints/admin_unified.py:approve_guest_request_api", - "legacy/app_original.py:delete_guest_request" - ], - [ - "blueprints/admin_unified.py:approve_guest_request_api", - "legacy/app_original.py:get_guest_request_detail" - ], - [ - "blueprints/admin_unified.py:reject_guest_request_api", - "legacy/app_original.py:approve_guest_request" - ], - [ - "blueprints/admin_unified.py:reject_guest_request_api", - "legacy/app_original.py:reject_guest_request" - ], - [ - "blueprints/admin_unified.py:reject_guest_request_api", - "legacy/app_original.py:delete_guest_request" - ], - [ - "blueprints/admin_unified.py:reject_guest_request_api", - "legacy/app_original.py:get_guest_request_detail" - ], - [ - "blueprints/admin_unified.py:get_relative_time", - "legacy/app_original.py:get_relative_time" - ], - [ - "blueprints/admin_unified.py:get_status_icon", - "blueprints/admin_unified.py:get_status_color" - ], - [ - "blueprints/admin_unified.py:get_status_icon", - "legacy/app_original.py:get_status_icon" - ], - [ - "blueprints/admin_unified.py:get_status_icon", - "legacy/app_original.py:get_status_color" - ], - [ - "blueprints/admin_unified.py:get_status_color", - "legacy/app_original.py:get_status_icon" - ], - [ - "blueprints/admin_unified.py:get_status_color", - "legacy/app_original.py:get_status_color" - ], - [ - "blueprints/user_management.py:users_admin_required", - "utils/permissions.py:admin_required" - ], - [ - "blueprints/user_management.py:users_admin_required", - "utils/permissions.py:approver_required" - ], - [ - "blueprints/user_management.py:users_admin_required", - "legacy/app_original.py:admin_required" - ], - [ - "blueprints/user_management.py:user_permissions_page", - "blueprints/user_management.py:get_user_permissions_api" - ], - [ - "blueprints/user_management.py:user_permissions_page", - "blueprints/user_management.py:update_user_permissions_api" - ], - [ - "blueprints/user_management.py:user_permissions_page", - "blueprints/user_management.py:update_user_permissions_form" - ], - [ - "blueprints/user_management.py:user_permissions_page", - "blueprints/user_management.py:edit_user_permissions_section" - ], - [ - "blueprints/user_management.py:user_permissions_page", - "blueprints/user_management.py:get_user_details_api" - ], - [ - "blueprints/user_management.py:user_permissions_page", - "utils/permissions.py:ensure_admin_permissions" - ], - [ - "blueprints/user_management.py:user_permissions_page", - "utils/permissions.py:get_user_permissions" - ], - [ - "blueprints/user_management.py:user_permissions_page", - "legacy/app_original.py:get_user_api" - ], - [ - "blueprints/user_management.py:user_permissions_page", - "legacy/app_original.py:update_user_api" - ], - [ - "blueprints/user_management.py:user_permissions_page", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "blueprints/user_management.py:get_user_permissions_api", - "blueprints/user_management.py:update_user_permissions_api" - ], - [ - "blueprints/user_management.py:get_user_permissions_api", - "blueprints/user_management.py:update_user_permissions_form" - ], - [ - "blueprints/user_management.py:get_user_permissions_api", - "blueprints/user_management.py:edit_user_permissions_section" - ], - [ - "blueprints/user_management.py:get_user_permissions_api", - "blueprints/user_management.py:get_user_details_api" - ], - [ - "blueprints/user_management.py:get_user_permissions_api", - "utils/permissions.py:ensure_admin_permissions" - ], - [ - "blueprints/user_management.py:get_user_permissions_api", - "utils/permissions.py:get_user_permissions" - ], - [ - "blueprints/user_management.py:get_user_permissions_api", - "legacy/app_original.py:get_user_api" - ], - [ - "blueprints/user_management.py:get_user_permissions_api", - "legacy/app_original.py:update_user_api" - ], - [ - "blueprints/user_management.py:get_user_permissions_api", - "legacy/app_original.py:admin_update_user_form" - ], - [ - "blueprints/user_management.py:get_user_permissions_api", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "blueprints/user_management.py:update_user_permissions_api", - "blueprints/user_management.py:update_user_permissions_form" - ], - [ - "blueprints/user_management.py:update_user_permissions_api", - "blueprints/user_management.py:edit_user_permissions_section" - ], - [ - "blueprints/user_management.py:update_user_permissions_api", - "blueprints/user_management.py:get_user_details_api" - ], - [ - "blueprints/user_management.py:update_user_permissions_api", - "utils/permissions.py:ensure_admin_permissions" - ], - [ - "blueprints/user_management.py:update_user_permissions_api", - "utils/permissions.py:get_user_permissions" - ], - [ - "blueprints/user_management.py:update_user_permissions_api", - "legacy/app_original.py:load_user" - ], - [ - "blueprints/user_management.py:update_user_permissions_api", - "legacy/app_original.py:get_user_api" - ], - [ - "blueprints/user_management.py:update_user_permissions_api", - "legacy/app_original.py:update_user_api" - ], - [ - "blueprints/user_management.py:update_user_permissions_api", - "legacy/app_original.py:admin_update_user_form" - ], - [ - "blueprints/user_management.py:update_user_permissions_api", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "blueprints/user_management.py:update_user_permissions_form", - "blueprints/user_management.py:edit_user_permissions_section" - ], - [ - "blueprints/user_management.py:update_user_permissions_form", - "blueprints/user_management.py:get_user_details_api" - ], - [ - "blueprints/user_management.py:update_user_permissions_form", - "utils/permissions.py:ensure_admin_permissions" - ], - [ - "blueprints/user_management.py:update_user_permissions_form", - "utils/permissions.py:get_user_permissions" - ], - [ - "blueprints/user_management.py:update_user_permissions_form", - "legacy/app_original.py:load_user" - ], - [ - "blueprints/user_management.py:update_user_permissions_form", - "legacy/app_original.py:get_user_api" - ], - [ - "blueprints/user_management.py:update_user_permissions_form", - "legacy/app_original.py:update_user_api" - ], - [ - "blueprints/user_management.py:update_user_permissions_form", - "legacy/app_original.py:admin_update_user_form" - ], - [ - "blueprints/user_management.py:update_user_permissions_form", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "blueprints/user_management.py:edit_user_permissions_section", - "blueprints/user_management.py:get_user_details_api" - ], - [ - "blueprints/user_management.py:edit_user_permissions_section", - "utils/permissions.py:ensure_admin_permissions" - ], - [ - "blueprints/user_management.py:edit_user_permissions_section", - "utils/permissions.py:get_user_permissions" - ], - [ - "blueprints/user_management.py:edit_user_permissions_section", - "legacy/app_original.py:get_user_api" - ], - [ - "blueprints/user_management.py:edit_user_permissions_section", - "legacy/app_original.py:update_user_api" - ], - [ - "blueprints/user_management.py:edit_user_permissions_section", - "legacy/app_original.py:admin_update_user_form" - ], - [ - "blueprints/user_management.py:edit_user_permissions_section", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "blueprints/user_management.py:get_user_details_api", - "utils/permissions.py:ensure_admin_permissions" - ], - [ - "blueprints/user_management.py:get_user_details_api", - "utils/permissions.py:get_user_permissions" - ], - [ - "blueprints/user_management.py:get_user_details_api", - "legacy/app_original.py:load_user" - ], - [ - "blueprints/user_management.py:get_user_details_api", - "legacy/app_original.py:get_user_api" - ], - [ - "blueprints/user_management.py:get_user_details_api", - "legacy/app_original.py:update_user_api" - ], - [ - "blueprints/user_management.py:get_user_details_api", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "utils/system_management.py:__init__", - "utils/development_tools.py:__init__" - ], - [ - "utils/system_management.py:__init__", - "utils/ui_components.py:__init__" - ], - [ - "utils/system_management.py:__init__", - "utils/job_queue_system.py:__post_init__" - ], - [ - "utils/system_management.py:__init__", - "utils/data_management.py:__init__" - ], - [ - "utils/system_management.py:__init__", - "utils/ssl_suite.py:__init__" - ], - [ - "utils/system_management.py:__init__", - "utils/security_suite.py:__init__" - ], - [ - "utils/system_management.py:__init__", - "utils/drag_drop_system.py:__init__" - ], - [ - "utils/system_management.py:__init__", - "utils/database_suite.py:__init__" - ], - [ - "utils/system_management.py:__init__", - "utils/monitoring_analytics.py:__init__" - ], - [ - "utils/system_management.py:load_settings", - "utils/system_management.py:is_offline" - ], - [ - "utils/development_tools.py:__init__", - "utils/ui_components.py:__init__" - ], - [ - "utils/development_tools.py:__init__", - "utils/data_management.py:__init__" - ], - [ - "utils/development_tools.py:__init__", - "utils/ssl_manager.py:__init__" - ], - [ - "utils/development_tools.py:__init__", - "utils/ip_security.py:__init__" - ], - [ - "utils/development_tools.py:__init__", - "utils/ssl_suite.py:__init__" - ], - [ - "utils/development_tools.py:__init__", - "utils/drag_drop_system.py:__init__" - ], - [ - "utils/development_tools.py:__init__", - "utils/database_cleanup.py:__init__" - ], - [ - "utils/development_tools.py:__init__", - "utils/database_suite.py:__init__" - ], - [ - "utils/development_tools.py:__init__", - "utils/monitoring_analytics.py:__init__" - ], - [ - "utils/development_tools.py:run_all_tests", - "utils/development_tools.py:test_user_creation" - ], - [ - "utils/development_tools.py:test_database_connection", - "utils/hardware_integration.py:initialize_all_outlets" - ], - [ - "utils/development_tools.py:test_database_connection", - "utils/security_suite.py:generate_nonce" - ], - [ - "utils/development_tools.py:test_user_creation", - "utils/hardware_integration.py:auto_discover_outlets" - ], - [ - "utils/permissions.py:admin_required", - "utils/permissions.py:approver_required" - ], - [ - "utils/permissions.py:admin_required", - "legacy/app_original.py:admin_required" - ], - [ - "utils/permissions.py:ensure_admin_permissions", - "utils/permissions.py:get_user_permissions" - ], - [ - "utils/permissions.py:ensure_admin_permissions", - "legacy/app_original.py:load_user" - ], - [ - "utils/permissions.py:ensure_admin_permissions", - "legacy/app_original.py:get_user_api" - ], - [ - "utils/permissions.py:ensure_admin_permissions", - "legacy/app_original.py:update_user_api" - ], - [ - "utils/permissions.py:ensure_admin_permissions", - "legacy/app_original.py:admin_update_user_form" - ], - [ - "utils/permissions.py:ensure_admin_permissions", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "utils/permissions.py:can_approve_jobs", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "utils/permissions.py:get_user_permissions", - "legacy/app_original.py:get_user_api" - ], - [ - "utils/permissions.py:get_user_permissions", - "legacy/app_original.py:update_user_api" - ], - [ - "utils/permissions.py:get_user_permissions", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "utils/ui_components.py:format_datetime", - "legacy/app_original.py:format_datetime_filter" - ], - [ - "utils/ui_components.py:__init__", - "utils/data_management.py:__init__" - ], - [ - "utils/ui_components.py:__init__", - "utils/ssl_manager.py:__init__" - ], - [ - "utils/ui_components.py:__init__", - "utils/ip_security.py:__init__" - ], - [ - "utils/ui_components.py:__init__", - "utils/ssl_suite.py:__init__" - ], - [ - "utils/ui_components.py:__init__", - "utils/drag_drop_system.py:__init__" - ], - [ - "utils/ui_components.py:__init__", - "utils/database_cleanup.py:__init__" - ], - [ - "utils/ui_components.py:__init__", - "utils/database_suite.py:__init__" - ], - [ - "utils/ui_components.py:__init__", - "utils/monitoring_analytics.py:__init__" - ], - [ - "utils/ui_components.py:get_dashboard_data", - "utils/hardware_integration.py:check_and_control_for_jobs" - ], - [ - "utils/ui_components.py:get_dashboard_data", - "utils/job_scheduler.py:_check_and_start_jobs" - ], - [ - "utils/ui_components.py:get_dashboard_data", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "utils/ui_components.py:get_dashboard_data", - "utils/core_system.py:get_recovery_status" - ], - [ - "utils/ui_components.py:get_dashboard_data", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "utils/ui_components.py:get_dashboard_data", - "utils/monitoring_analytics.py:get_dashboard_data" - ], - [ - "utils/job_queue_system.py:get_queue_status", - "utils/job_scheduler.py:get_tasks" - ], - [ - "utils/job_queue_system.py:get_queue_status", - "utils/core_system.py:get_system_status" - ], - [ - "utils/job_queue_system.py:get_queue_status", - "utils/core_system.py:get_recovery_status" - ], - [ - "utils/job_queue_system.py:get_queue_status", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "utils/job_queue_system.py:get_queue_status", - "utils/monitoring_analytics.py:track_cpu_usage" - ], - [ - "utils/job_queue_system.py:__post_init__", - "utils/data_management.py:__init__" - ], - [ - "utils/job_queue_system.py:__post_init__", - "utils/ssl_suite.py:__init__" - ], - [ - "utils/job_queue_system.py:__post_init__", - "utils/database_suite.py:__init__" - ], - [ - "utils/job_queue_system.py:__init__", - "utils/ssl_manager.py:__init__" - ], - [ - "utils/job_queue_system.py:__init__", - "utils/hardware_integration.py:__init__" - ], - [ - "utils/job_queue_system.py:__init__", - "utils/ip_security.py:__init__" - ], - [ - "utils/job_queue_system.py:__init__", - "utils/database_cleanup.py:__init__" - ], - [ - "utils/job_queue_system.py:__init__", - "utils/job_scheduler.py:__init__" - ], - [ - "utils/job_queue_system.py:__init__", - "utils/core_system.py:__init__" - ], - [ - "utils/job_queue_system.py:__init__", - "utils/script_collection.py:__init__" - ], - [ - "utils/job_queue_system.py:get_next_job", - "utils/database_suite.py:get_connection" - ], - [ - "utils/job_queue_system.py:_timer_loop", - "utils/core_system.py:run_monitoring_cycle" - ], - [ - "utils/job_queue_system.py:_timer_loop", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "utils/job_queue_system.py:_timer_loop", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "utils/job_queue_system.py:_timer_loop", - "utils/script_collection.py:run_initial_setup" - ], - [ - "utils/job_queue_system.py:start_job_execution", - "utils/job_queue_system.py:finish_job_execution" - ], - [ - "utils/job_queue_system.py:_scheduler_loop", - "utils/data_management.py:ensure_directories" - ], - [ - "utils/job_queue_system.py:_scheduler_loop", - "utils/drag_drop_system.py:cleanup_invalid_orders" - ], - [ - "utils/job_queue_system.py:_scheduler_loop", - "utils/drag_drop_system.py:_schedule_cleanup" - ], - [ - "utils/job_queue_system.py:_scheduler_loop", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "utils/data_management.py:save_job_file", - "utils/data_management.py:save_temp_file" - ], - [ - "utils/data_management.py:save_guest_file", - "utils/data_management.py:save_asset_file" - ], - [ - "utils/data_management.py:save_guest_file", - "utils/data_management.py:save_log_file" - ], - [ - "utils/data_management.py:save_guest_file", - "utils/data_management.py:save_backup_file" - ], - [ - "utils/data_management.py:save_temp_file", - "utils/data_management.py:save_asset_file" - ], - [ - "utils/data_management.py:save_asset_file", - "utils/data_management.py:save_log_file" - ], - [ - "utils/data_management.py:save_asset_file", - "utils/data_management.py:save_backup_file" - ], - [ - "utils/data_management.py:save_log_file", - "utils/data_management.py:save_backup_file" - ], - [ - "utils/data_management.py:__init__", - "utils/ssl_suite.py:__init__" - ], - [ - "utils/data_management.py:__init__", - "utils/security_suite.py:__init__" - ], - [ - "utils/data_management.py:__init__", - "utils/drag_drop_system.py:__init__" - ], - [ - "utils/data_management.py:__init__", - "utils/database_suite.py:__init__" - ], - [ - "utils/data_management.py:__init__", - "utils/monitoring_analytics.py:__init__" - ], - [ - "utils/data_management.py:ensure_directories", - "utils/ssl_manager.py:generate_mercedes_certificate" - ], - [ - "utils/data_management.py:ensure_directories", - "utils/hardware_integration.py:force_network_refresh" - ], - [ - "utils/data_management.py:ensure_directories", - "utils/drag_drop_system.py:cleanup_invalid_orders" - ], - [ - "utils/data_management.py:ensure_directories", - "utils/database_cleanup.py:get_engine_count" - ], - [ - "utils/data_management.py:ensure_directories", - "utils/job_scheduler.py:_check_and_start_jobs" - ], - [ - "utils/data_management.py:ensure_directories", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "utils/data_management.py:ensure_directories", - "utils/core_system.py:get_recovery_status" - ], - [ - "utils/data_management.py:ensure_directories", - "utils/core_system.py:run_monitoring_cycle" - ], - [ - "utils/data_management.py:ensure_directories", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "utils/data_management.py:ensure_directories", - "utils/database_suite.py:get_connection" - ], - [ - "utils/data_management.py:ensure_directories", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "utils/data_management.py:ensure_directories", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "utils/data_management.py:ensure_directories", - "utils/script_collection.py:run_initial_setup" - ], - [ - "utils/data_management.py:_move_to_trash_windows", - "utils/data_management.py:_move_to_trash_unix" - ], - [ - "utils/ssl_manager.py:__init__", - "utils/ip_security.py:__init__" - ], - [ - "utils/ssl_manager.py:__init__", - "utils/drag_drop_system.py:__init__" - ], - [ - "utils/ssl_manager.py:__init__", - "utils/database_cleanup.py:__init__" - ], - [ - "utils/ssl_manager.py:__init__", - "utils/job_scheduler.py:__init__" - ], - [ - "utils/ssl_manager.py:__init__", - "utils/monitoring_analytics.py:__init__" - ], - [ - "utils/ssl_manager.py:__init__", - "utils/script_collection.py:__init__" - ], - [ - "utils/ssl_manager.py:generate_mercedes_certificate", - "utils/hardware_integration.py:get_printer_summary" - ], - [ - "utils/ssl_manager.py:generate_mercedes_certificate", - "utils/hardware_integration.py:check_and_control_for_jobs" - ], - [ - "utils/ssl_manager.py:generate_mercedes_certificate", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "utils/ssl_manager.py:generate_mercedes_certificate", - "utils/core_system.py:load_config" - ], - [ - "utils/ssl_manager.py:generate_mercedes_certificate", - "utils/core_system.py:run_monitoring_cycle" - ], - [ - "utils/ssl_manager.py:generate_mercedes_certificate", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "utils/ssl_manager.py:generate_mercedes_certificate", - "utils/database_suite.py:fix_database_immediate" - ], - [ - "utils/ssl_manager.py:generate_mercedes_certificate", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "utils/ssl_manager.py:generate_mercedes_certificate", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "utils/ssl_manager.py:generate_mercedes_certificate", - "utils/monitoring_analytics.py:get_system_metrics" - ], - [ - "utils/ssl_manager.py:generate_mercedes_certificate", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "utils/hardware_integration.py:__init__", - "utils/ip_security.py:__init__" - ], - [ - "utils/hardware_integration.py:__init__", - "utils/job_scheduler.py:__init__" - ], - [ - "utils/hardware_integration.py:__init__", - "utils/script_collection.py:__init__" - ], - [ - "utils/hardware_integration.py:initialize_all_outlets", - "utils/hardware_integration.py:get_all_outlet_status" - ], - [ - "utils/hardware_integration.py:initialize_all_outlets", - "utils/core_system.py:setup_logging" - ], - [ - "utils/hardware_integration.py:get_all_outlet_status", - "utils/ssl_suite.py:get_ssl_context" - ], - [ - "utils/hardware_integration.py:get_all_outlet_status", - "utils/core_system.py:setup_logging" - ], - [ - "utils/hardware_integration.py:get_all_outlet_status", - "utils/database_suite.py:get_all_tables" - ], - [ - "utils/hardware_integration.py:get_energy_statistics", - "utils/monitoring_analytics.py:track_memory_usage" - ], - [ - "utils/hardware_integration.py:get_energy_statistics", - "utils/monitoring_analytics.py:track_disk_usage" - ], - [ - "utils/hardware_integration.py:get_energy_statistics", - "utils/script_collection.py:run_all_tests" - ], - [ - "utils/hardware_integration.py:turn_off_outlet", - "utils/hardware_integration.py:turn_on_outlet" - ], - [ - "utils/hardware_integration.py:get_printer_summary", - "utils/ip_security.py:get_allowed_plug_ips" - ], - [ - "utils/hardware_integration.py:get_printer_summary", - "utils/drag_drop_system.py:get_printer_summary" - ], - [ - "utils/hardware_integration.py:get_printer_summary", - "utils/job_scheduler.py:is_running" - ], - [ - "utils/hardware_integration.py:get_printer_summary", - "utils/core_system.py:get_system_status" - ], - [ - "utils/hardware_integration.py:get_printer_summary", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "utils/hardware_integration.py:get_printer_summary", - "utils/core_system.py:get_recovery_status" - ], - [ - "utils/hardware_integration.py:get_printer_summary", - "utils/core_system.py:run_monitoring_cycle" - ], - [ - "utils/hardware_integration.py:get_printer_summary", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "utils/hardware_integration.py:get_printer_summary", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "utils/hardware_integration.py:get_printer_summary", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "utils/hardware_integration.py:get_printer_summary", - "utils/monitoring_analytics.py:track_cpu_usage" - ], - [ - "utils/hardware_integration.py:get_printer_summary", - "utils/monitoring_analytics.py:get_system_metrics" - ], - [ - "utils/hardware_integration.py:get_printer_summary", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "utils/hardware_integration.py:get_printer_summary", - "utils/script_collection.py:run_initial_setup" - ], - [ - "utils/hardware_integration.py:check_and_control_for_jobs", - "utils/hardware_integration.py:force_network_refresh" - ], - [ - "utils/hardware_integration.py:check_and_control_for_jobs", - "utils/ssl_suite.py:check_certificate_validity" - ], - [ - "utils/hardware_integration.py:check_and_control_for_jobs", - "utils/job_scheduler.py:_check_and_start_jobs" - ], - [ - "utils/hardware_integration.py:check_and_control_for_jobs", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "utils/hardware_integration.py:check_and_control_for_jobs", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "utils/hardware_integration.py:check_and_control_for_jobs", - "utils/monitoring_analytics.py:collect_job_analytics" - ], - [ - "utils/hardware_integration.py:check_and_control_for_jobs", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "utils/hardware_integration.py:check_and_control_for_jobs", - "utils/monitoring_analytics.py:get_dashboard_data" - ], - [ - "utils/hardware_integration.py:get_session_status", - "utils/hardware_integration.py:_create_fresh_session_status" - ], - [ - "utils/hardware_integration.py:clear_session_cache", - "utils/drag_drop_system.py:cleanup_session" - ], - [ - "utils/hardware_integration.py:force_network_refresh", - "utils/job_scheduler.py:_check_and_start_jobs" - ], - [ - "utils/hardware_integration.py:force_network_refresh", - "utils/core_system.py:check_https_connectivity" - ], - [ - "utils/hardware_integration.py:force_network_refresh", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "utils/ip_security.py:require_plug_ip_access", - "utils/ip_security.py:require_admin_ip_access" - ], - [ - "utils/ip_security.py:get_allowed_plug_ips", - "utils/drag_drop_system.py:cleanup_invalid_orders" - ], - [ - "utils/ip_security.py:get_allowed_plug_ips", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "utils/ip_security.py:get_allowed_plug_ips", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "utils/ip_security.py:get_allowed_plug_ips", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "utils/ip_security.py:get_allowed_plug_ips", - "utils/script_collection.py:run_initial_setup" - ], - [ - "utils/ip_security.py:__init__", - "utils/drag_drop_system.py:__init__" - ], - [ - "utils/ip_security.py:__init__", - "utils/database_cleanup.py:__init__" - ], - [ - "utils/ip_security.py:__init__", - "utils/job_scheduler.py:__init__" - ], - [ - "utils/ip_security.py:__init__", - "utils/monitoring_analytics.py:__init__" - ], - [ - "utils/ip_security.py:__init__", - "utils/script_collection.py:__init__" - ], - [ - "utils/ip_security.py:get_client_ip", - "utils/ssl_suite.py:get_ssl_context" - ], - [ - "utils/ip_security.py:get_client_ip", - "utils/core_system.py:setup_logging" - ], - [ - "utils/ssl_suite.py:__init__", - "utils/security_suite.py:__init__" - ], - [ - "utils/ssl_suite.py:__init__", - "utils/drag_drop_system.py:__init__" - ], - [ - "utils/ssl_suite.py:__init__", - "utils/database_suite.py:__init__" - ], - [ - "utils/ssl_suite.py:__init__", - "utils/monitoring_analytics.py:__init__" - ], - [ - "utils/ssl_suite.py:check_certificate_validity", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "utils/api_utils.py:is_valid_response", - "utils/api_utils.py:normalize_response" - ], - [ - "utils/security_suite.py:__init__", - "utils/database_suite.py:__init__" - ], - [ - "utils/drag_drop_system.py:__init__", - "utils/database_cleanup.py:__init__" - ], - [ - "utils/drag_drop_system.py:__init__", - "utils/database_suite.py:__init__" - ], - [ - "utils/drag_drop_system.py:__init__", - "utils/monitoring_analytics.py:__init__" - ], - [ - "utils/drag_drop_system.py:get_job_order", - "utils/drag_drop_system.py:get_ordered_jobs_for_printer" - ], - [ - "utils/drag_drop_system.py:cleanup_invalid_orders", - "utils/drag_drop_system.py:_schedule_cleanup" - ], - [ - "utils/drag_drop_system.py:cleanup_invalid_orders", - "utils/database_cleanup.py:cleanup_all" - ], - [ - "utils/drag_drop_system.py:cleanup_invalid_orders", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "utils/drag_drop_system.py:cleanup_invalid_orders", - "utils/core_system.py:get_recovery_status" - ], - [ - "utils/drag_drop_system.py:cleanup_invalid_orders", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "utils/drag_drop_system.py:cleanup_invalid_orders", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "utils/drag_drop_system.py:cleanup_invalid_orders", - "utils/script_collection.py:run_initial_setup" - ], - [ - "utils/drag_drop_system.py:_schedule_cleanup", - "utils/database_cleanup.py:cleanup_all" - ], - [ - "utils/drag_drop_system.py:_schedule_cleanup", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "utils/drag_drop_system.py:_schedule_cleanup", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "utils/drag_drop_system.py:_schedule_cleanup", - "utils/database_suite.py:backup_database" - ], - [ - "utils/drag_drop_system.py:_schedule_cleanup", - "utils/script_collection.py:run_initial_setup" - ], - [ - "utils/database_cleanup.py:__init__", - "utils/job_scheduler.py:__init__" - ], - [ - "utils/database_cleanup.py:__init__", - "utils/monitoring_analytics.py:__init__" - ], - [ - "utils/database_cleanup.py:__init__", - "utils/script_collection.py:__init__" - ], - [ - "utils/database_cleanup.py:cleanup_all", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "utils/database_cleanup.py:cleanup_all", - "utils/script_collection.py:run_initial_setup" - ], - [ - "utils/database_cleanup.py:get_engine_count", - "utils/core_system.py:run_monitoring_cycle" - ], - [ - "utils/database_cleanup.py:get_engine_count", - "utils/database_suite.py:get_connection" - ], - [ - "utils/database_cleanup.py:get_engine_count", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "utils/database_cleanup.py:get_engine_count", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "utils/job_scheduler.py:__init__", - "utils/core_system.py:__init__" - ], - [ - "utils/job_scheduler.py:__init__", - "utils/script_collection.py:__init__" - ], - [ - "utils/job_scheduler.py:get_tasks", - "utils/core_system.py:get_system_status" - ], - [ - "utils/job_scheduler.py:get_tasks", - "utils/monitoring_analytics.py:track_cpu_usage" - ], - [ - "utils/job_scheduler.py:is_running", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "utils/job_scheduler.py:_run", - "utils/core_system.py:run" - ], - [ - "utils/job_scheduler.py:_check_and_start_jobs", - "utils/core_system.py:_register_signal_handlers" - ], - [ - "utils/job_scheduler.py:_check_and_start_jobs", - "utils/database_suite.py:backup_database" - ], - [ - "utils/job_scheduler.py:_check_and_start_jobs", - "utils/monitoring_analytics.py:collect_job_analytics" - ], - [ - "utils/job_scheduler.py:_check_and_start_jobs", - "utils/monitoring_analytics.py:get_dashboard_data" - ], - [ - "utils/core_system.py:restart_system_service", - "utils/core_system.py:is_service_active" - ], - [ - "utils/core_system.py:get_system_status", - "utils/core_system.py:get_recovery_status" - ], - [ - "utils/core_system.py:get_system_status", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "utils/core_system.py:get_system_status", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "utils/core_system.py:get_system_status", - "utils/database_suite.py:vacuum_database" - ], - [ - "utils/core_system.py:get_system_status", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "utils/core_system.py:get_system_status", - "utils/monitoring_analytics.py:track_cpu_usage" - ], - [ - "utils/core_system.py:get_system_status", - "utils/monitoring_analytics.py:get_system_metrics" - ], - [ - "utils/core_system.py:__init__", - "utils/script_collection.py:__init__" - ], - [ - "utils/core_system.py:_register_signal_handlers", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "utils/core_system.py:_register_signal_handlers", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "utils/core_system.py:_register_signal_handlers", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "utils/core_system.py:_register_signal_handlers", - "utils/monitoring_analytics.py:get_dashboard_data" - ], - [ - "utils/core_system.py:_register_signal_handlers", - "utils/script_collection.py:run_initial_setup" - ], - [ - "utils/core_system.py:shutdown_all", - "utils/script_collection.py:run_all_tests" - ], - [ - "utils/core_system.py:get_recovery_status", - "utils/core_system.py:run_monitoring_cycle" - ], - [ - "utils/core_system.py:get_recovery_status", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "utils/core_system.py:get_recovery_status", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "utils/core_system.py:get_recovery_status", - "utils/database_suite.py:vacuum_database" - ], - [ - "utils/core_system.py:get_recovery_status", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "utils/core_system.py:get_recovery_status", - "utils/monitoring_analytics.py:track_cpu_usage" - ], - [ - "utils/core_system.py:get_recovery_status", - "utils/monitoring_analytics.py:track_memory_usage" - ], - [ - "utils/core_system.py:get_recovery_status", - "utils/monitoring_analytics.py:get_system_metrics" - ], - [ - "utils/core_system.py:get_recovery_status", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "utils/core_system.py:get_recovery_status", - "utils/monitoring_analytics.py:get_dashboard_data" - ], - [ - "utils/core_system.py:load_config", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "utils/core_system.py:check_https_connectivity", - "utils/monitoring_analytics.py:collect_job_analytics" - ], - [ - "utils/core_system.py:check_https_connectivity", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "utils/core_system.py:run_monitoring_cycle", - "utils/core_system.py:cleanup_system_resources" - ], - [ - "utils/core_system.py:run_monitoring_cycle", - "utils/database_suite.py:get_connection" - ], - [ - "utils/core_system.py:run_monitoring_cycle", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "utils/core_system.py:run_monitoring_cycle", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "utils/core_system.py:run_monitoring_cycle", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "utils/core_system.py:run_monitoring_cycle", - "utils/monitoring_analytics.py:get_system_metrics" - ], - [ - "utils/core_system.py:run_monitoring_cycle", - "utils/monitoring_analytics.py:collect_job_analytics" - ], - [ - "utils/core_system.py:run_monitoring_cycle", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "utils/core_system.py:cleanup_system_resources", - "utils/database_suite.py:migrate_user_settings" - ], - [ - "utils/core_system.py:cleanup_system_resources", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "utils/core_system.py:cleanup_system_resources", - "utils/monitoring_analytics.py:track_cpu_usage" - ], - [ - "utils/core_system.py:cleanup_system_resources", - "utils/monitoring_analytics.py:collect_job_analytics" - ], - [ - "utils/core_system.py:cleanup_system_resources", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "utils/core_system.py:cleanup_system_resources", - "utils/script_collection.py:run_initial_setup" - ], - [ - "utils/database_suite.py:backup_database", - "utils/database_suite.py:vacuum_database" - ], - [ - "utils/database_suite.py:backup_database", - "utils/monitoring_analytics.py:track_cpu_usage" - ], - [ - "utils/database_suite.py:__init__", - "utils/monitoring_analytics.py:__init__" - ], - [ - "utils/database_suite.py:get_connection", - "utils/logging_config.py:_create_new_log_file" - ], - [ - "utils/database_suite.py:migrate_user_settings", - "utils/monitoring_analytics.py:generate_system_report" - ], - [ - "utils/database_suite.py:migrate_user_settings", - "utils/monitoring_analytics.py:track_cpu_usage" - ], - [ - "utils/database_suite.py:migrate_user_settings", - "utils/monitoring_analytics.py:get_system_metrics" - ], - [ - "utils/database_suite.py:migrate_user_settings", - "utils/script_collection.py:run_initial_setup" - ], - [ - "utils/database_suite.py:fix_database_immediate", - "utils/database_suite.py:vacuum_database" - ], - [ - "utils/logging_config.py:_create_new_log_file", - "utils/monitoring_analytics.py:collect_job_analytics" - ], - [ - "utils/logging_config.py:_create_new_log_file", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "utils/monitoring_analytics.py:generate_system_report", - "utils/monitoring_analytics.py:track_cpu_usage" - ], - [ - "utils/monitoring_analytics.py:generate_system_report", - "utils/monitoring_analytics.py:get_system_metrics" - ], - [ - "utils/monitoring_analytics.py:generate_system_report", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "utils/monitoring_analytics.py:generate_system_report", - "utils/monitoring_analytics.py:get_dashboard_data" - ], - [ - "utils/monitoring_analytics.py:generate_system_report", - "utils/script_collection.py:run_initial_setup" - ], - [ - "utils/monitoring_analytics.py:track_cpu_usage", - "utils/monitoring_analytics.py:track_disk_usage" - ], - [ - "utils/monitoring_analytics.py:track_cpu_usage", - "utils/script_collection.py:run_initial_setup" - ], - [ - "utils/monitoring_analytics.py:track_memory_usage", - "utils/monitoring_analytics.py:track_disk_usage" - ], - [ - "utils/monitoring_analytics.py:get_system_metrics", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "utils/monitoring_analytics.py:collect_job_analytics", - "utils/monitoring_analytics.py:collect_printer_analytics" - ], - [ - "utils/monitoring_analytics.py:collect_printer_analytics", - "utils/script_collection.py:run_initial_setup" - ], - [ - "utils/script_collection.py:run_all_tests", - "utils/script_collection.py:run_initial_setup" - ], - [ - "legacy/app_original.py:clear_user_cache", - "legacy/app_original.py:load_user" - ], - [ - "legacy/app_original.py:clear_user_cache", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "legacy/app_original.py:load_user", - "legacy/app_original.py:update_user_api" - ], - [ - "legacy/app_original.py:load_user", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "legacy/app_original.py:job_owner_required", - "legacy/app_original.py:admin_required" - ], - [ - "legacy/app_original.py:admin_printer_settings_page", - "legacy/app_original.py:admin_edit_printer_page" - ], - [ - "legacy/app_original.py:get_user_api", - "legacy/app_original.py:update_user_api" - ], - [ - "legacy/app_original.py:get_user_api", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "legacy/app_original.py:update_user_api", - "legacy/app_original.py:get_user_locations_api" - ], - [ - "legacy/app_original.py:test_printer_tapo_connection", - "legacy/app_original.py:admin_edit_printer_page" - ], - [ - "legacy/app_original.py:test_printer_tapo_connection", - "legacy/app_original.py:get_job_order_api" - ], - [ - "legacy/app_original.py:admin_edit_printer_page", - "legacy/app_original.py:get_job_order_api" - ], - [ - "legacy/app_original.py:admin_edit_user_page", - "legacy/app_original.py:admin_update_user_form" - ], - [ - "legacy/app_original.py:serve_uploaded_file", - "legacy/app_original.py:delete_uploaded_file" - ], - [ - "legacy/app_original.py:get_job_detail", - "legacy/app_original.py:delete_job" - ], - [ - "legacy/app_original.py:get_job_detail", - "legacy/app_original.py:update_job" - ], - [ - "legacy/app_original.py:delete_job", - "legacy/app_original.py:update_job" - ], - [ - "legacy/app_original.py:approve_guest_request", - "legacy/app_original.py:reject_guest_request" - ], - [ - "legacy/app_original.py:approve_guest_request", - "legacy/app_original.py:delete_guest_request" - ], - [ - "legacy/app_original.py:approve_guest_request", - "legacy/app_original.py:get_guest_request_detail" - ], - [ - "legacy/app_original.py:reject_guest_request", - "legacy/app_original.py:delete_guest_request" - ], - [ - "legacy/app_original.py:reject_guest_request", - "legacy/app_original.py:get_guest_request_detail" - ], - [ - "legacy/app_original.py:delete_guest_request", - "legacy/app_original.py:get_guest_request_detail" - ], - [ - "legacy/app_original.py:apply_round_robin_optimization", - "legacy/app_original.py:apply_load_balance_optimization" - ], - [ - "legacy/app_original.py:apply_round_robin_optimization", - "legacy/app_original.py:apply_priority_optimization" - ], - [ - "legacy/app_original.py:apply_load_balance_optimization", - "legacy/app_original.py:apply_priority_optimization" - ], - [ - "legacy/app_original.py:get_status_icon", - "legacy/app_original.py:get_status_color" - ] - ] - }, - { - "type": "helper_removal", - "description": "Entfernen Sie 543 ungenutzte Hilfsfunktionen", - "functions": [ - "models.py:maintenance_worker", - "models.py:is_admin", - "models.py:has_role", - "models.py:get_initials", - "models.py:display_name", - "models.py:is_active", - "models.py:get_id", - "models.py:get_by_username_or_email", - "models.py:get_permission_level", - "models.py:get_all_cached", - "models.py:get_online_printers", - "models.py:get_active_jobs", - "models.py:get_user_jobs", - "models.py:is_otp_valid", - "models.py:get_otp_status", - "models.py:pause_timer", - "models.py:stop_timer", - "models.py:reset_timer", - "models.py:extend_timer", - "models.py:update_activity", - "models.py:get_by_name", - "models.py:get_by_type", - "models.py:get_running_timers", - "models.py:cleanup_expired_timers", - "models.py:create_kiosk_timer", - "models.py:get_printer_history", - "models.py:get_all_recent_logs", - "simple_form_tester.py:handle_starttag", - "simple_form_tester.py:handle_endtag", - "test_flask_minimal.py:hello", - "test_flask_minimal.py:health", - "form_test_automator.py:_generate_email", - "form_test_automator.py:_generate_password", - "form_test_automator.py:_generate_phone", - "form_test_automator.py:_generate_url", - "form_test_automator.py:_generate_datetime", - "form_test_automator.py:_generate_range", - "form_test_automator.py:_generate_color", - "form_test_automator.py:_generate_text", - "app.py:aggressive_shutdown_handler", - "app.py:load_user", - "app.py:inject_now", - "app.py:inject_current_route", - "app.py:format_datetime_filter", - "app.py:is_optimized_mode", - "app.py:log_request_info", - "app.py:log_response_info", - "app.py:minimize_session_cookie", - "app.py:check_session_activity", - "app.py:dashboard", - "app.py:csrf_test_page", - "app.py:csrf_test_api", - "app.py:admin", - "app.py:printers_page", - "app.py:printer_control", - "app.py:jobs_page", - "app.py:new_job_page", - "app.py:stats_page", - "app.py:service_worker", - "app.py:api_start_job", - "app.py:api_pause_job", - "app.py:api_resume_job", - "app.py:api_finish_job", - "app.py:api_get_printers", - "app.py:api_get_printer_status", - "app.py:api_health_check", - "app.py:api_version", - "app.py:api_stats", - "app.py:privacy", - "app.py:terms", - "app.py:imprint", - "app.py:legal", - "app.py:bad_request_error", - "app.py:unauthorized_error", - "app.py:forbidden_error", - "app.py:not_found_error", - "app.py:method_not_allowed_error", - "app.py:payload_too_large_error", - "app.py:rate_limit_error", - "app.py:bad_gateway_error", - "app.py:service_unavailable_error", - "app.py:http_version_not_supported_error", - "app.py:production_info", - "app.py:get_minimal_session_data", - "app.py:cleanup_expired_sessions", - "tests/test_tapo_integration.py:test_error_handling_unreachable_plugs", - "tests/test_tapo_integration.py:test_admin_dashboard_printer_overview", - "config/settings.py:get_log_file", - "config/settings.py:ensure_log_directories", - "config/settings.py:ensure_upload_directory", - "config/__init__.py:get_config", - "config/__init__.py:validate_config", - "config/app_config.py:get_config_by_name", - "config/security.py:get_security_headers", - "config/security.py:get_headers", - "config/security.py:get_rate_limits", - "config/security.py:get_session_config", - "config/security.py:get_csrf_config", - "blueprints/jobs.py:job_owner_required", - "blueprints/jobs.py:get_jobs", - "blueprints/jobs.py:get_job", - "blueprints/jobs.py:create_job", - "blueprints/jobs.py:update_job", - "blueprints/jobs.py:delete_job", - "blueprints/jobs.py:get_active_jobs", - "blueprints/jobs.py:get_current_job", - "blueprints/jobs.py:get_recent_jobs", - "blueprints/jobs.py:decorated_function", - "blueprints/guest.py:guest_request_form", - "blueprints/guest.py:guest_start_public", - "blueprints/guest.py:guest_job_status", - "blueprints/guest.py:guest_requests_overview", - "blueprints/guest.py:guest_request_status", - "blueprints/guest.py:guest_requests_by_email", - "blueprints/guest.py:api_start_job_with_code", - "blueprints/guest.py:api_get_guest_request", - "blueprints/guest.py:api_get_guest_job_status", - "blueprints/guest.py:api_get_notifications", - "blueprints/guest.py:api_mark_notification_read", - "blueprints/guest.py:api_get_all_requests", - "blueprints/guest.py:api_get_request_details", - "blueprints/guest.py:api_update_request", - "blueprints/guest.py:api_delete_request", - "blueprints/guest.py:admin_requests_management", - "blueprints/guest.py:api_approve_request", - "blueprints/guest.py:api_deny_request", - "blueprints/guest.py:api_get_request_otp", - "blueprints/guest.py:api_guest_status_by_otp", - "blueprints/guest.py:guest_status_check_page", - "blueprints/uploads.py:admin_required", - "blueprints/uploads.py:upload_job_file", - "blueprints/uploads.py:upload_guest_file", - "blueprints/uploads.py:upload_avatar", - "blueprints/uploads.py:upload_asset", - "blueprints/uploads.py:upload_log", - "blueprints/uploads.py:upload_backup", - "blueprints/uploads.py:upload_temp_file", - "blueprints/uploads.py:serve_uploaded_file", - "blueprints/uploads.py:delete_uploaded_file", - "blueprints/uploads.py:get_file_stats", - "blueprints/uploads.py:decorated_function", - "blueprints/legal_pages.py:imprint", - "blueprints/legal_pages.py:privacy", - "blueprints/legal_pages.py:terms", - "blueprints/legal_pages.py:legal", - "blueprints/legal_pages.py:system_info", - "blueprints/printers.py:force_refresh_all_printer_status", - "blueprints/printers.py:test_socket_status", - "blueprints/printers.py:test_all_sockets_status", - "blueprints/printers.py:get_printer_job_summary", - "blueprints/printers.py:cleanup_job_orders", - "blueprints/printers.py:get_drag_drop_config", - "blueprints/printers.py:mass_tapo_status_check", - "blueprints/printers.py:tapo_configuration_wizard", - "blueprints/printers.py:connect_printer", - "blueprints/printers.py:validate_tapo_configuration", - "blueprints/auth.py:logout", - "blueprints/auth.py:reset_password_request", - "blueprints/auth.py:api_login", - "blueprints/auth.py:api_callback", - "blueprints/tapo_control.py:tapo_dashboard", - "blueprints/tapo_control.py:control_outlet", - "blueprints/tapo_control.py:get_outlet_status", - "blueprints/tapo_control.py:discover_outlets", - "blueprints/tapo_control.py:get_all_status", - "blueprints/tapo_control.py:manual_control", - "blueprints/tapo_control.py:control_outlet_form", - "blueprints/tapo_control.py:test_connection_form", - "blueprints/calendar.py:calendar_view", - "blueprints/calendar.py:api_get_calendar_events_alt", - "blueprints/calendar.py:api_create_calendar_event", - "blueprints/calendar.py:api_update_calendar_event", - "blueprints/calendar.py:api_delete_calendar_event", - "blueprints/calendar.py:api_get_smart_recommendation", - "blueprints/calendar.py:api_export_calendar", - "blueprints/calendar.py:api_check_conflicts", - "blueprints/calendar.py:api_resolve_conflicts", - "blueprints/calendar.py:api_calendar_statistics", - "blueprints/calendar.py:api_printer_availability", - "blueprints/api.py:ws_fallback", - "blueprints/api.py:get_notifications", - "blueprints/api.py:mark_notification_read", - "blueprints/api.py:mark_all_notifications_read", - "blueprints/api.py:system_status", - "blueprints/api.py:heartbeat", - "blueprints/api.py:session_status", - "blueprints/api.py:session_heartbeat", - "blueprints/api.py:extend_session", - "blueprints/api.py:get_stats", - "blueprints/api.py:get_system_health", - "blueprints/api.py:get_error_recovery_status", - "blueprints/api.py:fix_admin_permissions", - "blueprints/api_simple.py:list_outlets", - "blueprints/api_simple.py:get_outlet_status_api", - "blueprints/api_simple.py:control_outlet_api", - "blueprints/api_simple.py:get_all_status_api", - "blueprints/api_simple.py:health_check", - "blueprints/energy_monitoring.py:energy_dashboard", - "blueprints/energy_monitoring.py:device_details", - "blueprints/energy_monitoring.py:api_energy_dashboard", - "blueprints/energy_monitoring.py:api_device_energy_data", - "blueprints/energy_monitoring.py:api_energy_statistics", - "blueprints/energy_monitoring.py:api_live_energy_data", - "blueprints/energy_monitoring.py:get_energy_monitoring", - "blueprints/kiosk.py:get_status", - "blueprints/kiosk.py:deactivate", - "blueprints/kiosk.py:activate", - "blueprints/kiosk.py:restart_system", - "blueprints/kiosk.py:delayed_restart", - "blueprints/sessions.py:heartbeat", - "blueprints/admin_unified.py:admin_required", - "blueprints/admin_unified.py:admin_plug_schedules", - "blueprints/admin_unified.py:users_overview", - "blueprints/admin_unified.py:add_user_page", - "blueprints/admin_unified.py:edit_user_page", - "blueprints/admin_unified.py:printers_overview", - "blueprints/admin_unified.py:add_printer_page", - "blueprints/admin_unified.py:edit_printer_page", - "blueprints/admin_unified.py:guest_requests", - "blueprints/admin_unified.py:requests_overview", - "blueprints/admin_unified.py:advanced_settings", - "blueprints/admin_unified.py:system_health", - "blueprints/admin_unified.py:logs_overview", - "blueprints/admin_unified.py:maintenance", - "blueprints/admin_unified.py:create_user_api", - "blueprints/admin_unified.py:get_user_api", - "blueprints/admin_unified.py:update_user_api", - "blueprints/admin_unified.py:delete_user_api", - "blueprints/admin_unified.py:delete_printer_api", - "blueprints/admin_unified.py:toggle_printer_power", - "blueprints/admin_unified.py:optimize_database", - "blueprints/admin_unified.py:get_logs_api", - "blueprints/admin_unified.py:export_logs_api", - "blueprints/admin_unified.py:get_guest_requests_api", - "blueprints/admin_unified.py:generate_guest_otp_api", - "blueprints/admin_unified.py:print_guest_credentials_api", - "blueprints/admin_unified.py:get_pending_guest_otps_api", - "blueprints/admin_unified.py:approve_guest_request_api", - "blueprints/admin_unified.py:reject_guest_request_api", - "blueprints/admin_unified.py:guest_otps_management", - "blueprints/admin_unified.py:get_system_status_api", - "blueprints/admin_unified.py:create_sample_logs_api", - "blueprints/admin_unified.py:api_admin_plug_schedules_logs", - "blueprints/admin_unified.py:api_admin_plug_schedules_statistics", - "blueprints/admin_unified.py:api_admin_plug_schedules_cleanup", - "blueprints/admin_unified.py:api_admin_plug_schedules_calendar", - "blueprints/admin_unified.py:api_admin_live_stats", - "blueprints/admin_unified.py:api_admin_system_health_alias", - "blueprints/admin_unified.py:api_admin_error_recovery_status", - "blueprints/admin_unified.py:create_backup_api", - "blueprints/admin_unified.py:optimize_database_api", - "blueprints/admin_unified.py:clear_cache_api", - "blueprints/admin_unified.py:tapo_monitoring", - "blueprints/admin_unified.py:api_admin_bulk_tapo_control", - "blueprints/admin_unified.py:api_admin_tapo_health_check", - "blueprints/admin_unified.py:api_admin_configure_printer_tapo", - "blueprints/user_management.py:users_admin_required", - "blueprints/user_management.py:user_profile", - "blueprints/user_management.py:user_settings", - "blueprints/user_management.py:update_profile_form", - "blueprints/user_management.py:update_profile_api", - "blueprints/user_management.py:user_settings_api", - "blueprints/user_management.py:update_settings_api", - "blueprints/user_management.py:update_settings_form", - "blueprints/user_management.py:change_password", - "blueprints/user_management.py:export_user_data", - "blueprints/user_management.py:user_permissions_page", - "blueprints/user_management.py:get_user_permissions_api", - "blueprints/user_management.py:update_user_permissions_api", - "blueprints/user_management.py:update_user_permissions_form", - "blueprints/user_management.py:edit_user_permissions_section", - "blueprints/user_management.py:get_user_details_api", - "utils/utilities_collection.py:send_email", - "utils/utilities_collection.py:add_printers", - "utils/utilities_collection.py:run_maintenance", - "utils/utilities_collection.py:apply_quick_fixes", - "utils/utilities_collection.py:get_all", - "utils/utilities_collection.py:get_offline_message", - "utils/utilities_collection.py:optimize_frontend", - "utils/utilities_collection.py:update_requirements", - "utils/system_management.py:load_settings", - "utils/development_tools.py:run_debug_checks", - "utils/development_tools.py:run_system_tests", - "utils/development_tools.py:setup_test_environment", - "utils/development_tools.py:cleanup_test_environment", - "utils/development_tools.py:debug_drucker_erkennung", - "utils/development_tools.py:debug_login", - "utils/development_tools.py:debug_guest_requests", - "utils/development_tools.py:test_system_functionality", - "utils/development_tools.py:test_tapo_sofort", - "utils/development_tools.py:test_database_connection", - "utils/permissions.py:admin_required", - "utils/permissions.py:approver_required", - "utils/permissions.py:get_user_permissions", - "utils/permissions.py:decorated_function", - "utils/ui_components.py:validate_form_field", - "utils/ui_components.py:create_data_table", - "utils/ui_components.py:create_upload_zone", - "utils/ui_components.py:get_dashboard_stats", - "utils/ui_components.py:init_template_helpers", - "utils/ui_components.py:add_rule", - "utils/ui_components.py:handle_upload", - "utils/ui_components.py:subscribe", - "utils/ui_components.py:unsubscribe", - "utils/ui_components.py:broadcast_update", - "utils/job_queue_system.py:schedule_print_job", - "utils/job_queue_system.py:check_scheduling_conflict", - "utils/job_queue_system.py:resolve_conflict", - "utils/job_queue_system.py:_timer_loop", - "utils/job_queue_system.py:_scheduler_loop", - "utils/job_queue_system.py:add_to_queue", - "utils/job_queue_system.py:check_conflicts", - "utils/job_queue_system.py:schedule_task", - "utils/data_management.py:send2trash", - "utils/settings.py:get_log_file", - "utils/settings.py:ensure_log_directories", - "utils/settings.py:ensure_upload_directory", - "utils/hardware_integration.py:initialize_all_outlets", - "utils/hardware_integration.py:get_all_outlet_status", - "utils/hardware_integration.py:turn_off_outlet", - "utils/hardware_integration.py:turn_on_outlet", - "utils/hardware_integration.py:check_and_control_for_jobs", - "utils/hardware_integration.py:get_session_status", - "utils/hardware_integration.py:update_session_status", - "utils/ip_security.py:require_plug_ip_access", - "utils/ip_security.py:require_admin_ip_access", - "utils/ip_security.py:is_ip_blocked", - "utils/ip_security.py:wrapper", - "utils/ssl_suite.py:get_ssl_status", - "utils/ssl_suite.py:apply_ssl_fixes", - "utils/ssl_suite.py:get_ssl_config", - "utils/ssl_suite.py:manage_ssl_certificates", - "utils/api_utils.py:validate_printer_data", - "utils/api_utils.py:normalize_response", - "utils/security_suite.py:get_security_manager", - "utils/security_suite.py:csp_nonce", - "utils/security_suite.py:decorator", - "utils/security_suite.py:before_request_security", - "utils/security_suite.py:after_request_security", - "utils/security_suite.py:wrapper", - "utils/drag_drop_system.py:add_file_to_session", - "utils/drag_drop_system.py:update_file_progress", - "utils/drag_drop_system.py:cleanup_session", - "utils/drag_drop_system.py:remove_job_from_order", - "utils/drag_drop_system.py:cleanup_worker", - "utils/database_cleanup.py:cleanup_all", - "utils/database_cleanup.py:get_engine_count", - "utils/audit_logger.py:log_admin_action", - "utils/audit_logger.py:log_security_event", - "utils/audit_logger.py:log_audit_event", - "utils/job_scheduler.py:remove_task", - "utils/job_scheduler.py:get_task_info", - "utils/job_scheduler.py:_run", - "utils/job_scheduler.py:_check_jobs", - "utils/job_scheduler.py:handle_immediate_job", - "utils/job_scheduler.py:check_and_manage_printer_power", - "utils/job_scheduler.py:_check_and_start_jobs", - "utils/core_system.py:safe_subprocess_run", - "utils/core_system.py:_signal_handler", - "utils/core_system.py:cancel_timeout", - "utils/core_system.py:start_watchdog", - "utils/core_system.py:timeout_handler", - "utils/core_system.py:windows_bind_with_reuse", - "utils/database_suite.py:get_database_stats", - "utils/database_suite.py:get_db_connection", - "utils/database_suite.py:run_migrations", - "utils/database_suite.py:clean_database", - "utils/logging_config.py:emergency_log", - "utils/logging_config.py:decorator", - "utils/logging_config.py:wrapper", - "utils/monitoring_analytics.py:get_system_performance", - "utils/monitoring_analytics.py:get_job_statistics", - "utils/monitoring_analytics.py:get_printer_statistics", - "utils/monitoring_analytics.py:get_health_check", - "utils/monitoring_analytics.py:collect_analytics_data", - "utils/monitoring_analytics.py:track_performance", - "utils/monitoring_analytics.py:create_pdf_report", - "utils/monitoring_analytics.py:generate_usage_report", - "utils/ip_validation.py:check_ip_conflicts", - "utils/script_collection.py:setup_system", - "utils/script_collection.py:test_tapo_sofort", - "utils/script_collection.py:migrate_database", - "utils/script_collection.py:create_test_printers", - "utils/script_collection.py:update_requirements", - "legacy/app_original.py:csrf_error", - "legacy/app_original.py:load_user", - "legacy/app_original.py:inject_now", - "legacy/app_original.py:format_datetime_filter", - "legacy/app_original.py:is_optimized_mode", - "legacy/app_original.py:get_optimization_info", - "legacy/app_original.py:log_request_info", - "legacy/app_original.py:log_response_info", - "legacy/app_original.py:job_owner_required", - "legacy/app_original.py:admin_required", - "legacy/app_original.py:reset_password_request", - "legacy/app_original.py:api_login", - "legacy/app_original.py:api_callback", - "legacy/app_original.py:kiosk_get_status", - "legacy/app_original.py:kiosk_deactivate", - "legacy/app_original.py:kiosk_activate", - "legacy/app_original.py:kiosk_restart_system", - "legacy/app_original.py:api_admin_system_restart", - "legacy/app_original.py:api_admin_system_shutdown", - "legacy/app_original.py:api_admin_kiosk_restart", - "legacy/app_original.py:api_admin_system_status_extended", - "legacy/app_original.py:api_admin_system_operations", - "legacy/app_original.py:api_admin_cancel_operation", - "legacy/app_original.py:api_admin_error_recovery_status", - "legacy/app_original.py:api_admin_toggle_error_recovery", - "legacy/app_original.py:user_profile", - "legacy/app_original.py:user_settings", - "legacy/app_original.py:user_api_update_settings", - "legacy/app_original.py:user_update_settings", - "legacy/app_original.py:get_user_settings", - "legacy/app_original.py:user_change_password", - "legacy/app_original.py:user_export_data", - "legacy/app_original.py:user_update_profile_api", - "legacy/app_original.py:admin_page", - "legacy/app_original.py:dashboard", - "legacy/app_original.py:profile_redirect", - "legacy/app_original.py:profil_redirect", - "legacy/app_original.py:settings_redirect", - "legacy/app_original.py:einstellungen_redirect", - "legacy/app_original.py:admin", - "legacy/app_original.py:socket_test", - "legacy/app_original.py:components_demo", - "legacy/app_original.py:printers_page", - "legacy/app_original.py:jobs_page", - "legacy/app_original.py:new_job_page", - "legacy/app_original.py:stats_page", - "legacy/app_original.py:privacy", - "legacy/app_original.py:terms", - "legacy/app_original.py:imprint", - "legacy/app_original.py:legal", - "legacy/app_original.py:realtime_dashboard", - "legacy/app_original.py:reports_page", - "legacy/app_original.py:maintenance_page", - "legacy/app_original.py:locations_page", - "legacy/app_original.py:admin_plug_schedules", - "legacy/app_original.py:validation_demo", - "legacy/app_original.py:tables_demo", - "legacy/app_original.py:dragdrop_demo", - "legacy/app_original.py:api_admin_fix_errors", - "legacy/app_original.py:api_admin_system_health_dashboard", - "legacy/app_original.py:admin_printer_settings_page", - "legacy/app_original.py:admin_guest_requests", - "legacy/app_original.py:admin_guest_requests_overview", - "legacy/app_original.py:create_user_api", - "legacy/app_original.py:get_user_api", - "legacy/app_original.py:update_user_api", - "legacy/app_original.py:toggle_printer_power", - "legacy/app_original.py:test_printer_tapo_connection", - "legacy/app_original.py:test_all_printers_tapo_connection", - "legacy/app_original.py:admin_add_user_page", - "legacy/app_original.py:admin_add_printer_page", - "legacy/app_original.py:admin_edit_printer_page", - "legacy/app_original.py:admin_create_user_form", - "legacy/app_original.py:admin_create_printer_form", - "legacy/app_original.py:admin_edit_user_page", - "legacy/app_original.py:admin_update_user_form", - "legacy/app_original.py:admin_update_printer_form", - "legacy/app_original.py:delete_user", - "legacy/app_original.py:upload_job_file", - "legacy/app_original.py:upload_guest_file", - "legacy/app_original.py:upload_avatar", - "legacy/app_original.py:upload_asset", - "legacy/app_original.py:upload_log", - "legacy/app_original.py:upload_backup", - "legacy/app_original.py:upload_temp_file", - "legacy/app_original.py:serve_uploaded_file", - "legacy/app_original.py:delete_uploaded_file", - "legacy/app_original.py:get_file_stats", - "legacy/app_original.py:get_current_job", - "legacy/app_original.py:get_job_detail", - "legacy/app_original.py:delete_job", - "legacy/app_original.py:get_jobs", - "legacy/app_original.py:create_job", - "legacy/app_original.py:update_job", - "legacy/app_original.py:get_active_jobs", - "legacy/app_original.py:get_printers", - "legacy/app_original.py:setup_session_security", - "legacy/app_original.py:session_heartbeat", - "legacy/app_original.py:session_status", - "legacy/app_original.py:extend_session", - "legacy/app_original.py:test_admin_guest_requests", - "legacy/app_original.py:get_guest_request_status", - "legacy/app_original.py:guest_status_page", - "legacy/app_original.py:get_admin_guest_requests", - "legacy/app_original.py:approve_guest_request", - "legacy/app_original.py:reject_guest_request", - "legacy/app_original.py:delete_guest_request", - "legacy/app_original.py:get_guest_request_detail", - "legacy/app_original.py:get_guest_requests_stats", - "legacy/app_original.py:export_guest_requests", - "legacy/app_original.py:auto_optimize_jobs", - "legacy/app_original.py:optimization_settings", - "legacy/app_original.py:admin_advanced_settings", - "legacy/app_original.py:admin_performance_optimization", - "legacy/app_original.py:api_cleanup_logs", - "legacy/app_original.py:api_system_check", - "legacy/app_original.py:get_validation_js", - "legacy/app_original.py:validate_form_api", - "legacy/app_original.py:get_widget_data", - "legacy/app_original.py:emit_dashboard_event", - "legacy/app_original.py:get_dashboard_js", - "legacy/app_original.py:get_job_order_api", - "legacy/app_original.py:get_upload_progress", - "legacy/app_original.py:get_dragdrop_js", - "legacy/app_original.py:get_dragdrop_css", - "legacy/app_original.py:query_advanced_table", - "legacy/app_original.py:export_table_data", - "legacy/app_original.py:get_tables_js", - "legacy/app_original.py:get_tables_css", - "legacy/app_original.py:api_clear_cache", - "legacy/app_original.py:api_optimize_database", - "legacy/app_original.py:api_create_backup", - "legacy/app_original.py:maintenance_tasks", - "legacy/app_original.py:update_maintenance_task_status", - "legacy/app_original.py:schedule_maintenance_api", - "legacy/app_original.py:locations", - "legacy/app_original.py:location_users", - "legacy/app_original.py:get_user_locations_api", - "legacy/app_original.py:calculate_distance_api", - "legacy/app_original.py:find_nearest_location_api", - "legacy/app_original.py:api_logs", - "legacy/app_original.py:api_admin_logs", - "legacy/app_original.py:export_admin_logs", - "legacy/app_original.py:api_admin_database_status", - "legacy/app_original.py:api_admin_system_status", - "legacy/app_original.py:api_optimization_status", - "legacy/app_original.py:api_admin_toggle_optimization", - "legacy/app_original.py:api_public_statistics", - "legacy/app_original.py:api_stats", - "legacy/app_original.py:api_admin_stats_live", - "legacy/app_original.py:refresh_dashboard", - "legacy/app_original.py:api_admin_plug_schedules_logs", - "legacy/app_original.py:api_admin_plug_schedules_statistics", - "legacy/app_original.py:api_admin_plug_schedules_cleanup", - "legacy/app_original.py:api_admin_plug_schedules_calendar", - "legacy/app_original.py:add_optimized_cache_headers", - "legacy/app_original.py:decorated_function", - "legacy/app_original.py:add_cache_headers", - "legacy/app_original.py:fetch_printers" - ] - } - ] -} \ No newline at end of file diff --git a/backend/import_analysis_report.json b/backend/import_analysis_report.json deleted file mode 100644 index 2902afce3..000000000 --- a/backend/import_analysis_report.json +++ /dev/null @@ -1,2634 +0,0 @@ -{ - "unused_imports": { - "template_analysis_tool.py": [ - "typing.Set", - "typing.Tuple", - "typing.List", - "typing.Dict", - "pathlib.Path" - ], - "models.py": [ - "sqlalchemy.engine.Engine", - "sqlalchemy.orm.Mapped", - "utils.utilities_collection.ensure_database_directory", - "sqlalchemy.ext.declarative.declarative_base", - "flask_login.UserMixin", - "sqlalchemy.Column", - "sqlalchemy.DateTime", - "sqlalchemy.Boolean", - "sqlalchemy.func", - "sqlalchemy.ForeignKey", - "utils.utilities_collection.DATABASE_PATH", - "sqlalchemy.Text", - "sqlalchemy.String", - "sqlalchemy.Integer", - "typing.List", - "typing.Dict", - "sqlalchemy.orm.relationship", - "sqlalchemy.orm.sessionmaker", - "sqlalchemy.text", - "contextlib.contextmanager", - "sqlalchemy.orm.Session", - "sqlalchemy.orm.mapped_column", - "typing.Any", - "typing.Optional", - "sqlalchemy.pool.QueuePool", - "utils.database_cleanup.get_cleanup_manager", - "sqlalchemy.Float", - "sqlalchemy.create_engine", - "sqlalchemy.orm.scoped_session", - "sqlalchemy.pool.StaticPool", - "sqlalchemy.event", - "utils.logging_config.get_logger" - ], - "start_production.py": [ - "logging" - ], - "setup_development.py": [ - "flask", - "pathlib.Path" - ], - "simple_form_tester.py": [ - "asyncio", - "typing.Optional", - "typing.List", - "dataclasses.dataclass", - "typing.Dict" - ], - "test_development.py": [ - "models.User", - "models.init_database", - "models.Printer", - "models.Job", - "pathlib.Path" - ], - "template_validation_final.py": [ - "typing.Set", - "typing.Tuple", - "typing.List", - "typing.Dict" - ], - "test_flask_minimal.py": [ - "flask.jsonify", - "flask.Flask" - ], - "form_test_automator.py": [ - "rich.text.Text", - "enum.Enum", - "rich.progress.Progress", - "rich.panel.Panel", - "faker.Faker", - "rich.console.Console", - "typing.Tuple", - "typing.List", - "typing.Dict", - "dataclasses.dataclass", - "rich.table.Table", - "pathlib.Path", - "typing.Any", - "typing.Optional", - "dataclasses.asdict", - "bs4.BeautifulSoup" - ], - "app.py": [ - "flask.flash", - "flask_login.LoginManager", - "blueprints.admin_unified.admin_blueprint", - "flask_login.login_required", - "utils.permissions.fix_all_admin_permissions", - "flask_wtf.CSRFProtect", - "uuid", - "flask.render_template", - "blueprints.jobs.finish_job", - "flask.session", - "flask_wtf.csrf.generate_csrf", - "flask.redirect", - "blueprints.jobs.resume_job", - "utils.monitoring_analytics.get_health_check", - "blueprints.jobs.jobs_blueprint", - "blueprints.printers.printers_blueprint", - "utils.logging_config.setup_logging", - "blueprints.admin_unified.admin_api_blueprint", - "utils.hardware_integration.printer_monitor", - "flask.Flask", - "utils.job_queue_system.queue_manager", - "flask.jsonify", - "blueprints.tapo_control.tapo_blueprint", - "utils.security_suite.init_security", - "flask.abort", - "blueprints.kiosk.kiosk_blueprint", - "blueprints.api.api_blueprint", - "flask.url_for", - "flask_login.logout_user", - "utils.audit_logger.init_audit_logging", - "flask_wtf.csrf.CSRFError", - "utils.job_scheduler.JobScheduler", - "utils.hardware_integration.get_tapo_controller", - "flask_login.current_user", - "blueprints.calendar.calendar_blueprint", - "blueprints.energy_monitoring.energy_blueprint", - "flask.send_from_directory", - "utils.logging_config.log_startup_info", - "blueprints.jobs.pause_job", - "utils.core_system.get_windows_thread_manager", - "blueprints.auth.auth_blueprint", - "blueprints.energy_monitoring.energy_api_blueprint", - "utils.utilities_collection.SESSION_LIFETIME", - "utils.utilities_collection.SECRET_KEY", - "blueprints.jobs.start_job", - "blueprints.legal_pages.legal_bp", - "blueprints.uploads.uploads_blueprint", - "utils.job_queue_system.start_queue_manager", - "utils.job_queue_system.stop_queue_manager", - "flask.request", - "contextlib.contextmanager", - "utils.job_scheduler.get_job_scheduler", - "blueprints.sessions.sessions_blueprint", - "blueprints.user_management.users_blueprint", - "blueprints.guest.guest_blueprint", - "utils.monitoring_analytics.performance_tracker", - "sqlalchemy.event", - "utils.ssl_suite.ssl_config", - "utils.logging_config.get_logger" - ], - "import_analyzer.py": [ - "typing.Set", - "os", - "collections.Counter", - "typing.List", - "typing.Tuple", - "collections.defaultdict", - "sys", - "pathlib.Path", - "typing.Dict", - "typing.Any" - ], - "template_problem_analysis.py": [ - "typing.Set", - "typing.Tuple", - "typing.List", - "typing.Dict" - ], - "start_development.py": [ - "create_correct_printers.validate_printers", - "create_correct_printers.init_database", - "logging" - ], - "ssl/ssl_fix.py": [ - "pathlib.Path" - ], - "ssl/fix_ssl_browser.py": [ - "pathlib.Path", - "utils.ssl_config.SSLCertificateManager" - ], - "tests/test_tapo_integration.py": [ - "models.User", - "models.init_database", - "models.Printer", - "models.Job", - "time.sleep", - "models.get_db_session", - "utils.logging_config.get_logger" - ], - "static/icons/generate_icons.py": [ - "PIL.ImageDraw", - "PIL.ImageFont", - "PIL.Image" - ], - "config/settings.py": [ - "datetime.timedelta", - "json", - "utils.ssl_manager.ssl_manager" - ], - "config/app_config.py": [ - "datetime.timedelta" - ], - "scripts/test_protocol_generator.py": [ - "typing.List", - "typing.Tuple", - "pathlib.Path", - "typing.Any", - "typing.Dict" - ], - "scripts/quick_unicode_fix.py": [ - "pathlib.Path", - "os" - ], - "scripts/screenshot_tool.py": [ - "selenium.common.exceptions.TimeoutException", - "selenium.webdriver.firefox.service.Service", - "subprocess", - "selenium.webdriver.support.expected_conditions", - "typing.Set", - "selenium.common.exceptions.WebDriverException", - "typing.Tuple", - "selenium.webdriver.chrome.service.Service", - "selenium.webdriver.common.by.By", - "typing.List", - "typing.Dict", - "urllib.parse.urljoin", - "selenium.webdriver", - "selenium.common.exceptions.NoSuchElementException", - "selenium.webdriver.chrome.options.Options", - "typing.Optional", - "urllib.parse.urlparse", - "selenium.webdriver.firefox.options.Options", - "models.get_db_session", - "selenium.webdriver.support.ui.WebDriverWait" - ], - "scripts/test_printer_setup.py": [ - "models.User", - "models.init_database", - "models.Printer", - "utils.hardware_integration.printer_monitor", - "models.get_db_session", - "utils.logging_config.get_logger" - ], - "scripts/migrate_database.py": [ - "utils.utilities_collection.DATABASE_PATH", - "utils.logging_config.get_logger" - ], - "blueprints/jobs.py": [ - "models.Printer", - "models.JobOrder", - "models.get_cached_session", - "models.GuestRequest", - "flask_login.login_required", - "flask.jsonify", - "functools.wraps", - "flask.Blueprint", - "flask.request", - "flask.current_app", - "utils.job_scheduler.BackgroundTaskScheduler", - "utils.job_queue_system.conflict_manager", - "models.Job", - "flask_login.current_user", - "sqlalchemy.orm.joinedload", - "models.get_db_session", - "utils.logging_config.get_logger" - ], - "blueprints/guest.py": [ - "wtforms.validators.NumberRange", - "models.User", - "models.Printer", - "flask.flash", - "bcrypt", - "flask_wtf.FlaskForm", - "flask.url_for", - "models.Notification", - "models.UserPermission", - "models.GuestRequest", - "models.get_cached_session", - "utils.permissions.can_approve_jobs", - "flask_login.login_required", - "secrets", - "wtforms.validators.Optional", - "flask.jsonify", - "wtforms.validators.DataRequired", - "functools.wraps", - "flask.Blueprint", - "wtforms.validators.Email", - "flask.request", - "flask.render_template", - "wtforms.TextAreaField", - "wtforms.IntegerField", - "wtforms.StringField", - "flask.session", - "flask_wtf.file.FileField", - "wtforms.SelectField", - "utils.job_scheduler.BackgroundTaskScheduler", - "flask_wtf.file.FileAllowed", - "models.Job", - "sqlalchemy.desc", - "utils.permissions.approver_required", - "flask_login.current_user", - "flask.redirect", - "sqlalchemy.orm.joinedload", - "flask.abort", - "utils.logging_config.get_logger" - ], - "blueprints/uploads.py": [ - "flask_login.login_required", - "typing.Dict", - "flask.jsonify", - "werkzeug.utils.secure_filename", - "functools.wraps", - "flask.Blueprint", - "models.SystemLog", - "flask.send_file", - "flask.request", - "datetime.datetime", - "typing.Any", - "flask_login.current_user", - "models.get_db_session", - "flask.abort" - ], - "blueprints/legal_pages.py": [ - "flask.Blueprint", - "flask_login.current_user", - "flask.current_app", - "flask.render_template" - ], - "blueprints/printers.py": [ - "models.User", - "models.Printer", - "sqlalchemy.func", - "typing.Tuple", - "flask_login.login_required", - "typing.List", - "typing.Dict", - "flask.jsonify", - "werkzeug.utils.secure_filename", - "flask.Blueprint", - "flask.request", - "flask.Response", - "flask.current_app", - "sqlalchemy.exc.SQLAlchemyError", - "typing.Any", - "werkzeug.exceptions.NotFound", - "typing.Optional", - "models.Job", - "sqlalchemy.desc", - "werkzeug.exceptions.BadRequest", - "flask_login.current_user", - "models.get_db_session", - "PyP100.PyP110", - "sqlalchemy.asc", - "flask.abort" - ], - "blueprints/auth.py": [ - "models.User", - "flask.flash", - "flask.url_for", - "flask_login.logout_user", - "flask_login.login_required", - "flask.jsonify", - "werkzeug.security.check_password_hash", - "flask.Blueprint", - "flask.request", - "flask.render_template", - "flask.session", - "flask_login.login_user", - "flask_login.current_user", - "flask.redirect", - "models.get_db_session", - "utils.logging_config.get_logger" - ], - "blueprints/tapo_control.py": [ - "config.settings.PRINTERS", - "models.Printer", - "flask.flash", - "flask.url_for", - "utils.security_suite.require_permission", - "config.settings.DEFAULT_TAPO_IPS", - "flask_login.login_required", - "utils.security_suite.Permission", - "flask.jsonify", - "utils.hardware_integration.tapo_controller", - "flask.Blueprint", - "flask.request", - "config.settings.FIXED_PRINTER_COUNT", - "flask.render_template", - "config.settings.ALWAYS_SHOW_ALL_SOCKETS", - "blueprints.admin_unified.admin_required", - "flask_login.current_user", - "flask.redirect", - "models.get_db_session", - "utils.monitoring_analytics.performance_tracker", - "utils.logging_config.get_logger" - ], - "blueprints/calendar.py": [ - "models.User", - "models.Printer", - "utils.hardware_integration.printer_monitor", - "sqlalchemy.or_", - "sqlalchemy.func", - "flask.url_for", - "models.UserPermission", - "models.get_cached_session", - "flask_login.login_required", - "flask.make_response", - "flask.jsonify", - "flask.Blueprint", - "utils.job_queue_system.ConflictType", - "flask.request", - "flask.render_template", - "pandas", - "models.PlugStatusLog", - "utils.job_queue_system.conflict_manager", - "models.Job", - "flask_login.current_user", - "utils.job_queue_system.ConflictSeverity", - "flask.redirect", - "flask.abort", - "utils.logging_config.get_logger", - "sqlalchemy.and_" - ], - "blueprints/api.py": [ - "models.Stats", - "models.User", - "models.Printer", - "os", - "models.Notification", - "backend.config.settings.SESSION_LIFETIME", - "utils.permissions.admin_required", - "flask_login.login_required", - "utils.permissions.fix_all_admin_permissions", - "flask.jsonify", - "flask.Blueprint", - "flask.request", - "flask.session", - "models.Job", - "flask_login.current_user", - "models.get_db_session", - "utils.logging_config.get_logger" - ], - "blueprints/api_simple.py": [ - "utils.security_suite.require_permission", - "utils.logging_config.get_logger", - "flask.Blueprint", - "models.Printer", - "flask.request", - "flask_login.current_user", - "flask_login.login_required", - "utils.security_suite.Permission", - "models.get_db_session", - "flask.jsonify", - "utils.hardware_integration.tapo_controller" - ], - "blueprints/energy_monitoring.py": [ - "models.Printer", - "utils.logging_config.measure_execution_time", - "utils.security_suite.require_permission", - "flask_login.login_required", - "utils.security_suite.Permission", - "typing.List", - "typing.Dict", - "flask.jsonify", - "flask.Blueprint", - "flask.request", - "flask.render_template", - "utils.hardware_integration.get_tapo_controller", - "typing.Any", - "models.PlugStatusLog", - "typing.Optional", - "flask_login.current_user", - "models.get_db_session", - "utils.logging_config.get_logger" - ], - "blueprints/kiosk.py": [ - "flask_login.logout_user", - "models.User", - "flask.Blueprint", - "models.SystemLog", - "flask.request", - "flask_login.current_user", - "werkzeug.security.generate_password_hash", - "flask_login.login_required", - "flask.redirect", - "models.get_db_session", - "flask.jsonify", - "utils.logging_config.get_logger", - "flask.url_for" - ], - "blueprints/sessions.py": [ - "models.User", - "flask.Blueprint", - "models.SystemLog", - "flask.request", - "flask_login.current_user", - "utils.utilities_collection.SESSION_LIFETIME", - "flask_login.login_required", - "models.get_db_session", - "flask.session", - "flask.jsonify", - "utils.logging_config.get_logger" - ], - "blueprints/admin_unified.py": [ - "models.User", - "models.clear_model_cache", - "models.Printer", - "flask.flash", - "models.JobOrder", - "models.engine", - "sqlalchemy.func", - "flask.url_for", - "models.UserPermission", - "models.GuestRequest", - "models.get_cached_session", - "flask_login.login_required", - "flask.jsonify", - "werkzeug.utils.secure_filename", - "functools.wraps", - "flask.Blueprint", - "models.SystemLog", - "flask.request", - "flask.render_template", - "sqlalchemy.text", - "models.clear_cache", - "flask.current_app", - "sqlalchemy.exc.SQLAlchemyError", - "flask.session", - "models.PlugStatusLog", - "models.Job", - "models.invalidate_model_cache", - "sqlalchemy.desc", - "flask_login.current_user", - "flask.redirect", - "models.get_db_session", - "sqlalchemy.asc" - ], - "blueprints/user_management.py": [ - "models.User", - "flask.flash", - "flask.url_for", - "models.UserPermission", - "models.get_cached_session", - "flask_login.login_required", - "flask.make_response", - "werkzeug.security.check_password_hash", - "flask.jsonify", - "functools.wraps", - "flask.Blueprint", - "flask.request", - "flask.render_template", - "sqlalchemy.exc.SQLAlchemyError", - "flask_login.current_user", - "flask.redirect", - "flask.abort", - "utils.logging_config.get_logger" - ], - "utils/utilities_collection.py": [ - "json", - "typing.Optional", - "utils.logging_config.get_logger", - "models.Printer", - "models.get_db_session", - "typing.List", - "typing.Dict", - "typing.Any" - ], - "utils/system_management.py": [ - "json", - "utils.logging_config.get_logger", - "os", - "typing.Dict", - "datetime.datetime", - "typing.Any" - ], - "utils/development_tools.py": [ - "json", - "typing.Optional", - "models.User", - "utils.logging_config.get_logger", - "utils.hardware_integration.tapo_controller", - "models.Printer", - "models.Job", - "os", - "subprocess", - "models.get_db_session", - "typing.List", - "typing.Dict", - "datetime.datetime", - "typing.Any" - ], - "utils/permissions.py": [ - "models.UserPermission", - "models.User", - "functools.wraps", - "flask_login.current_user", - "flask_login.login_required", - "models.get_db_session", - "flask.jsonify", - "flask.abort", - "utils.logging_config.get_logger" - ], - "utils/ui_components.py": [ - "models.Printer", - "json", - "flask.render_template_string", - "typing.List", - "typing.Dict", - "werkzeug.utils.secure_filename", - "jinja2.Template", - "asyncio", - "flask.request", - "typing.Union", - "flask.session", - "threading", - "typing.Any", - "typing.Optional", - "models.Job", - "models.get_db_session" - ], - "utils/job_queue_system.py": [ - "typing.Optional", - "utils.logging_config.get_logger", - "utils.hardware_integration.tapo_controller", - "models.Printer", - "models.Job", - "typing.Callable", - "enum.Enum", - "dataclasses.dataclass", - "models.get_db_session", - "typing.List", - "typing.Any", - "typing.Dict" - ], - "utils/data_management.py": [ - "typing.Optional", - "typing.Union", - "typing.List", - "typing.Tuple", - "pathlib.Path", - "typing.Dict", - "werkzeug.utils.secure_filename" - ], - "utils/settings.py": [ - "datetime.timedelta", - "json", - "utils.ssl_manager.ssl_manager" - ], - "utils/ssl_manager.py": [ - "utils.logging_config.get_logger", - "datetime.datetime" - ], - "utils/hardware_integration.py": [ - "concurrent.futures.ThreadPoolExecutor", - "utils.utilities_collection.TAPO_RETRY_COUNT", - "models.Printer", - "utils.utilities_collection.TAPO_PASSWORD", - "sqlalchemy.func", - "concurrent.futures.as_completed", - "utils.utilities_collection.TAPO_TIMEOUT", - "utils.utilities_collection.TAPO_USERNAME", - "typing.Tuple", - "typing.List", - "typing.Dict", - "utils.utilities_collection.DEFAULT_TAPO_IPS", - "requests", - "sqlalchemy.orm.Session", - "flask.session", - "typing.Any", - "models.PlugStatusLog", - "typing.Optional", - "models.get_db_session", - "utils.logging_config.get_logger" - ], - "utils/ip_security.py": [ - "typing.Optional", - "typing.Set", - "functools.wraps", - "flask.request", - "typing.List", - "flask.abort", - "utils.logging_config.get_logger" - ], - "utils/ssl_suite.py": [ - "cryptography.hazmat.primitives.hashes", - "cryptography.hazmat.primitives.asymmetric.rsa", - "cryptography.x509.oid.NameOID", - "cryptography.hazmat.primitives.serialization", - "cryptography.x509", - "subprocess", - "utils.logging_config.get_logger" - ], - "utils/api_utils.py": [ - "typing.Optional", - "typing.Union", - "typing.List", - "typing.Dict", - "flask.jsonify", - "typing.Any" - ], - "utils/security_suite.py": [ - "flask.session", - "typing.Optional", - "typing.Set", - "flask.g", - "functools.wraps", - "flask.request", - "enum.Enum", - "hashlib", - "flask_login.current_user", - "flask.jsonify", - "flask_login.login_required", - "typing.List", - "typing.Dict", - "time", - "flask.abort", - "utils.logging_config.get_logger" - ], - "utils/drag_drop_system.py": [ - "models.Printer", - "models.JobOrder", - "utils.data_management.save_temp_file", - "utils.utilities_collection.ALLOWED_EXTENSIONS", - "utils.data_management.save_job_file", - "typing.Tuple", - "typing.List", - "typing.Dict", - "flask.jsonify", - "dataclasses.dataclass", - "utils.utilities_collection.MAX_FILE_SIZE", - "flask.request", - "typing.Union", - "flask.current_app", - "utils.utilities_collection.UPLOAD_FOLDER", - "typing.Any", - "typing.Optional", - "models.Job", - "dataclasses.asdict", - "flask_login.current_user", - "models.get_db_session", - "utils.logging_config.get_logger" - ], - "utils/database_cleanup.py": [ - "typing.Optional", - "contextlib.contextmanager", - "typing.List", - "utils.logging_config.get_logger" - ], - "utils/audit_logger.py": [ - "typing.Optional", - "utils.logging_config.get_logger", - "flask.request", - "flask_login.current_user", - "typing.Dict", - "typing.Any" - ], - "utils/job_scheduler.py": [ - "models.Printer", - "utils.hardware_integration.printer_monitor", - "utils.utilities_collection.TAPO_PASSWORD", - "utils.utilities_collection.TAPO_USERNAME", - "typing.List", - "typing.Dict", - "utils.hardware_integration.tapo_controller", - "typing.Callable", - "typing.Union", - "typing.Any", - "typing.Optional", - "models.Job", - "sqlalchemy.orm.joinedload", - "models.get_db_session", - "PyP100.PyP110", - "utils.logging_config.get_logger" - ], - "utils/core_system.py": [ - "shutil", - "typing.Tuple", - "typing.List", - "typing.Dict", - "dataclasses.dataclass", - "typing.Callable", - "traceback", - "typing.Union", - "pathlib.Path", - "typing.Any", - "typing.Optional", - "utils.logging_config.get_logger" - ], - "utils/database_suite.py": [ - "typing.Optional", - "utils.logging_config.get_logger", - "sqlalchemy.create_engine", - "sqlalchemy.text", - "sqlalchemy.orm.sessionmaker", - "sqlalchemy.inspect", - "typing.List", - "typing.Dict", - "typing.Any" - ], - "utils/logging_config.py": [ - "typing.Optional", - "functools.wraps", - "typing.Dict", - "typing.Any" - ], - "utils/monitoring_analytics.py": [ - "reportlab.lib.pagesizes.A4", - "models.Printer", - "json", - "reportlab.pdfgen.canvas", - "typing.List", - "typing.Dict", - "pandas", - "threading", - "typing.Any", - "typing.Optional", - "matplotlib.pyplot", - "models.Job", - "models.get_db_session", - "reportlab.lib.pagesizes.letter", - "utils.logging_config.get_logger" - ], - "utils/ip_validation.py": [ - "typing.Tuple", - "typing.Optional", - "utils.logging_config.get_logger" - ], - "utils/script_collection.py": [ - "utils.ssl_suite.ssl_cert_manager", - "utils.logging_config.get_logger", - "models.Printer", - "utils.utilities_collection.printer_utilities", - "models.get_db_session", - "typing.List", - "typing.Dict", - "utils.database_suite.database_migration", - "datetime.datetime", - "typing.Any" - ], - "debug/debug_admin.py": [ - "models.User", - "flask.g", - "blueprints.admin_unified.admin_required", - "models.get_cached_session", - "flask.render_template", - "models.create_initial_admin", - "blueprints.admin_unified.admin_dashboard", - "flask_login.current_user", - "sys", - "flask_login.login_user", - "flask.url_for" - ], - "legacy/app_original.py": [ - "models.init_database", - "flask.flash", - "models.JobOrder", - "flask_login.LoginManager", - "models.GuestRequest", - "typing.Tuple", - "flask_login.login_required", - "typing.Dict", - "flask_wtf.CSRFProtect", - "models.get_engine", - "flask.send_file", - "flask.Response", - "sqlalchemy.orm.sessionmaker", - "flask.render_template", - "flask.session", - "flask.redirect", - "models.create_initial_admin", - "sqlalchemy.orm.joinedload", - "blueprints.jobs.jobs_blueprint", - "waitress.serve", - "blueprints.printers.printers_blueprint", - "sqlalchemy.func", - "flask.Flask", - "models.UserPermission", - "models.Base", - "flask.jsonify", - "models._session_factory", - "models.SystemLog", - "sqlalchemy.inspect", - "models._scoped_session", - "flask.abort", - "models.Stats", - "models.User", - "models.Printer", - "flask.url_for", - "flask_login.logout_user", - "concurrent.futures.as_completed", - "flask_wtf.csrf.CSRFError", - "functools.lru_cache", - "flask.make_response", - "typing.List", - "werkzeug.security.check_password_hash", - "werkzeug.utils.secure_filename", - "werkzeug.security.generate_password_hash", - "flask.current_app", - "models.PlugStatusLog", - "openpyxl.utils.dataframe.dataframe_to_rows", - "flask_login.current_user", - "models.get_db_session", - "blueprints.calendar.calendar_blueprint", - "concurrent.futures.ThreadPoolExecutor", - "models.engine", - "models.Notification", - "blueprints.users.users_blueprint", - "functools.wraps", - "flask.request", - "sqlalchemy.text", - "models._engine", - "contextlib.contextmanager", - "flask_login.login_user", - "typing.Optional", - "models.Job", - "blueprints.guest.guest_blueprint" - ] - }, - "circular_imports": [], - "redundant_imports": { - "re": { - "count": 11, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_analysis_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/simple_form_tester.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_validation_final.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/form_test_automator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/import_analyzer.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_problem_analysis.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/quick_unicode_fix.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ip_validation.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "json": { - "count": 25, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_analysis_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/simple_form_tester.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_validation_final.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/form_test_automator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/import_analyzer.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_problem_analysis.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/tests/test_tapo_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/config/settings.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_protocol_generator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/utilities_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/system_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/development_tools.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/settings.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/monitoring_analytics.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "typing.Set": { - "count": 7, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_analysis_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_validation_final.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/import_analyzer.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_problem_analysis.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ip_security.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/security_suite.py" - ] - }, - "os": { - "count": 38, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_analysis_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/start_production.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/setup_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/test_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/test_flask_minimal.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/import_analyzer.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/start_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/ssl/ssl_fix.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/ssl/fix_ssl_browser.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/tests/test_tapo_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/static/icons/generate_icons.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/config/settings.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/config/app_config.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_protocol_generator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/quick_unicode_fix.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_printer_setup.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/migrate_database.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/utilities_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/system_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/development_tools.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/data_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/settings.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ssl_manager.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ssl_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/logging_config.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/script_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "typing.Tuple": { - "count": 14, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_analysis_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_validation_final.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/form_test_automator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/import_analyzer.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_problem_analysis.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_protocol_generator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/data_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ip_validation.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "typing.List": { - "count": 28, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_analysis_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/simple_form_tester.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_validation_final.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/form_test_automator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/import_analyzer.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_problem_analysis.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_protocol_generator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/utilities_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/development_tools.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_queue_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/data_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ip_security.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/api_utils.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/security_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_cleanup.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/monitoring_analytics.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/script_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "typing.Dict": { - "count": 30, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_analysis_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/simple_form_tester.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_validation_final.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/form_test_automator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/import_analyzer.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_problem_analysis.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_protocol_generator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/utilities_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/system_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/development_tools.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_queue_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/data_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/api_utils.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/security_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/audit_logger.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/logging_config.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/monitoring_analytics.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/script_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "pathlib.Path": { - "count": 11, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/template_analysis_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/setup_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/test_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/form_test_automator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/import_analyzer.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/ssl/ssl_fix.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/ssl/fix_ssl_browser.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_protocol_generator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/quick_unicode_fix.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/data_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py" - ] - }, - "bcrypt": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py" - ] - }, - "string": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py" - ] - }, - "datetime.timedelta": { - "count": 24, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/tests/test_tapo_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/config/settings.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/config/app_config.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_protocol_generator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/sessions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_queue_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/settings.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ssl_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/monitoring_analytics.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "sqlalchemy.func": { - "count": 6, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.utilities_collection.DATABASE_PATH": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/migrate_database.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py" - ] - }, - "secrets": { - "count": 7, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/security_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "logging": { - "count": 15, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/start_production.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/start_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/config/app_config.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/permissions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_cleanup.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/audit_logger.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/logging_config.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "sqlalchemy.orm.sessionmaker": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "sqlalchemy.text": { - "count": 4, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "contextlib.contextmanager": { - "count": 4, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_cleanup.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "sqlalchemy.orm.Session": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py" - ] - }, - "threading": { - "count": 13, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_queue_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_cleanup.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/logging_config.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/monitoring_analytics.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "datetime.datetime": { - "count": 42, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/start_production.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/form_test_automator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/start_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/tests/test_tapo_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_protocol_generator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_printer_setup.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/migrate_database.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/sessions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/utilities_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/system_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/development_tools.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_queue_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/data_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ssl_manager.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ssl_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/api_utils.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/audit_logger.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/logging_config.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/monitoring_analytics.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/script_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "time": { - "count": 22, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/simple_form_tester.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/test_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/form_test_automator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_protocol_generator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api_simple.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/utilities_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/development_tools.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_queue_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/security_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/logging_config.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/monitoring_analytics.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "typing.Any": { - "count": 22, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/form_test_automator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/import_analyzer.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_protocol_generator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/utilities_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/system_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/development_tools.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_queue_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/api_utils.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/audit_logger.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/logging_config.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/monitoring_analytics.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/script_collection.py" - ] - }, - "typing.Optional": { - "count": 25, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/simple_form_tester.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/form_test_automator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/utilities_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/development_tools.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_queue_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/data_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ip_security.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/api_utils.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/security_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_cleanup.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/audit_logger.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/logging_config.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/monitoring_analytics.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ip_validation.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "sqlalchemy.create_engine": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_suite.py" - ] - }, - "sqlalchemy.event": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py" - ] - }, - "utils.logging_config.get_logger": { - "count": 41, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/models.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/tests/test_tapo_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_printer_setup.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/migrate_database.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api_simple.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/sessions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/utilities_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/system_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/development_tools.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/permissions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_queue_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/data_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ssl_manager.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ip_security.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ssl_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/security_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_cleanup.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/audit_logger.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/monitoring_analytics.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ip_validation.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/script_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "app.main": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/start_production.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/setup_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/start_development.py" - ] - }, - "app.DevelopmentConfig": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/start_production.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/start_development.py" - ] - }, - "sys": { - "count": 18, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/start_production.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/setup_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/simple_form_tester.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/test_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/test_flask_minimal.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/import_analyzer.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/start_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/ssl/fix_ssl_browser.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/tests/test_tapo_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_protocol_generator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_printer_setup.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/migrate_database.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/logging_config.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/debug/debug_admin.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "app.ProductionConfig": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/start_production.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/start_development.py" - ] - }, - "argparse": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/setup_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/test_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/form_test_automator.py" - ] - }, - "subprocess": { - "count": 13, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/setup_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/test_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/ssl/ssl_fix.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_protocol_generator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/development_tools.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/data_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ssl_manager.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ssl_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "asyncio": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/simple_form_tester.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/form_test_automator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py" - ] - }, - "urllib.parse.urlparse": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/simple_form_tester.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py" - ] - }, - "traceback": { - "count": 9, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/simple_form_tester.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/test_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/form_test_automator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/start_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_protocol_generator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/debug/debug_admin.py" - ] - }, - "dataclasses.dataclass": { - "count": 5, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/simple_form_tester.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/form_test_automator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_queue_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py" - ] - }, - "urllib.parse.urljoin": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/simple_form_tester.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py" - ] - }, - "models.User": { - "count": 17, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/test_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/tests/test_tapo_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_printer_setup.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/sessions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/development_tools.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/permissions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/debug/debug_admin.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "models.init_database": { - "count": 5, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/test_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/tests/test_tapo_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_printer_setup.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "models.Printer": { - "count": 23, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/test_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/tests/test_tapo_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_printer_setup.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api_simple.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/utilities_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/development_tools.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_queue_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/monitoring_analytics.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/script_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "requests": { - "count": 5, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/test_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_protocol_generator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "models.Job": { - "count": 16, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/test_development.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/tests/test_tapo_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/development_tools.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_queue_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/monitoring_analytics.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "flask.jsonify": { - "count": 21, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/test_flask_minimal.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api_simple.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/sessions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/permissions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/api_utils.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/security_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "flask.Flask": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/test_flask_minimal.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "enum.Enum": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/form_test_automator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_queue_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/security_suite.py" - ] - }, - "dataclasses.asdict": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/form_test_automator.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py" - ] - }, - "flask.flash": { - "count": 7, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "flask_login.LoginManager": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "flask_login.login_required": { - "count": 18, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api_simple.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/sessions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/permissions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/security_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.permissions.fix_all_admin_permissions": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py" - ] - }, - "flask_wtf.CSRFProtect": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "uuid": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/migrate_database.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "flask.render_template": { - "count": 11, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/legal_pages.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/debug/debug_admin.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "flask.session": { - "count": 10, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/sessions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/security_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "flask.redirect": { - "count": 9, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "models.create_initial_admin": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/debug/debug_admin.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "blueprints.jobs.jobs_blueprint": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "blueprints.printers.printers_blueprint": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.logging_config.setup_logging": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.hardware_integration.printer_monitor": { - "count": 5, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_printer_setup.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py" - ] - }, - "models._scoped_session": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "atexit": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "flask.abort": { - "count": 10, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/permissions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ip_security.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/security_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "signal": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "flask.url_for": { - "count": 10, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/debug/debug_admin.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "flask_login.logout_user": { - "count": 4, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "psutil": { - "count": 6, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/monitoring_analytics.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "flask_wtf.csrf.CSRFError": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.job_scheduler.JobScheduler": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "platform": { - "count": 6, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/utilities_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/data_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.hardware_integration.get_tapo_controller": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py" - ] - }, - "models.PlugStatusLog": { - "count": 6, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "hashlib": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/security_suite.py" - ] - }, - "flask_login.current_user": { - "count": 22, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/legal_pages.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api_simple.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/sessions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/permissions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/security_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/audit_logger.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/debug/debug_admin.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "models.get_db_session": { - "count": 26, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/tests/test_tapo_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_printer_setup.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api_simple.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/sessions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/utilities_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/development_tools.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/permissions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_queue_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/monitoring_analytics.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/script_collection.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "blueprints.calendar.calendar_blueprint": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.logging_config.log_startup_info": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.utilities_collection.SESSION_LIFETIME": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/sessions.py" - ] - }, - "flask.request": { - "count": 21, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api_simple.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/sessions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ip_security.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/security_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/audit_logger.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "models._engine": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.job_scheduler.get_job_scheduler": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "socket": { - "count": 5, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ssl_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "blueprints.guest.guest_blueprint": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.monitoring_analytics.performance_tracker": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/app.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py" - ] - }, - "shutil": { - "count": 8, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/ssl/ssl_fix.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/ssl/fix_ssl_browser.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/migrate_database.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/data_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "app.app": { - "count": 4, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/tests/test_tapo_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/screenshot_tool.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/test_printer_setup.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/debug/debug_admin.py" - ] - }, - "utils.ssl_manager.ssl_manager": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/config/settings.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/settings.py" - ] - }, - "logging.handlers.RotatingFileHandler": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/config/app_config.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/logging_config.py" - ] - }, - "sqlite3": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/scripts/migrate_database.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "models.JobOrder": { - "count": 4, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "models.get_cached_session": { - "count": 6, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/debug/debug_admin.py" - ] - }, - "models.GuestRequest": { - "count": 4, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "functools.wraps": { - "count": 10, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/permissions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ip_security.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/security_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/logging_config.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "flask.Blueprint": { - "count": 15, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/legal_pages.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api_simple.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/sessions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py" - ] - }, - "flask.current_app": { - "count": 6, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/legal_pages.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.job_scheduler.BackgroundTaskScheduler": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py" - ] - }, - "utils.job_queue_system.conflict_manager": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py" - ] - }, - "sqlalchemy.orm.joinedload": { - "count": 4, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/jobs.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "models.Notification": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "models.UserPermission": { - "count": 6, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/permissions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "sqlalchemy.desc": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/guest.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py" - ] - }, - "utils.data_management.save_temp_file": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py" - ] - }, - "utils.utilities_collection.ALLOWED_EXTENSIONS": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/data_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py" - ] - }, - "utils.data_management.save_job_file": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py" - ] - }, - "werkzeug.utils.secure_filename": { - "count": 6, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/data_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "models.SystemLog": { - "count": 5, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/sessions.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "flask.send_file": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.utilities_collection.UPLOAD_FOLDER": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/uploads.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/data_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py" - ] - }, - "utils.logging_config.measure_execution_time": { - "count": 4, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.security_suite.require_permission": { - "count": 4, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api_simple.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py" - ] - }, - "utils.drag_drop_system.drag_drop_manager": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.security_suite.Permission": { - "count": 4, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api_simple.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/energy_monitoring.py" - ] - }, - "utils.drag_drop_system.get_drag_drop_javascript": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.hardware_integration.tapo_controller": { - "count": 7, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api_simple.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/development_tools.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_queue_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py" - ] - }, - "flask.Response": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "sqlalchemy.exc.SQLAlchemyError": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py" - ] - }, - "utils.drag_drop_system.get_drag_drop_css": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "PyP100.PyP110": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py" - ] - }, - "sqlalchemy.asc": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/printers.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py" - ] - }, - "werkzeug.security.check_password_hash": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "flask_login.login_user": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/auth.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/debug/debug_admin.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "blueprints.admin_unified.admin_required": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/debug/debug_admin.py" - ] - }, - "ipaddress": { - "count": 5, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/tapo_control.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api_simple.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ip_security.py" - ] - }, - "io": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "flask.make_response": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/user_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "pandas": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/monitoring_analytics.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "csv": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/calendar.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "models.Stats": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/api.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "werkzeug.security.generate_password_hash": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/kiosk.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "models.engine": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "zipfile": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.backup_manager.BackupManager": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "gc": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints/admin_unified.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "typing.Union": { - "count": 6, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/ui_components.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/data_management.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/api_utils.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/drag_drop_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py" - ] - }, - "typing.Callable": { - "count": 3, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_queue_system.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/core_system.py" - ] - }, - "concurrent.futures.ThreadPoolExecutor": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.utilities_collection.TAPO_PASSWORD": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py" - ] - }, - "concurrent.futures.as_completed": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - }, - "utils.utilities_collection.TAPO_USERNAME": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/hardware_integration.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/job_scheduler.py" - ] - }, - "flask.g": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/security_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/debug/debug_admin.py" - ] - }, - "sqlalchemy.inspect": { - "count": 2, - "files": [ - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils/database_suite.py", - "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/legacy/app_original.py" - ] - } - }, - "missing_imports": {}, - "statistics": { - "total_files": 68, - "total_imports": 1271, - "total_lines": 44823, - "files_with_unused_imports": 65, - "total_unused_imports": 788, - "circular_import_chains": 0, - "redundant_import_types": 142 - } -} \ No newline at end of file diff --git a/backend/manual_redundancy_analysis.py b/backend/manual_redundancy_analysis.py deleted file mode 100644 index 734176c29..000000000 --- a/backend/manual_redundancy_analysis.py +++ /dev/null @@ -1,324 +0,0 @@ -#!/usr/bin/env python3 -""" -Manuelle detaillierte Redundanz-Analyse für MYP Backend -Fokussiert auf wirklich redundante und ungenutzte Funktionen -""" - -import os -import re -import ast -from collections import defaultdict - -def analyze_imports_and_calls(): - """Analysiert tatsächliche Importe und Funktionsaufrufe""" - backend_path = "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend" - - function_calls = set() - function_defs = {} - file_imports = defaultdict(set) - - # Alle Python-Dateien durchgehen - for root, dirs, files in os.walk(backend_path): - # Ignoriere bestimmte Verzeichnisse - dirs[:] = [d for d in dirs if d not in ['.git', '__pycache__', 'node_modules', 'instance']] - - for file in files: - if not file.endswith('.py'): - continue - - file_path = os.path.join(root, file) - rel_path = os.path.relpath(file_path, backend_path) - - try: - with open(file_path, 'r', encoding='utf-8') as f: - content = f.read() - - # Funktionsaufrufe mit Regex finden (umfassender als AST) - # Direkte Funktionsaufrufe - direct_calls = re.findall(r'(\w+)\s*\(', content) - function_calls.update(direct_calls) - - # Attributaufrufe (object.method()) - attr_calls = re.findall(r'\.(\w+)\s*\(', content) - function_calls.update(attr_calls) - - # Import-Aufrufe - import_calls = re.findall(r'from\s+[\w.]+\s+import\s+([\w,\s]+)', content) - for imports in import_calls: - for imp in imports.split(','): - function_calls.add(imp.strip()) - - # AST für Funktionsdefinitionen - try: - tree = ast.parse(content) - for node in ast.walk(tree): - if isinstance(node, ast.FunctionDef): - key = f"{rel_path}:{node.name}" - function_defs[key] = { - 'name': node.name, - 'file': rel_path, - 'line': node.lineno, - 'is_private': node.name.startswith('_'), - 'is_dunder': node.name.startswith('__') and node.name.endswith('__'), - 'decorators': [getattr(d, 'id', str(d)) for d in node.decorator_list] - } - except: - pass - - except Exception as e: - print(f"Fehler bei {file_path}: {e}") - - return function_calls, function_defs - -def find_truly_unused_functions(): - """Findet wirklich ungenutzte Funktionen""" - function_calls, function_defs = analyze_imports_and_calls() - - unused = [] - - for key, func in function_defs.items(): - func_name = func['name'] - - # Ausschließen: - # 1. Dunder-Methoden (__init__, __str__, etc.) - # 2. Flask-Route-Handler (haben @app.route oder @blueprint.route) - # 3. Test-Funktionen - # 4. Main-Funktionen - # 5. Flask-Login required Methoden - - if func['is_dunder']: - continue - - if func_name in ['main', 'create_app']: - continue - - if func_name.startswith('test_'): - continue - - # Flask-Login required methods - if func_name in ['is_authenticated', 'is_active', 'is_anonymous', 'get_id']: - continue - - # Flask-Route handlers (check decorators) - is_route_handler = any('route' in str(d) or 'login_required' in str(d) - for d in func['decorators']) - if is_route_handler: - continue - - # Check if function is actually called - if func_name not in function_calls: - unused.append({ - 'key': key, - 'name': func_name, - 'file': func['file'], - 'line': func['line'], - 'is_private': func['is_private'] - }) - - return unused - -def find_duplicate_implementations(): - """Findet Funktionen mit sehr ähnlichen oder identischen Implementierungen""" - backend_path = "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend" - - # Bekannte Duplikate basierend auf Funktionsnamen - known_duplicates = [ - # Status-Checking-Funktionen - ('get_printer_status', 'check_printer_status', 'printer_status'), - ('get_tapo_status', 'check_tapo_status', 'tapo_status'), - - # Validation-Funktionen - ('validate_email', 'check_email', 'is_valid_email'), - ('validate_ip', 'check_ip', 'is_valid_ip'), - - # Database-Helper - ('get_db_session', 'create_session', 'db_session'), - ('close_db', 'close_session', 'cleanup_db'), - - # Logging-Funktionen - ('log_error', 'error_log', 'write_error'), - ('log_info', 'info_log', 'write_info'), - - # User-Helper - ('get_user_by_id', 'find_user', 'user_by_id'), - ('check_permission', 'has_permission', 'validate_permission'), - - # File-Handling - ('upload_file', 'handle_upload', 'process_upload'), - ('delete_file', 'remove_file', 'cleanup_file'), - ] - - duplicates = [] - function_defs = {} - - # Sammle alle Funktionsdefinitionen - for root, dirs, files in os.walk(backend_path): - dirs[:] = [d for d in dirs if d not in ['.git', '__pycache__', 'node_modules', 'instance']] - - for file in files: - if not file.endswith('.py'): - continue - - file_path = os.path.join(root, file) - rel_path = os.path.relpath(file_path, backend_path) - - try: - with open(file_path, 'r', encoding='utf-8') as f: - content = f.read() - - tree = ast.parse(content) - for node in ast.walk(tree): - if isinstance(node, ast.FunctionDef): - function_defs[node.name] = function_defs.get(node.name, []) - function_defs[node.name].append({ - 'file': rel_path, - 'line': node.lineno, - 'name': node.name - }) - except: - continue - - # Prüfe auf bekannte Duplikate - for duplicate_group in known_duplicates: - found_functions = [] - for func_name in duplicate_group: - if func_name in function_defs: - found_functions.extend(function_defs[func_name]) - - if len(found_functions) > 1: - duplicates.append({ - 'group': duplicate_group, - 'functions': found_functions, - 'count': len(found_functions) - }) - - # Prüfe auf Funktionen mit identischen Namen in verschiedenen Dateien - for func_name, locations in function_defs.items(): - if len(locations) > 1 and not func_name.startswith('_'): - duplicates.append({ - 'group': [func_name], - 'functions': locations, - 'count': len(locations), - 'type': 'identical_names' - }) - - return duplicates - -def analyze_utils_redundancy(): - """Analysiert Redundanz in utils/ Verzeichnis""" - utils_path = "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/utils" - - utils_files = [] - for file in os.listdir(utils_path): - if file.endswith('.py') and file != '__init__.py': - utils_files.append(file) - - # Kategorisiere Utils-Dateien nach Funktionalität - categories = { - 'database': ['database_cleanup.py', 'database_suite.py', 'data_management.py'], - 'security': ['security_suite.py', 'ip_security.py', 'ip_validation.py'], - 'ssl': ['ssl_manager.py', 'ssl_suite.py'], - 'job_management': ['job_scheduler.py', 'job_queue_system.py'], - 'system': ['core_system.py', 'system_management.py'], - 'monitoring': ['monitoring_analytics.py', 'audit_logger.py'], - 'ui': ['ui_components.py', 'drag_drop_system.py'], - 'utilities': ['utilities_collection.py', 'script_collection.py', 'development_tools.py'] - } - - redundant_categories = [] - - for category, files in categories.items(): - existing_files = [f for f in files if f in utils_files] - if len(existing_files) > 1: - redundant_categories.append({ - 'category': category, - 'files': existing_files, - 'recommendation': f"Konsolidiere {len(existing_files)} {category}-bezogene Dateien" - }) - - return redundant_categories, utils_files - -def analyze_blueprint_redundancy(): - """Analysiert Redundanz in blueprints/ Verzeichnis""" - blueprints_path = "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/blueprints" - - blueprint_files = [] - for file in os.listdir(blueprints_path): - if file.endswith('.py'): - blueprint_files.append(file) - - # Identifiziere potentielle Duplikate - potential_duplicates = [ - ('api.py', 'api_simple.py'), # Zwei API-Blueprints - ('admin_unified.py', 'sessions.py'), # Überlappende Admin-Funktionalität - ] - - duplicates = [] - for file1, file2 in potential_duplicates: - if file1 in blueprint_files and file2 in blueprint_files: - duplicates.append({ - 'files': [file1, file2], - 'reason': 'Potential functional overlap' - }) - - return duplicates, blueprint_files - -def main(): - """Hauptanalyse""" - print("=" * 80) - print("MANUELLE REDUNDANZ-ANALYSE - MYP BACKEND") - print("=" * 80) - - print("\n1. UNGENUTZTE FUNKTIONEN") - print("-" * 40) - unused = find_truly_unused_functions() - unused_public = [f for f in unused if not f['is_private']] - unused_private = [f for f in unused if f['is_private']] - - print(f"🔴 Öffentliche ungenutzte Funktionen: {len(unused_public)}") - for func in unused_public[:10]: # Top 10 - print(f" {func['file']}:{func['line']} - {func['name']}()") - - print(f"\n🟡 Private ungenutzte Funktionen: {len(unused_private)}") - for func in unused_private[:5]: # Top 5 - print(f" {func['file']}:{func['line']} - {func['name']}()") - - print("\n2. DOPPELTE IMPLEMENTIERUNGEN") - print("-" * 40) - duplicates = find_duplicate_implementations() - for dup in duplicates[:5]: # Top 5 - print(f"🔄 {dup['group']}: {dup['count']} Implementierungen") - for func in dup['functions']: - print(f" {func['file']}:{func['line']} - {func['name']}()") - print() - - print("\n3. UTILS-VERZEICHNIS REDUNDANZ") - print("-" * 40) - redundant_categories, all_utils = analyze_utils_redundancy() - print(f"📁 Gesamt Utils-Dateien: {len(all_utils)}") - for cat in redundant_categories: - print(f"🔧 {cat['category'].upper()}: {cat['recommendation']}") - for file in cat['files']: - print(f" - {file}") - print() - - print("\n4. BLUEPRINT REDUNDANZ") - print("-" * 40) - blueprint_duplicates, all_blueprints = analyze_blueprint_redundancy() - print(f"📁 Gesamt Blueprint-Dateien: {len(all_blueprints)}") - for dup in blueprint_duplicates: - print(f"🔄 Potentielle Duplikate: {' + '.join(dup['files'])}") - print(f" Grund: {dup['reason']}") - - print("\n" + "=" * 80) - print("EMPFEHLUNGEN FÜR CLEANUP") - print("=" * 80) - - print(f"1. 🗑️ Lösche {len(unused_public)} ungenutzte öffentliche Funktionen") - print(f"2. 🧹 Prüfe {len(unused_private)} ungenutzte private Funktionen") - print(f"3. 🔄 Konsolidiere {len(duplicates)} Duplikat-Gruppen") - print(f"4. 📁 Reorganisiere {len(redundant_categories)} Utils-Kategorien") - print(f"5. 🔗 Prüfe {len(blueprint_duplicates)} Blueprint-Überlappungen") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/backend/models.py.backup_manual_20250619_205811 b/backend/models.py.backup_manual_20250619_205811 deleted file mode 100644 index 604ced0a4..000000000 --- a/backend/models.py.backup_manual_20250619_205811 +++ /dev/null @@ -1,2478 +0,0 @@ -import os -import logging -import threading -import time -from datetime import datetime, timedelta -from typing import Optional, List, Dict, Any -from contextlib import contextmanager - -from sqlalchemy import create_engine, Column, Integer, String, Boolean, DateTime, ForeignKey, Float, event, text, Text, func -from sqlalchemy.ext.declarative import declarative_base -from sqlalchemy.orm import relationship, sessionmaker, Session, Mapped, mapped_column, scoped_session -from sqlalchemy.pool import StaticPool, QueuePool -from sqlalchemy.engine import Engine -from flask_login import UserMixin -import bcrypt -import secrets -import string - -from utils.utilities_collection import DATABASE_PATH, ensure_database_directory -from utils.logging_config import get_logger - -# ===== DATABASE CLEANUP INTEGRATION ===== -# Importiere den neuen Cleanup-Manager -try: - from utils.database_cleanup import get_cleanup_manager - CLEANUP_MANAGER_AVAILABLE = True -except ImportError: - CLEANUP_MANAGER_AVAILABLE = False - logger = get_logger("app") - logger.warning("DatabaseCleanupManager nicht verfügbar - Fallback auf Legacy-Cleanup") - -Base = declarative_base() -logger = get_logger("app") - -# Thread-lokale Session-Factory für sichere Concurrent-Zugriffe -_session_factory = None -_scoped_session = None -_engine = None -_connection_pool_lock = threading.Lock() - -# Cache für häufig abgerufene Daten -_cache = {} -_cache_lock = threading.Lock() -_cache_ttl = {} # Time-to-live für Cache-Einträge - -# Alle exportierten Modelle -__all__ = ['User', 'Printer', 'Job', 'Stats', 'SystemLog', 'Base', 'GuestRequest', 'UserPermission', 'Notification', 'JobOrder', 'SystemTimer', 'PlugStatusLog', 'init_db', 'init_database', 'create_initial_admin', 'create_initial_printers', 'get_db_session', 'get_cached_session', 'clear_cache', 'engine'] - -# ===== DATENBANK-KONFIGURATION MIT WAL UND OPTIMIERUNGEN ===== - -def configure_sqlite_for_production(dbapi_connection, _connection_record): - """ - Konfiguriert SQLite für Produktionsumgebung mit WAL-Modus und Optimierungen. - """ - cursor = dbapi_connection.cursor() - - # WAL-Modus aktivieren (Write-Ahead Logging) - Deaktiviert für WSL2-Kompatibilität - # cursor.execute("PRAGMA journal_mode=WAL") - cursor.execute("PRAGMA journal_mode=DELETE") - - # Synchronous-Modus für bessere Performance bei WAL - cursor.execute("PRAGMA synchronous=NORMAL") - - # Cache-Größe erhöhen (in KB, negative Werte = KB) - cursor.execute("PRAGMA cache_size=-64000") # 64MB Cache - - # Memory-mapped I/O aktivieren - cursor.execute("PRAGMA mmap_size=268435456") # 256MB - - # Temp-Store im Memory - cursor.execute("PRAGMA temp_store=MEMORY") - - # Optimierungen für bessere Performance - cursor.execute("PRAGMA optimize") - - # Foreign Key Constraints aktivieren - cursor.execute("PRAGMA foreign_keys=ON") - - # Auto-Vacuum für automatische Speicherbereinigung - cursor.execute("PRAGMA auto_vacuum=INCREMENTAL") - - # Busy Timeout für Concurrent Access - cursor.execute("PRAGMA busy_timeout=30000") # 30 Sekunden - - # Checkpoint-Intervall für WAL - cursor.execute("PRAGMA wal_autocheckpoint=1000") - - # ===== RASPBERRY PI SPEZIFISCHE OPTIMIERUNGEN ===== - # Reduzierte Cache-Größe für schwache Hardware - cursor.execute("PRAGMA cache_size=-32000") # 32MB statt 64MB für Pi - - # Kleinere Memory-mapped I/O für SD-Karten - cursor.execute("PRAGMA mmap_size=134217728") # 128MB statt 256MB - - # Weniger aggressive Vacuum-Einstellungen - cursor.execute("PRAGMA auto_vacuum=INCREMENTAL") - cursor.execute("PRAGMA incremental_vacuum(10)") # Nur 10 Seiten pro Mal - - # Optimierungen für SD-Karten I/O - cursor.execute("PRAGMA page_size=4096") # Optimal für SD-Karten - cursor.execute("PRAGMA temp_store=MEMORY") # Temp im RAM - cursor.execute("PRAGMA locking_mode=NORMAL") # Normale Sperrung - - # Query Planner Optimierung - cursor.execute("PRAGMA optimize=0x10002") # Aggressive Optimierung - - # Reduzierte WAL-Datei-Größe für Pi - cursor.execute("PRAGMA journal_size_limit=32768000") # 32MB WAL-Limit - - cursor.close() - - logger.info("SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)") - -def create_optimized_engine(): - """ - Erstellt eine optimierte SQLite-Engine mit korrekten SQLite-spezifischen Parametern. - """ - global _engine - - if _engine is not None: - return _engine - - with _connection_pool_lock: - if _engine is not None: - return _engine - - ensure_database_directory() - - # Connection String mit optimierten Parametern - connection_string = f"sqlite:///{DATABASE_PATH}" - - # Engine mit SQLite-spezifischen Parametern (ohne Server-DB Pool-Parameter) - _engine = create_engine( - connection_string, - # SQLite-spezifische Pool-Konfiguration - poolclass=StaticPool, - pool_pre_ping=True, - pool_recycle=7200, # Recycling-Zeit (für SQLite sinnvoll) - connect_args={ - "check_same_thread": False, - "timeout": 45, # Längerer Timeout für SD-Karten - "isolation_level": None, - # Raspberry Pi spezifische SQLite-Einstellungen - "cached_statements": 100, # Reduzierte Statement-Cache - }, - echo=False, - # Performance-optimierte Execution-Optionen für Pi - execution_options={ - "autocommit": False, - "compiled_cache": {}, # Statement-Kompilierung cachen - } - # Entfernt: pool_size, max_overflow, pool_timeout (nicht für SQLite/StaticPool) - ) - - # Event-Listener für SQLite-Optimierungen - event.listen(_engine, "connect", configure_sqlite_for_production) - - # Regelmäßige Wartungsaufgaben - event.listen(_engine, "connect", lambda conn, rec: schedule_maintenance()) - - # ===== CLEANUP MANAGER INTEGRATION ===== - # Registriere Engine beim Cleanup-Manager für sicheres Shutdown - if CLEANUP_MANAGER_AVAILABLE: - try: - cleanup_manager = get_cleanup_manager() - cleanup_manager.register_engine(_engine) - logger.debug("Engine beim DatabaseCleanupManager registriert") - except Exception as e: - logger.warning(f"Fehler bei Cleanup-Manager-Registrierung: {e}") - - logger.info(f"Optimierte SQLite-Engine erstellt: {DATABASE_PATH}") - - return _engine - -def schedule_maintenance(): - """ - Plant regelmäßige Wartungsaufgaben für die Datenbank. - """ - def maintenance_worker(): - time.sleep(300) # 5 Minuten warten - while True: - try: - with get_maintenance_session() as session: - # WAL-Checkpoint ausführen (aggressive Strategie) - checkpoint_result = session.execute(text("PRAGMA wal_checkpoint(TRUNCATE)")).fetchone() - - # Nur loggen wenn tatsächlich Daten übertragen wurden - if checkpoint_result and checkpoint_result[1] > 0: - logger.info(f"WAL-Checkpoint: {checkpoint_result[1]} Seiten übertragen, {checkpoint_result[2]} Seiten zurückgesetzt") - - # Statistiken aktualisieren (alle 30 Minuten) - session.execute(text("ANALYZE")) - - # Incremental Vacuum (alle 60 Minuten) - session.execute(text("PRAGMA incremental_vacuum")) - - session.commit() - - except Exception as e: - logger.error(f"Fehler bei Datenbank-Wartung: {str(e)}") - - # Warte 30 Minuten bis zur nächsten Wartung - time.sleep(1800) - - # Wartung in separatem Thread ausführen - maintenance_thread = threading.Thread(target=maintenance_worker, daemon=True) - maintenance_thread.start() - -def get_session_factory(): - """ - Gibt die Thread-sichere Session-Factory zurück. - """ - global _session_factory, _scoped_session - - if _session_factory is None: - with _connection_pool_lock: - if _session_factory is None: - engine = create_optimized_engine() - _session_factory = sessionmaker( - bind=engine, - autoflush=True, - autocommit=False, - expire_on_commit=False # Objekte nach Commit nicht expiren - ) - _scoped_session = scoped_session(_session_factory) - - return _scoped_session - -@contextmanager -def get_maintenance_session(): - """ - Context Manager für Wartungs-Sessions. - """ - engine = create_optimized_engine() - session = sessionmaker(bind=engine)() - try: - yield session - except Exception as e: - session.rollback() - raise e - finally: - session.close() - -# ===== CACHING-SYSTEM ===== - -def get_cache_key(model_class: str, identifier: Any, extra: str = "") -> str: - """ - Generiert einen Cache-Schlüssel. - """ - return f"{model_class}:{identifier}:{extra}" - -def set_cache(key: str, value: Any, ttl_seconds: int = 300): - """ - Setzt einen Wert im Cache mit TTL. - """ - with _cache_lock: - _cache[key] = value - _cache_ttl[key] = time.time() + ttl_seconds - -def get_cache(key: str) -> Optional[Any]: - """ - Holt einen Wert aus dem Cache. - """ - with _cache_lock: - if key in _cache: - if key in _cache_ttl and time.time() > _cache_ttl[key]: - # Cache-Eintrag abgelaufen - del _cache[key] - del _cache_ttl[key] - return None - return _cache[key] - return None - -def clear_cache(pattern: str = None): - """ - Löscht Cache-Einträge (optional mit Pattern). - """ - with _cache_lock: - if pattern is None: - _cache.clear() - _cache_ttl.clear() - else: - keys_to_delete = [k for k in _cache.keys() if pattern in k] - for key in keys_to_delete: - del _cache[key] - if key in _cache_ttl: - del _cache_ttl[key] - -def invalidate_model_cache(model_class: str, identifier: Any = None): - """ - Invalidiert Cache-Einträge für ein bestimmtes Modell. - """ - if identifier is not None: - pattern = f"{model_class}:{identifier}" - else: - pattern = f"{model_class}:" - clear_cache(pattern) - -# ===== ERWEITERTE SESSION-VERWALTUNG ===== - -@contextmanager -def get_cached_session(): - """ - Context Manager für gecachte Sessions mit automatischem Rollback. - """ - session_factory = get_session_factory() - session = session_factory() - try: - yield session - session.commit() - except Exception as e: - session.rollback() - logger.error(f"Datenbank-Transaktion fehlgeschlagen: {str(e)}") - raise e - finally: - session.close() - -def get_db_session() -> Session: - """ - Gibt eine neue Datenbank-Session zurück (Legacy-Kompatibilität). - """ - session_factory = get_session_factory() - return session_factory() - -# ===== MODELL-DEFINITIONEN ===== - -class User(UserMixin, Base): - __tablename__ = "users" - - id = Column(Integer, primary_key=True) - email = Column(String(120), unique=True, nullable=False) - username = Column(String(100), unique=True, nullable=False) # Füge username hinzu für login - password_hash = Column(String(128), nullable=False) - name = Column(String(100), nullable=False) - role = Column(String(20), default="user") # "admin" oder "user" - active = Column(Boolean, default=True) # Für Flask-Login is_active - created_at = Column(DateTime, default=datetime.now) - last_login = Column(DateTime, nullable=True) # Letzter Login-Zeitstempel - updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now) # Automatische Aktualisierung - settings = Column(Text, nullable=True) # JSON-String für Benutzereinstellungen - last_activity = Column(DateTime, default=datetime.now) - - # Zusätzliche Profil-Felder für bessere Benutzerverwaltung - department = Column(String(100), nullable=True) # Abteilung - position = Column(String(100), nullable=True) # Position/Rolle im Unternehmen - phone = Column(String(50), nullable=True) # Telefonnummer - bio = Column(Text, nullable=True) # Kurze Beschreibung/Bio - - # Benutzereinstellungen - theme_preference = Column(String(20), default="auto") # auto, light, dark - language_preference = Column(String(10), default="de") # de, en, etc. - email_notifications = Column(Boolean, default=True) - browser_notifications = Column(Boolean, default=True) - dashboard_layout = Column(String(20), default="default") # default, compact, detailed - compact_mode = Column(Boolean, default=False) - show_completed_jobs = Column(Boolean, default=True) - auto_refresh_interval = Column(Integer, default=30) # Sekunden - auto_logout_timeout = Column(Integer, default=0) # Minuten, 0 = deaktiviert - - jobs = relationship("Job", back_populates="user", foreign_keys="Job.user_id", cascade="all, delete-orphan") - owned_jobs = relationship("Job", foreign_keys="Job.owner_id", overlaps="owner") - permissions = relationship("UserPermission", back_populates="user", uselist=False, cascade="all, delete-orphan") - notifications = relationship("Notification", back_populates="user", cascade="all, delete-orphan") - - def set_password(self, password: str) -> None: - password_bytes = password.encode('utf-8') - salt = bcrypt.gensalt() - self.password_hash = bcrypt.hashpw(password_bytes, salt).decode('utf-8') - # Cache invalidieren - invalidate_model_cache("User", self.id) - - def check_password(self, password: str) -> bool: - password_bytes = password.encode('utf-8') - hash_bytes = self.password_hash.encode('utf-8') - return bcrypt.checkpw(password_bytes, hash_bytes) - - @property - def is_admin(self) -> bool: - return self.role == "admin" - - def has_role(self, role: str) -> bool: - """ - Überprüft, ob der Benutzer eine bestimmte Rolle hat. - - Args: - role: Name der Rolle (z.B. 'admin', 'user') - - Returns: - bool: True wenn Rolle vorhanden, sonst False - """ - return self.role == role - - def get_initials(self) -> str: - """ - Generiert Initialen aus dem Benutzernamen für Avatar-Anzeige. - - Returns: - str: Initialen des Benutzers (max. 2 Zeichen) - """ - if self.name: - # Aus dem vollständigen Namen Initialen erstellen - name_parts = self.name.strip().split() - if len(name_parts) >= 2: - return (name_parts[0][0] + name_parts[-1][0]).upper() - elif len(name_parts) == 1: - return name_parts[0][:2].upper() - - # Fallback: Aus Username Initialen erstellen - if self.username: - return self.username[:2].upper() - - # Notfall-Fallback - return "??" - - @property - def display_name(self) -> str: - """ - Gibt den Anzeigenamen des Benutzers zurück. - - Returns: - str: Name oder Username als Fallback - """ - return self.name if self.name else self.username - - @property - def is_active(self) -> bool: - """Required for Flask-Login""" - return self.active - - def get_id(self) -> str: - """Required for Flask-Login - return user id as unicode string""" - return str(self.id) - - def to_dict(self) -> dict: - # Cache-Key für User-Dict - cache_key = get_cache_key("User", self.id, "dict") - cached_result = get_cache(cache_key) - - if cached_result is not None: - return cached_result - - result = { - "id": self.id, - "email": self.email, - "username": self.username, - "name": self.name, - "role": self.role, - "active": self.active, - "created_at": self.created_at.isoformat() if self.created_at else None, - "last_login": self.last_login.isoformat() if self.last_login else None, - "updated_at": self.updated_at.isoformat() if self.updated_at else None, - "settings": self.settings, - "department": self.department, - "position": self.position, - "phone": self.phone, - "last_login": self.last_login.isoformat() if self.last_login else None - } - - # Ergebnis cachen (5 Minuten) - set_cache(cache_key, result, 300) - return result - - @classmethod - def get_by_username_or_email(cls, identifier: str) -> Optional['User']: - """ - Holt einen Benutzer anhand von Username oder E-Mail mit Caching. - """ - cache_key = get_cache_key("User", identifier, "login") - cached_user = get_cache(cache_key) - - if cached_user is not None: - return cached_user - - with get_cached_session() as session: - user = session.query(cls).filter( - (cls.username == identifier) | (cls.email == identifier) - ).first() - - if user: - # User für 10 Minuten cachen - set_cache(cache_key, user, 600) - - return user - - @classmethod - def get_by_id_cached(cls, user_id: int) -> Optional['User']: - """ - Holt einen Benutzer anhand der ID mit Caching. - """ - cache_key = get_cache_key("User", user_id, "id") - cached_user = get_cache(cache_key) - - if cached_user is not None: - return cached_user - - with get_cached_session() as session: - user = session.query(cls).filter(cls.id == user_id).first() - - if user: - # User für 10 Minuten cachen - set_cache(cache_key, user, 600) - - return user - - def update_last_login(self): - """ - Aktualisiert den letzten Login-Zeitstempel. - """ - self.last_login = datetime.now() - invalidate_model_cache("User", self.id) - - def has_permission(self, permission_name: str) -> bool: - """ - Überprüft, ob der Benutzer eine bestimmte Berechtigung hat. - - Args: - permission_name: Name der Berechtigung (z.B. 'CONTROL_PRINTER', 'START_JOBS', 'APPROVE_JOBS') - - Returns: - bool: True wenn Berechtigung vorhanden, sonst False - """ - # Administratoren haben alle Berechtigungen - if self.is_admin: - return True - - # Inaktive Benutzer haben keine Berechtigungen - if not self.is_active: - return False - - # Spezifische Berechtigungen - if permission_name == 'ADMIN': - return self.is_admin - - # Standard-Berechtigungen für alle aktiven Benutzer - if permission_name in ['VIEW_JOBS', 'VIEW_CALENDAR']: - return True # Alle aktiven Benutzer können Jobs und Kalender ansehen - - # Überprüfe spezifische Berechtigungen über UserPermission - if self.permissions: - if permission_name == 'CONTROL_PRINTER': - return self.permissions.can_start_jobs and not self.permissions.needs_approval - elif permission_name == 'START_JOBS': - return self.permissions.can_start_jobs - elif permission_name == 'APPROVE_JOBS': - return self.permissions.can_approve_jobs - elif permission_name == 'NEEDS_APPROVAL': - return self.permissions.needs_approval - - # Fallback für unbekannte Berechtigungen - nur Administratoren erlaubt - return False - - def get_permission_level(self) -> str: - """ - Gibt das Berechtigungslevel des Benutzers zurück. - - Returns: - str: 'admin', 'advanced', 'standard', 'restricted' - """ - if self.is_admin: - return 'admin' - - if not self.is_active: - return 'restricted' - - if self.permissions: - if self.permissions.can_approve_jobs: - return 'advanced' - elif self.permissions.can_start_jobs and not self.permissions.needs_approval: - return 'standard' - - return 'restricted' - - -class Printer(Base): - __tablename__ = "printers" - - id = Column(Integer, primary_key=True) - name = Column(String(100), nullable=False) - model = Column(String(100)) # Drucker-Modell - location = Column(String(100)) - ip_address = Column(String(50)) # IP-Adresse des Druckers - mac_address = Column(String(50), nullable=True, unique=True) # Jetzt nullable - plug_ip = Column(String(50), nullable=True) # Jetzt nullable - plug_username = Column(String(100), nullable=True) # Jetzt nullable - plug_password = Column(String(100), nullable=True) # Jetzt nullable - status = Column(String(20), default="offline") # online, offline, busy, idle - active = Column(Boolean, default=True) - created_at = Column(DateTime, default=datetime.now) - last_checked = Column(DateTime, nullable=True) # Zeitstempel der letzten Status-Überprüfung - updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now) # Für Update-Tracking - - jobs = relationship("Job", back_populates="printer", cascade="all, delete-orphan") - - def to_dict(self) -> dict: - # Cache-Key für Printer-Dict - cache_key = get_cache_key("Printer", self.id, "dict") - cached_result = get_cache(cache_key) - - if cached_result is not None: - return cached_result - - result = { - "id": self.id, - "name": self.name, - "model": self.model, - "location": self.location, - "ip_address": self.ip_address, - "mac_address": self.mac_address, - "plug_ip": self.plug_ip, - "status": self.status, - "active": self.active, - "created_at": self.created_at.isoformat() if self.created_at else None, - "last_checked": self.last_checked.isoformat() if self.last_checked else None - } - - # Ergebnis cachen (2 Minuten für Drucker-Status) - set_cache(cache_key, result, 120) - return result - - def update_status(self, new_status: str, active: bool = None): - """ - Aktualisiert den Drucker-Status und invalidiert den Cache. - """ - self.status = new_status - self.last_checked = datetime.now() - - if active is not None: - self.active = active - - # Cache invalidieren - invalidate_model_cache("Printer", self.id) - - @classmethod - def get_all_cached(cls) -> List['Printer']: - """ - Holt alle Drucker mit Caching. - """ - cache_key = get_cache_key("Printer", "all", "list") - cached_printers = get_cache(cache_key) - - if cached_printers is not None: - return cached_printers - - with get_cached_session() as session: - printers = session.query(cls).all() - - # Drucker für 5 Minuten cachen - set_cache(cache_key, printers, 300) - - return printers - - @classmethod - def get_online_printers(cls) -> List['Printer']: - """ - Holt alle online Drucker mit Caching. - """ - cache_key = get_cache_key("Printer", "online", "list") - cached_printers = get_cache(cache_key) - - if cached_printers is not None: - return cached_printers - - with get_cached_session() as session: - printers = session.query(cls).filter( - cls.status.in_(["online", "available", "idle"]) - ).all() - - # Online-Drucker für 1 Minute cachen (häufiger aktualisiert) - set_cache(cache_key, printers, 60) - - return printers - - -class Job(Base): - __tablename__ = "jobs" - - id = Column(Integer, primary_key=True) - name = Column(String(200), nullable=False) - description = Column(String(500)) # Beschreibung des Jobs - user_id = Column(Integer, ForeignKey("users.id"), nullable=False) - printer_id = Column(Integer, ForeignKey("printers.id"), nullable=False) - start_at = Column(DateTime) - end_at = Column(DateTime) - actual_end_time = Column(DateTime) - status = Column(String(20), default="scheduled") # scheduled|running|finished|aborted - created_at = Column(DateTime, default=datetime.now) - notes = Column(String(500)) - material_used = Column(Float) # in Gramm - file_path = Column(String(500), nullable=True) - owner_id = Column(Integer, ForeignKey("users.id"), nullable=True) - duration_minutes = Column(Integer, nullable=False) # Dauer in Minuten - - user = relationship("User", back_populates="jobs", foreign_keys=[user_id]) - owner = relationship("User", foreign_keys=[owner_id], overlaps="owned_jobs") - printer = relationship("Printer", back_populates="jobs") - - def to_dict(self) -> dict: - # Cache-Key für Job-Dict - cache_key = get_cache_key("Job", self.id, "dict") - cached_result = get_cache(cache_key) - - if cached_result is not None: - return cached_result - - result = { - "id": self.id, - "name": self.name, - "description": self.description, - "user_id": self.user_id, - "printer_id": self.printer_id, - "start_at": self.start_at.isoformat() if self.start_at else None, - "end_at": self.end_at.isoformat() if self.end_at else None, - "actual_end_time": self.actual_end_time.isoformat() if self.actual_end_time else None, - "status": self.status, - "created_at": self.created_at.isoformat() if self.created_at else None, - "notes": self.notes, - "material_used": self.material_used, - "file_path": self.file_path, - "owner_id": self.owner_id, - "duration_minutes": self.duration_minutes, - "user": self.user.to_dict() if self.user else None, - "printer": self.printer.to_dict() if self.printer else None - } - - # Ergebnis cachen (3 Minuten für Jobs) - set_cache(cache_key, result, 180) - return result - - def update_status(self, new_status: str): - """ - Aktualisiert den Job-Status und invalidiert den Cache. - """ - self.status = new_status - - if new_status in ["finished", "failed", "cancelled"]: - self.actual_end_time = datetime.now() - - # Cache invalidieren - invalidate_model_cache("Job", self.id) - # Auch User- und Printer-Caches invalidieren - invalidate_model_cache("User", self.user_id) - invalidate_model_cache("Printer", self.printer_id) - - @classmethod - def get_active_jobs(cls) -> List['Job']: - """ - Holt alle aktiven Jobs mit Caching. - """ - cache_key = get_cache_key("Job", "active", "list") - cached_jobs = get_cache(cache_key) - - if cached_jobs is not None: - return cached_jobs - - with get_cached_session() as session: - jobs = session.query(cls).filter( - cls.status.in_(["scheduled", "running"]) - ).all() - - # Aktive Jobs für 30 Sekunden cachen (häufig aktualisiert) - set_cache(cache_key, jobs, 30) - - return jobs - - @classmethod - def get_user_jobs(cls, user_id: int) -> List['Job']: - """ - Holt alle Jobs eines Benutzers mit Caching. - """ - cache_key = get_cache_key("Job", f"user_{user_id}", "list") - cached_jobs = get_cache(cache_key) - - if cached_jobs is not None: - return cached_jobs - - with get_cached_session() as session: - jobs = session.query(cls).filter(cls.user_id == user_id).all() - - # Benutzer-Jobs für 5 Minuten cachen - set_cache(cache_key, jobs, 300) - - return jobs - - -class Stats(Base): - __tablename__ = "stats" - - id = Column(Integer, primary_key=True) - total_print_time = Column(Integer, default=0) # in Sekunden - total_jobs_completed = Column(Integer, default=0) - total_material_used = Column(Float, default=0.0) # in Gramm - last_updated = Column(DateTime, default=datetime.now) - - def to_dict(self) -> dict: - # Cache-Key für Stats-Dict - cache_key = get_cache_key("Stats", self.id, "dict") - cached_result = get_cache(cache_key) - - if cached_result is not None: - return cached_result - - result = { - "id": self.id, - "total_print_time": self.total_print_time, - "total_jobs_completed": self.total_jobs_completed, - "total_material_used": self.total_material_used, - "last_updated": self.last_updated.isoformat() if self.last_updated else None - } - - # Statistiken für 10 Minuten cachen - set_cache(cache_key, result, 600) - return result - - -class SystemLog(Base): - """System-Log Modell für Logging von System-Events""" - __tablename__ = "system_logs" - - id = Column(Integer, primary_key=True) - timestamp = Column(DateTime, default=datetime.now, nullable=False) - level = Column(String(20), nullable=False) # DEBUG, INFO, WARNING, ERROR, CRITICAL - message = Column(String(1000), nullable=False) - module = Column(String(100)) # Welches Modul/Blueprint den Log erstellt hat - user_id = Column(Integer, ForeignKey("users.id"), nullable=True) # Optional: welcher User - ip_address = Column(String(50)) # Optional: IP-Adresse - user_agent = Column(String(500)) # Optional: Browser/Client Info - - user = relationship("User", foreign_keys=[user_id]) - - def to_dict(self) -> dict: - return { - "id": self.id, - "timestamp": self.timestamp.isoformat() if self.timestamp else None, - "level": self.level, - "message": self.message, - "module": self.module, - "user_id": self.user_id, - "ip_address": self.ip_address, - "user_agent": self.user_agent, - "user": self.user.to_dict() if self.user else None - } - - @classmethod - def log_system_event(cls, level: str, message: str, module: str = None, - user_id: int = None, ip_address: str = None, - user_agent: str = None) -> 'SystemLog': - """ - Hilfsmethode zum Erstellen eines System-Log-Eintrags - - Args: - level: Log-Level (DEBUG, INFO, WARNING, ERROR, CRITICAL) - message: Log-Nachricht - module: Optional - Modul/Blueprint Name - user_id: Optional - Benutzer-ID - ip_address: Optional - IP-Adresse - user_agent: Optional - User-Agent String - - Returns: - SystemLog: Das erstellte Log-Objekt - """ - return cls( - level=level.upper(), - message=message, - module=module, - user_id=user_id, - ip_address=ip_address, - user_agent=user_agent - ) - - -class UserPermission(Base): - """ - Berechtigungen für Benutzer. - """ - __tablename__ = "user_permissions" - - user_id = Column(Integer, ForeignKey("users.id"), primary_key=True) - can_start_jobs = Column(Boolean, default=False) - needs_approval = Column(Boolean, default=True) - can_approve_jobs = Column(Boolean, default=False) - - user = relationship("User", back_populates="permissions") - - def to_dict(self) -> dict: - """ - Konvertiert die Benutzerberechtigungen in ein Dictionary. - """ - return { - "user_id": self.user_id, - "can_start_jobs": self.can_start_jobs, - "needs_approval": self.needs_approval, - "can_approve_jobs": self.can_approve_jobs - } - - -class Notification(Base): - """ - Benachrichtigungen für Benutzer. - """ - __tablename__ = "notifications" - - id = Column(Integer, primary_key=True) - user_id = Column(Integer, ForeignKey("users.id"), nullable=False) - title = Column(String(255), nullable=True) # Titel der Benachrichtigung - message = Column(Text, nullable=True) # Inhalt der Benachrichtigung - type = Column(String(50), nullable=False) - payload = Column(Text) # JSON-Daten als String - created_at = Column(DateTime, default=datetime.now) - is_read = Column(Boolean, default=False) # Korrigiert: is_read statt read - read_at = Column(DateTime, nullable=True) # Zeitpunkt des Lesens - - user = relationship("User", back_populates="notifications") - - def to_dict(self) -> dict: - """ - Konvertiert die Benachrichtigung in ein Dictionary. - """ - return { - "id": self.id, - "user_id": self.user_id, - "title": self.title, - "message": self.message, - "type": self.type, - "payload": self.payload, - "created_at": self.created_at.isoformat() if self.created_at else None, - "is_read": self.is_read, - "read_at": self.read_at.isoformat() if self.read_at else None - } - - @classmethod - def create_for_approvers(cls, notification_type: str, payload: dict): - """ - Erstellt Benachrichtigungen für alle Benutzer mit can_approve_jobs-Berechtigung. - - Args: - notification_type: Art der Benachrichtigung - payload: Daten für die Benachrichtigung als Dictionary - """ - import json - from utils.logging_config import get_logger - - logger = get_logger(__name__) - - try: - payload_json = json.dumps(payload, ensure_ascii=False) - - with get_cached_session() as session: - # Alle Benutzer mit can_approve_jobs-Berechtigung finden - approvers = session.query(User).join(UserPermission).filter( - UserPermission.can_approve_jobs == True, - User.active == True # Nur aktive Benutzer - ).all() - - logger.info(f"Gefunden: {len(approvers)} Genehmiger für Benachrichtigung '{notification_type}'") - - if not approvers: - logger.warning("Keine Genehmiger mit can_approve_jobs-Berechtigung gefunden!") - return - - # Benachrichtigungen für alle Genehmiger erstellen - notifications_created = 0 - for approver in approvers: - try: - # Titel und Message basierend auf Typ generieren - if notification_type == "guest_request": - title = "Neue Gastanfrage eingegangen" - message = f"Gastanfrage von {payload.get('name', 'Unbekannt')} wartet auf Ihre Genehmigung." - else: - title = f"Neue {notification_type}" - message = "Eine neue Benachrichtigung wartet auf Sie." - - notification = cls( - user_id=approver.id, - title=title, - message=message, - type=notification_type, - payload=payload_json - ) - session.add(notification) - notifications_created += 1 - - logger.debug(f"Benachrichtigung für Benutzer {approver.email} (ID: {approver.id}) erstellt") - - except Exception as e: - logger.error(f"Fehler beim Erstellen der Benachrichtigung für Benutzer {approver.id}: {str(e)}") - continue - - session.commit() - logger.info(f"Erfolgreich {notifications_created} Benachrichtigungen erstellt für '{notification_type}'") - - # Cache für Benachrichtigungen invalidieren - for approver in approvers: - invalidate_model_cache("Notification", approver.id) - - except Exception as e: - logger.error(f"Fehler beim Erstellen der Admin-Benachrichtigungen: {str(e)}") - raise - - -class GuestRequest(Base): - """ - Gastanfragen für Druckaufträge. - """ - __tablename__ = "guest_requests" - - id = Column(Integer, primary_key=True) - name = Column(String(100), nullable=False) - email = Column(String(120)) - reason = Column(Text) - duration_min = Column(Integer) # Bestehend - wird für Backward-Kompatibilität beibehalten - duration_minutes = Column(Integer) # Neu hinzugefügt für API-Kompatibilität - created_at = Column(DateTime, default=datetime.now) - status = Column(String(20), default="pending") # pending|approved|denied - printer_id = Column(Integer, ForeignKey("printers.id")) - otp_code = Column(String(100), nullable=True) # Hash des OTP-Codes - job_id = Column(Integer, ForeignKey("jobs.id"), nullable=True) - author_ip = Column(String(50)) - otp_used_at = Column(DateTime, nullable=True) # Zeitpunkt der OTP-Verwendung - - # Erweiterte Attribute für Datei-Management - file_name = Column(String(255), nullable=True) # Name der hochgeladenen Datei - file_path = Column(String(500), nullable=True) # Pfad zur hochgeladenen Datei - copies = Column(Integer, default=1) # Anzahl der Kopien - - # Neue Felder für Admin-Verwaltung - processed_by = Column(Integer, ForeignKey("users.id"), nullable=True) # Admin der die Anfrage bearbeitet hat - processed_at = Column(DateTime, nullable=True) # Zeitpunkt der Bearbeitung - approval_notes = Column(Text, nullable=True) # Notizen bei Genehmigung - rejection_reason = Column(Text, nullable=True) # Grund bei Ablehnung - updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now) # Automatische Aktualisierung - - # Zusätzliche Zeitstempel für bessere Verwaltung - approved_at = Column(DateTime, nullable=True) # Zeitpunkt der Genehmigung - rejected_at = Column(DateTime, nullable=True) # Zeitpunkt der Ablehnung - approved_by = Column(Integer, ForeignKey("users.id"), nullable=True) # Admin der genehmigt hat - rejected_by = Column(Integer, ForeignKey("users.id"), nullable=True) # Admin der abgelehnt hat - - # OTP-Verwaltung erweitert - otp_expires_at = Column(DateTime, nullable=True) # Ablaufzeit des OTP-Codes - otp_code_plain = Column(String(10), nullable=True) # OTP-Code im Klartext für Admin-Anzeige - assigned_printer_id = Column(Integer, ForeignKey("printers.id"), nullable=True) # Zugewiesener Drucker - - # Beziehungen - printer = relationship("Printer", foreign_keys=[printer_id]) - assigned_printer = relationship("Printer", foreign_keys=[assigned_printer_id]) - job = relationship("Job") - processed_by_user = relationship("User", foreign_keys=[processed_by]) # Admin der bearbeitet hat - approved_by_user = relationship("User", foreign_keys=[approved_by]) # Admin der genehmigt hat - rejected_by_user = relationship("User", foreign_keys=[rejected_by]) # Admin der abgelehnt hat - - def to_dict(self) -> dict: - # Cache-Key für GuestRequest-Dict - cache_key = get_cache_key("GuestRequest", self.id, "dict") - cached_result = get_cache(cache_key) - - if cached_result is not None: - return cached_result - - result = { - "id": self.id, - "name": self.name, - "email": self.email, - "reason": self.reason, - "duration_min": self.duration_min, - "duration_minutes": self.duration_minutes, - "created_at": self.created_at.isoformat() if self.created_at else None, - "status": self.status, - "printer_id": self.printer_id, - "job_id": self.job_id, - "author_ip": self.author_ip, - "otp_used_at": self.otp_used_at.isoformat() if self.otp_used_at else None, - "file_name": self.file_name, - "file_path": self.file_path, - "copies": self.copies, - "processed_by": self.processed_by, - "processed_at": self.processed_at.isoformat() if self.processed_at else None, - "approval_notes": self.approval_notes, - "rejection_reason": self.rejection_reason, - "updated_at": self.updated_at.isoformat() if self.updated_at else None, - "approved_at": self.approved_at.isoformat() if self.approved_at else None, - "rejected_at": self.rejected_at.isoformat() if self.rejected_at else None, - "approved_by": self.approved_by, - "rejected_by": self.rejected_by, - "otp_expires_at": self.otp_expires_at.isoformat() if self.otp_expires_at else None, - "otp_code_plain": self.otp_code_plain, # Klartext für Admin-Anzeige - "assigned_printer_id": self.assigned_printer_id, - } - - # Ergebnis cachen (5 Minuten) - set_cache(cache_key, result, 300) - return result - - def generate_otp(self) -> str: - """ - Generiert einen neuen 6-stelligen alphanumerischen OTP-Code und speichert den Hash. - """ - # 6-stelliger alphanumerischer Code (Großbuchstaben und Zahlen) - characters = string.ascii_uppercase + string.digits - otp_plain = ''.join(secrets.choice(characters) for _ in range(6)) - - # Hash des OTP-Codes speichern - otp_bytes = otp_plain.encode('utf-8') - salt = bcrypt.gensalt() - self.otp_code = bcrypt.hashpw(otp_bytes, salt).decode('utf-8') - - # Klartext-Version für Admin-Anzeige speichern - self.otp_code_plain = otp_plain - - # Ablaufzeit setzen (72 Stunden ab jetzt) - self.otp_expires_at = datetime.now() + timedelta(hours=72) - - logger.info(f"6-stelliger OTP generiert für Guest Request {self.id}") - - # Cache invalidieren - invalidate_model_cache("GuestRequest", self.id) - - return otp_plain - - def verify_otp(self, otp_plain: str) -> bool: - """ - Verifiziert einen 6-stelligen OTP-Code. - """ - if not self.otp_code or not otp_plain: - return False - - # Prüfen ob Code bereits verwendet wurde - if self.otp_used_at: - logger.warning(f"OTP bereits verwendet für Guest Request {self.id}") - return False - - # Prüfen ob Code abgelaufen ist - if self.otp_expires_at and datetime.now() > self.otp_expires_at: - logger.warning(f"OTP abgelaufen für Guest Request {self.id}") - return False - - try: - # Code normalisieren (Großbuchstaben) - otp_normalized = otp_plain.upper().strip() - - if len(otp_normalized) != 6: - logger.warning(f"OTP hat falsche Länge für Guest Request {self.id}: {len(otp_normalized)}") - return False - - otp_bytes = otp_normalized.encode('utf-8') - hash_bytes = self.otp_code.encode('utf-8') - - is_valid = bcrypt.checkpw(otp_bytes, hash_bytes) - - if is_valid: - logger.info(f"OTP erfolgreich verifiziert für Guest Request {self.id}") - - # Cache invalidieren - invalidate_model_cache("GuestRequest", self.id) - else: - logger.warning(f"Ungültiger OTP-Code für Guest Request {self.id}") - - return is_valid - - except Exception as e: - logger.error(f"Fehler bei OTP-Verifizierung: {str(e)}") - return False - - def mark_otp_used(self) -> bool: - """ - Markiert den OTP-Code als verwendet. - """ - try: - self.otp_used_at = datetime.now() - - # Cache invalidieren - invalidate_model_cache("GuestRequest", self.id) - - logger.info(f"OTP als verwendet markiert für Guest Request {self.id}") - return True - - except Exception as e: - logger.error(f"Fehler beim Markieren des OTP als verwendet: {str(e)}") - return False - - def is_otp_valid(self) -> bool: - """ - Prüft ob der OTP-Code noch gültig und verwendbar ist. - """ - if not self.otp_code: - return False - - if self.otp_used_at: - return False - - if self.otp_expires_at and datetime.now() > self.otp_expires_at: - return False - - return True - - def get_otp_status(self) -> str: - """ - Gibt den Status des OTP-Codes zurück. - """ - if not self.otp_code: - return "not_generated" - - if self.otp_used_at: - return "used" - - if self.otp_expires_at and datetime.now() > self.otp_expires_at: - return "expired" - - return "valid" - - @classmethod - def find_by_otp(cls, otp_code: str) -> Optional['GuestRequest']: - """ - Findet eine Gastanfrage anhand des OTP-Codes. - """ - if not otp_code or len(otp_code) != 6: - return None - - try: - with get_cached_session() as session: - # Alle genehmigten Gastanfragen mit OTP-Codes finden - guest_requests = session.query(cls).filter( - cls.status == "approved", - cls.otp_code.isnot(None), - cls.otp_used_at.is_(None) # Noch nicht verwendet - ).all() - - # Code gegen alle Hashes prüfen - for request in guest_requests: - if request.verify_otp(otp_code): - return request - - return None - - except Exception as e: - logger.error(f"Fehler beim Suchen der Gastanfrage per OTP: {str(e)}") - return None - - @classmethod - def find_by_otp_and_name(cls, otp_code: str, name: str) -> Optional['GuestRequest']: - """ - Findet eine Gastanfrage anhand des OTP-Codes UND Names (für Offline-System). - Zusätzliche Sicherheit durch Name-Verifikation. - """ - if not otp_code or len(otp_code) != 6 or not name: - return None - - try: - with get_cached_session() as session: - # Alle genehmigten Gastanfragen mit OTP-Codes und passendem Namen finden - guest_requests = session.query(cls).filter( - cls.status == "approved", - cls.otp_code.isnot(None), - cls.otp_used_at.is_(None), # Noch nicht verwendet - cls.name.ilike(f"%{name.strip()}%") # Name-Matching (case-insensitive) - ).all() - - # Code gegen alle passenden Anfragen prüfen - for request in guest_requests: - if request.verify_otp(otp_code): - # Zusätzliche Name-Verifikation (exakte Übereinstimmung) - if request.name.strip().lower() == name.strip().lower(): - logger.info(f"Gastanfrage {request.id} erfolgreich per Name+OTP authentifiziert") - return request - else: - logger.warning(f"OTP stimmt, aber Name passt nicht exakt: '{request.name}' vs '{name}'") - - return None - - except Exception as e: - logger.error(f"Fehler beim Suchen der Gastanfrage per Name+OTP: {str(e)}") - return None - - -class JobOrder(Base): - """ - Job-Reihenfolge für Drucker im Drag & Drop System. - Speichert die benutzerdefinierte Reihenfolge der Jobs pro Drucker. - """ - __tablename__ = "job_orders" - - id = Column(Integer, primary_key=True) - printer_id = Column(Integer, ForeignKey("printers.id"), nullable=False) - job_id = Column(Integer, ForeignKey("jobs.id"), nullable=False) - order_position = Column(Integer, nullable=False) # Position in der Reihenfolge (0-basiert) - created_at = Column(DateTime, default=datetime.now) - updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now) - last_modified_by = Column(Integer, ForeignKey("users.id"), nullable=True) # Wer die Reihenfolge geändert hat - - # Beziehungen - printer = relationship("Printer", foreign_keys=[printer_id]) - job = relationship("Job", foreign_keys=[job_id]) - modified_by_user = relationship("User", foreign_keys=[last_modified_by]) - - # Eindeutige Kombination: Ein Job kann nur eine Position pro Drucker haben - __table_args__ = ( - # Hier könnten Constraints definiert werden - ) - - def to_dict(self) -> dict: - return { - "id": self.id, - "printer_id": self.printer_id, - "job_id": self.job_id, - "order_position": self.order_position, - "created_at": self.created_at.isoformat() if self.created_at else None, - "updated_at": self.updated_at.isoformat() if self.updated_at else None, - "last_modified_by": self.last_modified_by, - "printer": self.printer.to_dict() if self.printer else None, - "job": self.job.to_dict() if self.job else None - } - - @classmethod - def get_order_for_printer(cls, printer_id: int) -> List['JobOrder']: - """ - Holt die Job-Reihenfolge für einen bestimmten Drucker. - """ - cache_key = get_cache_key("JobOrder", printer_id, "printer_order") - cached_order = get_cache(cache_key) - - if cached_order is not None: - return cached_order - - with get_cached_session() as session: - order = session.query(cls).filter( - cls.printer_id == printer_id - ).order_by(cls.order_position.asc()).all() - - # Ergebnis für 5 Minuten cachen - set_cache(cache_key, order, 300) - return order - - @classmethod - def update_printer_order(cls, printer_id: int, job_ids: List[int], - modified_by_user_id: int = None) -> bool: - """ - Aktualisiert die Job-Reihenfolge für einen Drucker. - """ - try: - with get_cached_session() as session: - # Bestehende Reihenfolge für diesen Drucker löschen - session.query(cls).filter(cls.printer_id == printer_id).delete() - - # Neue Reihenfolge erstellen - for position, job_id in enumerate(job_ids): - order = cls( - printer_id=printer_id, - job_id=job_id, - order_position=position, - last_modified_by=modified_by_user_id - ) - session.add(order) - - session.commit() - - # Cache invalidieren - invalidate_model_cache("JobOrder", printer_id) - - return True - - except Exception as e: - logger.error(f"Fehler beim Aktualisieren der Job-Reihenfolge: {str(e)}") - return False - - @classmethod - def get_ordered_job_ids(cls, printer_id: int) -> List[int]: - """ - Holt die geordneten Job-IDs für einen bestimmten Drucker. - """ - cache_key = get_cache_key("JobOrder", printer_id, "ordered_ids") - cached_ids = get_cache(cache_key) - - if cached_ids is not None: - return cached_ids - - orders = cls.get_order_for_printer(printer_id) - job_ids = [order.job_id for order in orders] - - # Ergebnis für 5 Minuten cachen - set_cache(cache_key, job_ids, 300) - return job_ids - - @classmethod - def remove_job_from_orders(cls, job_id: int): - """ - Entfernt einen Job aus allen Reihenfolgen (wenn Job gelöscht wird). - """ - try: - with get_cached_session() as session: - # Job aus allen Reihenfolgen entfernen - affected_printers = session.query(cls.printer_id).filter( - cls.job_id == job_id - ).distinct().all() - - session.query(cls).filter(cls.job_id == job_id).delete() - - # Positionen neu arrangieren für betroffene Drucker - for (printer_id,) in affected_printers: - remaining_orders = session.query(cls).filter( - cls.printer_id == printer_id - ).order_by(cls.order_position.asc()).all() - - # Positionen neu vergeben - for new_position, order in enumerate(remaining_orders): - order.order_position = new_position - - # Cache für diesen Drucker invalidieren - invalidate_model_cache("JobOrder", printer_id) - - session.commit() - - except Exception as e: - logger.error(f"Fehler beim Entfernen des Jobs aus Reihenfolgen: {str(e)}") - - @classmethod - def cleanup_invalid_orders(cls): - """ - Bereinigt ungültige Reihenfolgen-Einträge (Jobs/Drucker die nicht mehr existieren). - """ - try: - with get_cached_session() as session: - # Finde Reihenfolgen mit nicht-existierenden Jobs - invalid_job_orders = session.query(cls).outerjoin( - Job, cls.job_id == Job.id - ).filter(Job.id.is_(None)).all() - - # Finde Reihenfolgen mit nicht-existierenden Druckern - invalid_printer_orders = session.query(cls).outerjoin( - Printer, cls.printer_id == Printer.id - ).filter(Printer.id.is_(None)).all() - - # Alle ungültigen Einträge löschen - for order in invalid_job_orders + invalid_printer_orders: - session.delete(order) - - session.commit() - - # Kompletten Cache leeren für Cleanup - clear_cache() - - logger.info(f"Bereinigung: {len(invalid_job_orders + invalid_printer_orders)} ungültige Reihenfolgen-Einträge entfernt") - - except Exception as e: - logger.error(f"Fehler bei der Bereinigung der Job-Reihenfolgen: {str(e)}") - - -class SystemTimer(Base): - """ - System-Timer für Countdown-Zähler mit Force-Quit-Funktionalität. - Unterstützt verschiedene Timer-Typen für Kiosk, Sessions, Jobs, etc. - """ - __tablename__ = "system_timers" - - id = Column(Integer, primary_key=True) - name = Column(String(100), nullable=False) # Eindeutiger Name des Timers - timer_type = Column(String(50), nullable=False) # kiosk, session, job, system, maintenance - duration_seconds = Column(Integer, nullable=False) # Timer-Dauer in Sekunden - remaining_seconds = Column(Integer, nullable=False) # Verbleibende Sekunden - target_timestamp = Column(DateTime, nullable=False) # Ziel-Zeitstempel wann Timer abläuft - - # Timer-Status und Kontrolle - status = Column(String(20), default="stopped") # stopped, running, paused, expired, force_quit - auto_start = Column(Boolean, default=False) # Automatischer Start nach Erstellung - auto_restart = Column(Boolean, default=False) # Automatischer Neustart nach Ablauf - - # Force-Quit-Konfiguration - force_quit_enabled = Column(Boolean, default=True) # Force-Quit aktiviert - force_quit_action = Column(String(50), default="logout") # logout, restart, shutdown, custom - force_quit_warning_seconds = Column(Integer, default=30) # Warnung X Sekunden vor Force-Quit - - # Zusätzliche Konfiguration - show_warning = Column(Boolean, default=True) # Warnung anzeigen - warning_message = Column(Text, nullable=True) # Benutzerdefinierte Warnung - custom_action_endpoint = Column(String(200), nullable=True) # Custom API-Endpoint für Force-Quit - - # Verwaltung und Tracking - created_by = Column(Integer, ForeignKey("users.id"), nullable=True) # Ersteller (optional für System-Timer) - created_at = Column(DateTime, default=datetime.now) - updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now) - last_activity = Column(DateTime, default=datetime.now) # Letzte Aktivität (für Session-Timer) - - # Kontext-spezifische Felder - context_id = Column(Integer, nullable=True) # Job-ID, Session-ID, etc. - context_data = Column(Text, nullable=True) # JSON-String für zusätzliche Kontext-Daten - - # Statistiken - start_count = Column(Integer, default=0) # Wie oft wurde der Timer gestartet - force_quit_count = Column(Integer, default=0) # Wie oft wurde Force-Quit ausgeführt - - # Beziehungen - created_by_user = relationship("User", foreign_keys=[created_by]) - - def to_dict(self) -> dict: - """ - Konvertiert den Timer zu einem Dictionary für API-Responses. - """ - # Cache-Key für Timer-Dict - cache_key = get_cache_key("SystemTimer", self.id, "dict") - cached_result = get_cache(cache_key) - - if cached_result is not None: - return cached_result - - # Berechne aktuelle verbleibende Zeit - current_remaining = self.get_current_remaining_seconds() - - result = { - "id": self.id, - "name": self.name, - "timer_type": self.timer_type, - "duration_seconds": self.duration_seconds, - "remaining_seconds": current_remaining, - "target_timestamp": self.target_timestamp.isoformat() if self.target_timestamp else None, - "status": self.status, - "auto_start": self.auto_start, - "auto_restart": self.auto_restart, - "force_quit_enabled": self.force_quit_enabled, - "force_quit_action": self.force_quit_action, - "force_quit_warning_seconds": self.force_quit_warning_seconds, - "show_warning": self.show_warning, - "warning_message": self.warning_message, - "custom_action_endpoint": self.custom_action_endpoint, - "created_by": self.created_by, - "created_at": self.created_at.isoformat() if self.created_at else None, - "updated_at": self.updated_at.isoformat() if self.updated_at else None, - "last_activity": self.last_activity.isoformat() if self.last_activity else None, - "context_id": self.context_id, - "context_data": self.context_data, - "start_count": self.start_count, - "force_quit_count": self.force_quit_count, - # Berechnete Felder - "is_running": self.is_running(), - "is_expired": self.is_expired(), - "should_show_warning": self.should_show_warning(), - "progress_percentage": self.get_progress_percentage() - } - - # Ergebnis für 10 Sekunden cachen (kurz wegen sich ändernder Zeit) - set_cache(cache_key, result, 10) - return result - - def get_current_remaining_seconds(self) -> int: - """ - Berechnet die aktuell verbleibenden Sekunden basierend auf dem Ziel-Zeitstempel. - """ - if self.status != "running": - return self.remaining_seconds - - now = datetime.now() - if now >= self.target_timestamp: - return 0 - - remaining = int((self.target_timestamp - now).total_seconds()) - return max(0, remaining) - - def is_running(self) -> bool: - """ - Prüft ob der Timer aktuell läuft. - """ - return self.status == "running" - - def is_expired(self) -> bool: - """ - Prüft ob der Timer abgelaufen ist. - """ - return self.status == "expired" or self.get_current_remaining_seconds() <= 0 - - def should_show_warning(self) -> bool: - """ - Prüft ob eine Warnung angezeigt werden soll. - """ - if not self.show_warning or not self.is_running(): - return False - - remaining = self.get_current_remaining_seconds() - return remaining <= self.force_quit_warning_seconds and remaining > 0 - - def get_progress_percentage(self) -> float: - """ - Berechnet den Fortschritt in Prozent (0.0 bis 100.0). - """ - if self.duration_seconds <= 0: - return 100.0 - - elapsed = self.duration_seconds - self.get_current_remaining_seconds() - return min(100.0, max(0.0, (elapsed / self.duration_seconds) * 100.0)) - - def start_timer(self) -> bool: - """ - Startet den Timer. - """ - try: - if self.status == "running": - return True # Bereits laufend - - now = datetime.now() - self.target_timestamp = now + timedelta(seconds=self.remaining_seconds) - self.status = "running" - self.last_activity = now - self.start_count += 1 - self.updated_at = now - - # Cache invalidieren - invalidate_model_cache("SystemTimer", self.id) - - logger.info(f"Timer '{self.name}' gestartet - läuft für {self.remaining_seconds} Sekunden") - return True - - except Exception as e: - logger.error(f"Fehler beim Starten des Timers '{self.name}': {str(e)}") - return False - - def pause_timer(self) -> bool: - """ - Pausiert den Timer. - """ - try: - if self.status != "running": - return False - - # Verbleibende Zeit aktualisieren - self.remaining_seconds = self.get_current_remaining_seconds() - self.status = "paused" - self.updated_at = datetime.now() - - # Cache invalidieren - invalidate_model_cache("SystemTimer", self.id) - - logger.info(f"Timer '{self.name}' pausiert - {self.remaining_seconds} Sekunden verbleiben") - return True - - except Exception as e: - logger.error(f"Fehler beim Pausieren des Timers '{self.name}': {str(e)}") - return False - - def stop_timer(self) -> bool: - """ - Stoppt den Timer. - """ - try: - self.status = "stopped" - self.remaining_seconds = self.duration_seconds # Zurücksetzen - self.updated_at = datetime.now() - - # Cache invalidieren - invalidate_model_cache("SystemTimer", self.id) - - logger.info(f"Timer '{self.name}' gestoppt und zurückgesetzt") - return True - - except Exception as e: - logger.error(f"Fehler beim Stoppen des Timers '{self.name}': {str(e)}") - return False - - def reset_timer(self) -> bool: - """ - Setzt den Timer auf die ursprüngliche Dauer zurück. - """ - try: - self.remaining_seconds = self.duration_seconds - if self.status == "running": - # Neu berechnen wenn laufend - now = datetime.now() - self.target_timestamp = now + timedelta(seconds=self.duration_seconds) - self.updated_at = datetime.now() - - # Cache invalidieren - invalidate_model_cache("SystemTimer", self.id) - - logger.info(f"Timer '{self.name}' zurückgesetzt auf {self.duration_seconds} Sekunden") - return True - - except Exception as e: - logger.error(f"Fehler beim Zurücksetzen des Timers '{self.name}': {str(e)}") - return False - - def extend_timer(self, additional_seconds: int) -> bool: - """ - Verlängert den Timer um zusätzliche Sekunden. - """ - try: - if additional_seconds <= 0: - return False - - self.duration_seconds += additional_seconds - self.remaining_seconds += additional_seconds - - if self.status == "running": - # Ziel-Zeitstempel aktualisieren - self.target_timestamp = self.target_timestamp + timedelta(seconds=additional_seconds) - - self.updated_at = datetime.now() - - # Cache invalidieren - invalidate_model_cache("SystemTimer", self.id) - - logger.info(f"Timer '{self.name}' um {additional_seconds} Sekunden verlängert") - return True - - except Exception as e: - logger.error(f"Fehler beim Verlängern des Timers '{self.name}': {str(e)}") - return False - - def force_quit_execute(self) -> bool: - """ - Führt die Force-Quit-Aktion aus. - """ - try: - if not self.force_quit_enabled: - logger.warning(f"Force-Quit für Timer '{self.name}' ist deaktiviert") - return False - - self.status = "force_quit" - self.force_quit_count += 1 - self.updated_at = datetime.now() - - # Cache invalidieren - invalidate_model_cache("SystemTimer", self.id) - - logger.warning(f"Force-Quit für Timer '{self.name}' ausgeführt - Aktion: {self.force_quit_action}") - return True - - except Exception as e: - logger.error(f"Fehler beim Force-Quit des Timers '{self.name}': {str(e)}") - return False - - def update_activity(self) -> bool: - """ - Aktualisiert die letzte Aktivität (für Session-Timer). - """ - try: - self.last_activity = datetime.now() - self.updated_at = datetime.now() - - # Cache invalidieren - invalidate_model_cache("SystemTimer", self.id) - - return True - - except Exception as e: - logger.error(f"Fehler beim Aktualisieren der Aktivität für Timer '{self.name}': {str(e)}") - return False - - @classmethod - def get_by_name(cls, name: str) -> Optional['SystemTimer']: - """ - Holt einen Timer anhand des Namens. - """ - cache_key = get_cache_key("SystemTimer", name, "by_name") - cached_timer = get_cache(cache_key) - - if cached_timer is not None: - return cached_timer - - with get_cached_session() as session: - timer = session.query(cls).filter(cls.name == name).first() - - if timer: - # Timer für 5 Minuten cachen - set_cache(cache_key, timer, 300) - - return timer - - @classmethod - def get_by_type(cls, timer_type: str) -> List['SystemTimer']: - """ - Holt alle Timer eines bestimmten Typs. - """ - cache_key = get_cache_key("SystemTimer", timer_type, "by_type") - cached_timers = get_cache(cache_key) - - if cached_timers is not None: - return cached_timers - - with get_cached_session() as session: - timers = session.query(cls).filter(cls.timer_type == timer_type).all() - - # Timer für 2 Minuten cachen - set_cache(cache_key, timers, 120) - return timers - - @classmethod - def get_running_timers(cls) -> List['SystemTimer']: - """ - Holt alle aktuell laufenden Timer. - """ - cache_key = get_cache_key("SystemTimer", "all", "running") - cached_timers = get_cache(cache_key) - - if cached_timers is not None: - return cached_timers - - with get_cached_session() as session: - timers = session.query(cls).filter(cls.status == "running").all() - - # Nur 30 Sekunden cachen wegen sich ändernder Zeiten - set_cache(cache_key, timers, 30) - return timers - - @classmethod - def get_expired_timers(cls) -> List['SystemTimer']: - """ - Holt alle abgelaufenen Timer die Force-Quit-Aktionen benötigen. - """ - with get_cached_session() as session: - now = datetime.now() - - # Timer die laufen aber abgelaufen sind - expired_timers = session.query(cls).filter( - cls.status == "running", - cls.target_timestamp <= now, - cls.force_quit_enabled == True - ).all() - - return expired_timers - - @classmethod - def cleanup_expired_timers(cls) -> int: - """ - Bereinigt abgelaufene Timer und führt Force-Quit-Aktionen aus. - """ - try: - expired_timers = cls.get_expired_timers() - cleanup_count = 0 - - for timer in expired_timers: - if timer.force_quit_execute(): - cleanup_count += 1 - - if cleanup_count > 0: - # Cache für alle Timer invalidieren - clear_cache("SystemTimer") - logger.info(f"Cleanup: {cleanup_count} abgelaufene Timer verarbeitet") - - return cleanup_count - - except Exception as e: - logger.error(f"Fehler beim Cleanup abgelaufener Timer: {str(e)}") - return 0 - - @classmethod - def create_kiosk_timer(cls, duration_minutes: int = 30, auto_start: bool = True) -> Optional['SystemTimer']: - """ - Erstellt einen Standard-Kiosk-Timer. - """ - try: - with get_cached_session() as session: - # Prüfe ob bereits ein Kiosk-Timer existiert - existing = session.query(cls).filter( - cls.timer_type == "kiosk", - cls.name == "kiosk_session" - ).first() - - if existing: - # Bestehenden Timer aktualisieren - existing.duration_seconds = duration_minutes * 60 - existing.remaining_seconds = duration_minutes * 60 - existing.auto_start = auto_start - existing.updated_at = datetime.now() - - if auto_start and existing.status != "running": - existing.start_timer() - - # Cache invalidieren - invalidate_model_cache("SystemTimer", existing.id) - - session.commit() - return existing - - # Neuen Timer erstellen - timer = cls( - name="kiosk_session", - timer_type="kiosk", - duration_seconds=duration_minutes * 60, - remaining_seconds=duration_minutes * 60, - auto_start=auto_start, - force_quit_enabled=True, - force_quit_action="logout", - force_quit_warning_seconds=30, - show_warning=True, - warning_message="Kiosk-Session läuft ab. Bitte speichern Sie Ihre Arbeit.", - target_timestamp=datetime.now() + timedelta(minutes=duration_minutes) - ) - - session.add(timer) - session.commit() - - if auto_start: - timer.start_timer() - - logger.info(f"Kiosk-Timer erstellt: {duration_minutes} Minuten") - return timer - - except Exception as e: - logger.error(f"Fehler beim Erstellen des Kiosk-Timers: {str(e)}") - return None - - -class PlugStatusLog(Base): - """ - Logging-System für Steckdosen-Status Monitoring. - Protokolliert alle Zustandsänderungen der Smart Plugs (TAPO). - """ - __tablename__ = "plug_status_logs" - - id = Column(Integer, primary_key=True) - printer_id = Column(Integer, ForeignKey("printers.id"), nullable=False) - status = Column(String(20), nullable=False) # 'connected', 'disconnected', 'on', 'off' - timestamp = Column(DateTime, default=datetime.now, nullable=False) - - # Zusätzliche Monitoring-Daten - ip_address = Column(String(50), nullable=True) # IP der Steckdose/des Druckers - power_consumption = Column(Float, nullable=True) # Stromverbrauch in Watt (falls verfügbar) - voltage = Column(Float, nullable=True) # Spannung in Volt (falls verfügbar) - current = Column(Float, nullable=True) # Stromstärke in Ampere (falls verfügbar) - - # Monitoring-Kontext - source = Column(String(50), default="system") # 'system', 'manual', 'api', 'scheduler' - user_id = Column(Integer, ForeignKey("users.id"), nullable=True) # Bei manueller Änderung - notes = Column(Text, nullable=True) # Zusätzliche Notizen oder Fehlerinfos - - # Technische Details - response_time_ms = Column(Integer, nullable=True) # Antwortzeit der Steckdose in ms - error_message = Column(Text, nullable=True) # Fehlermeldung bei Verbindungsproblemen - firmware_version = Column(String(50), nullable=True) # Firmware-Version der Steckdose - - # Beziehungen - printer = relationship("Printer", foreign_keys=[printer_id]) - user = relationship("User", foreign_keys=[user_id]) - - def to_dict(self) -> dict: - """ - Konvertiert das PlugStatusLog-Objekt in ein Dictionary. - """ - cache_key = get_cache_key("PlugStatusLog", self.id, "dict") - cached_result = get_cache(cache_key) - - if cached_result is not None: - return cached_result - - result = { - "id": self.id, - "printer_id": self.printer_id, - "printer_name": self.printer.name if self.printer else None, - "status": self.status, - "timestamp": self.timestamp.isoformat() if self.timestamp else None, - "ip_address": self.ip_address, - "power_consumption": self.power_consumption, - "voltage": self.voltage, - "current": self.current, - "source": self.source, - "user_id": self.user_id, - "user_name": self.user.name if self.user else None, - "notes": self.notes, - "response_time_ms": self.response_time_ms, - "error_message": self.error_message, - "firmware_version": self.firmware_version - } - - # Ergebnis cachen (5 Minuten) - set_cache(cache_key, result, 300) - return result - - @classmethod - def log_status_change(cls, printer_id: int, status: str, source: str = "system", - user_id: int = None, ip_address: str = None, - power_consumption: float = None, voltage: float = None, - current: float = None, notes: str = None, - response_time_ms: int = None, error_message: str = None, - firmware_version: str = None) -> 'PlugStatusLog': - """ - Erstellt einen neuen Status-Log-Eintrag für eine Steckdose. - - Args: - printer_id: ID des zugehörigen Druckers (ERFORDERLICH!) - status: Status der Steckdose ('connected', 'disconnected', 'on', 'off') - source: Quelle der Statusänderung ('system', 'manual', 'api', 'scheduler') - user_id: ID des Benutzers (bei manueller Änderung) - ip_address: IP-Adresse der Steckdose - power_consumption: Stromverbrauch in Watt - voltage: Spannung in Volt - current: Stromstärke in Ampere - notes: Zusätzliche Notizen - response_time_ms: Antwortzeit in Millisekunden - error_message: Fehlermeldung bei Problemen - firmware_version: Firmware-Version der Steckdose - - Returns: - Das erstellte PlugStatusLog-Objekt - """ - # VALIDIERUNG: printer_id ist erforderlich - if printer_id is None: - error_msg = "printer_id ist erforderlich für PlugStatusLog.log_status_change" - logger.error(error_msg) - raise ValueError(error_msg) - - if not status: - error_msg = "status ist erforderlich für PlugStatusLog.log_status_change" - logger.error(error_msg) - raise ValueError(error_msg) - - try: - # Verwende get_db_session() für bessere Kontrolle - db_session = get_db_session() - try: - # Prüfe ob Drucker existiert - printer = db_session.query(Printer).filter(Printer.id == printer_id).first() - if not printer: - logger.warning(f"Drucker mit ID {printer_id} nicht gefunden für PlugStatusLog") - # Trotzdem loggen, aber mit Warnung - - log_entry = cls( - printer_id=printer_id, - status=status, - ip_address=ip_address, - power_consumption=power_consumption, - voltage=voltage, - current=current, - source=source, - user_id=user_id, - notes=notes, - response_time_ms=response_time_ms, - error_message=error_message, - firmware_version=firmware_version, - timestamp=datetime.now() - ) - - db_session.add(log_entry) - db_session.commit() - - # Cache invalidieren - invalidate_model_cache("PlugStatusLog") - - logger.info(f"✅ Steckdosen-Status geloggt: Drucker {printer_id}, Status: {status}, Quelle: {source}") - return log_entry - - except Exception as db_error: - logger.error(f"❌ Datenbankfehler beim Loggen des Steckdosen-Status: {str(db_error)}") - db_session.rollback() - raise db_error - finally: - db_session.close() - - except Exception as e: - logger.error(f"❌ Allgemeiner Fehler beim Loggen des Steckdosen-Status: {str(e)}") - raise e - - @classmethod - def get_printer_history(cls, printer_id: int, hours: int = 24) -> List['PlugStatusLog']: - """ - Holt die Steckdosen-Historie für einen bestimmten Drucker. - - Args: - printer_id: ID des Druckers - hours: Anzahl der Stunden zurück (Standard: 24) - - Returns: - Liste der PlugStatusLog-Einträge - """ - cache_key = get_cache_key("PlugStatusLog", printer_id, f"history_{hours}h") - cached_result = get_cache(cache_key) - - if cached_result is not None: - return cached_result - - try: - with get_cached_session() as session: - cutoff_time = datetime.now() - timedelta(hours=hours) - - logs = session.query(cls)\ - .filter(cls.printer_id == printer_id)\ - .filter(cls.timestamp >= cutoff_time)\ - .order_by(cls.timestamp.desc())\ - .all() - - # Ergebnis cachen (10 Minuten) - set_cache(cache_key, logs, 600) - return logs - - except Exception as e: - logger.error(f"Fehler beim Abrufen der Steckdosen-Historie: {str(e)}") - return [] - - @classmethod - def get_all_recent_logs(cls, hours: int = 24, limit: int = 1000) -> List['PlugStatusLog']: - """ - Holt alle aktuellen Steckdosen-Logs für die Administrator-Übersicht. - - Args: - hours: Anzahl der Stunden zurück (Standard: 24) - limit: Maximale Anzahl der Einträge (Standard: 1000) - - Returns: - Liste der PlugStatusLog-Einträge - """ - cache_key = get_cache_key("PlugStatusLog", "all", f"recent_{hours}h_{limit}") - cached_result = get_cache(cache_key) - - if cached_result is not None: - return cached_result - - try: - with get_cached_session() as session: - cutoff_time = datetime.now() - timedelta(hours=hours) - - logs = session.query(cls)\ - .filter(cls.timestamp >= cutoff_time)\ - .order_by(cls.timestamp.desc())\ - .limit(limit)\ - .all() - - # Ergebnis cachen (5 Minuten für Admin-Übersicht) - set_cache(cache_key, logs, 300) - return logs - - except Exception as e: - logger.error(f"Fehler beim Abrufen der aktuellen Steckdosen-Logs: {str(e)}") - return [] - - @classmethod - def get_status_statistics(cls, hours: int = 24) -> Dict[str, Any]: - """ - Erstellt Statistiken über Steckdosen-Status für einen Zeitraum. - - Args: - hours: Anzahl der Stunden zurück (Standard: 24) - - Returns: - Dictionary mit Statistiken - """ - cache_key = get_cache_key("PlugStatusLog", "stats", f"{hours}h") - cached_result = get_cache(cache_key) - - if cached_result is not None: - return cached_result - - try: - with get_cached_session() as session: - cutoff_time = datetime.now() - timedelta(hours=hours) - - # Gesamtanzahl der Logs - total_logs = session.query(cls)\ - .filter(cls.timestamp >= cutoff_time)\ - .count() - - # Status-Verteilung - status_counts = session.query(cls.status, func.count(cls.id))\ - .filter(cls.timestamp >= cutoff_time)\ - .group_by(cls.status)\ - .all() - - # Drucker mit den meisten Statusänderungen - printer_counts = session.query(cls.printer_id, func.count(cls.id))\ - .filter(cls.timestamp >= cutoff_time)\ - .group_by(cls.printer_id)\ - .order_by(func.count(cls.id).desc())\ - .limit(10)\ - .all() - - # Durchschnittliche Antwortzeit - avg_response_time = session.query(func.avg(cls.response_time_ms))\ - .filter(cls.timestamp >= cutoff_time)\ - .filter(cls.response_time_ms.isnot(None))\ - .scalar() - - # Fehlerrate - error_count = session.query(cls)\ - .filter(cls.timestamp >= cutoff_time)\ - .filter(cls.error_message.isnot(None))\ - .count() - - stats = { - "total_logs": total_logs, - "status_distribution": dict(status_counts), - "top_printers": dict(printer_counts), - "average_response_time_ms": float(avg_response_time) if avg_response_time else None, - "error_count": error_count, - "error_rate": (error_count / total_logs * 100) if total_logs > 0 else 0, - "timeframe_hours": hours, - "generated_at": datetime.now().isoformat() - } - - # Ergebnis cachen (10 Minuten) - set_cache(cache_key, stats, 600) - return stats - - except Exception as e: - logger.error(f"Fehler beim Erstellen der Steckdosen-Statistiken: {str(e)}") - return { - "total_logs": 0, - "status_distribution": {}, - "top_printers": {}, - "average_response_time_ms": None, - "error_count": 0, - "error_rate": 0, - "timeframe_hours": hours, - "generated_at": datetime.now().isoformat(), - "error": str(e) - } - - @classmethod - def cleanup_old_logs(cls, days: int = 30) -> int: - """ - Bereinigt alte Steckdosen-Logs (älter als X Tage). - - Args: - days: Anzahl der Tage (Standard: 30) - - Returns: - Anzahl der gelöschten Einträge - """ - try: - with get_cached_session() as session: - cutoff_date = datetime.now() - timedelta(days=days) - - deleted_count = session.query(cls)\ - .filter(cls.timestamp < cutoff_date)\ - .delete() - - session.commit() - - # Cache invalidieren - invalidate_model_cache("PlugStatusLog") - - logger.info(f"Steckdosen-Logs bereinigt: {deleted_count} Einträge gelöscht (älter als {days} Tage)") - return deleted_count - - except Exception as e: - logger.error(f"Fehler beim Bereinigen der Steckdosen-Logs: {str(e)}") - return 0 - - -# ===== DATENBANK-INITIALISIERUNG MIT OPTIMIERUNGEN ===== - -def init_db() -> None: - """Initialisiert die Datenbank und erstellt alle Tabellen mit Optimierungen.""" - ensure_database_directory() - engine = create_optimized_engine() - - # Tabellen erstellen - Base.metadata.create_all(engine) - - # Indizes für bessere Performance erstellen - with engine.connect() as conn: - # Index für User-Login - conn.execute(text(""" - CREATE INDEX IF NOT EXISTS idx_users_username_email - ON users(username, email) - """)) - - # Index für Job-Status und Zeiten - conn.execute(text(""" - CREATE INDEX IF NOT EXISTS idx_jobs_status_times - ON jobs(status, start_at, end_at) - """)) - - # Index für Printer-Status - conn.execute(text(""" - CREATE INDEX IF NOT EXISTS idx_printers_status - ON printers(status, active) - """)) - - # Index für System-Logs - conn.execute(text(""" - CREATE INDEX IF NOT EXISTS idx_system_logs_timestamp - ON system_logs(timestamp, level) - """)) - - conn.commit() - - logger.info("Datenbank mit Optimierungen initialisiert") - - -def init_database() -> None: - """Alias für init_db() - initialisiert die Datenbank und erstellt alle Tabellen.""" - init_db() - - -def create_initial_admin(email: str = "admin@mercedes-benz.com", password: str = "744563017196A", name: str = "Administrator", username: str = "admin") -> bool: - """ - Erstellt einen initialen Admin-Benutzer, falls die Datenbank leer ist. - - Args: - email: E-Mail-Adresse des Admins - password: Passwort des Admins - name: Name des Admins - username: Benutzername des Admins - - Returns: - bool: True, wenn der Admin erstellt wurde, False sonst - """ - try: - with get_cached_session() as session: - # Prüfen, ob der Admin bereits existiert - admin = session.query(User).filter(User.email == email).first() - if admin: - # Admin existiert bereits, Passwort zurücksetzen - admin.set_password(password) - admin.role = "admin" # Sicherstellen, dass der Benutzer Admin-Rechte hat - admin.active = True # Sicherstellen, dass der Account aktiv ist - session.commit() - logger.info(f"Admin-Benutzer {username} ({email}) existiert bereits. Passwort wurde zurückgesetzt.") - return True - - # Admin erstellen, wenn er nicht existiert - admin = User( - email=email, - username=username, - name=name, - role="admin", - active=True - ) - admin.set_password(password) - - session.add(admin) - session.commit() - - # Statistik-Eintrag anlegen, falls noch nicht vorhanden - stats = session.query(Stats).first() - if not stats: - stats = Stats() - session.add(stats) - session.commit() - - logger.info(f"Admin-Benutzer {username} ({email}) wurde angelegt.") - return True - - except Exception as e: - logger.error(f"Fehler beim Erstellen des Admin-Benutzers: {str(e)}") - return False - - -def create_initial_printers() -> bool: - """ - Erstellt die statischen Drucker für Mercedes-Benz TBA Marienfelde. - - Diese Funktion erstellt automatisch die konfigurierten Drucker mit festen IP-Adressen - und Standorten für die Production-Umgebung. - - Returns: - bool: True, wenn die Drucker erfolgreich erstellt/aktualisiert wurden, False sonst - """ - # Statische Drucker-Konfiguration für TBA Marienfelde - STATIC_PRINTERS = [ - { - "name": "Drucker 1", - "ip_address": "192.168.0.100", - "location": "TBA Marienfelde", - "model": "Mercedes 3D Printer", - "plug_ip": "192.168.0.100", # Smart Plug hat gleiche IP - "status": "offline" - }, - { - "name": "Drucker 2", - "ip_address": "192.168.0.101", - "location": "TBA Marienfelde", - "model": "Mercedes 3D Printer", - "plug_ip": "192.168.0.101", - "status": "offline" - }, - { - "name": "Drucker 3", - "ip_address": "192.168.0.102", - "location": "TBA Marienfelde", - "model": "Mercedes 3D Printer", - "plug_ip": "192.168.0.102", - "status": "offline" - }, - { - "name": "Drucker 4", - "ip_address": "192.168.0.103", - "location": "TBA Marienfelde", - "model": "Mercedes 3D Printer", - "plug_ip": "192.168.0.103", - "status": "offline" - }, - { - "name": "Drucker 5", - "ip_address": "192.168.0.104", - "location": "TBA Marienfelde", - "model": "Mercedes 3D Printer", - "plug_ip": "192.168.0.104", - "status": "offline" - }, - { - "name": "Drucker 6", - "ip_address": "192.168.0.106", - "location": "TBA Marienfelde", - "model": "Mercedes 3D Printer", - "plug_ip": "192.168.0.106", - "status": "offline" - } - ] - - try: - with get_cached_session() as session: - created_count = 0 - updated_count = 0 - - for printer_config in STATIC_PRINTERS: - # Prüfen ob Drucker bereits existiert (nach IP-Adresse) - existing_printer = session.query(Printer).filter( - Printer.ip_address == printer_config["ip_address"] - ).first() - - if existing_printer: - # Bestehenden Drucker aktualisieren - existing_printer.name = printer_config["name"] - existing_printer.location = printer_config["location"] - existing_printer.model = printer_config["model"] - existing_printer.plug_ip = printer_config["plug_ip"] - existing_printer.status = printer_config["status"] - existing_printer.active = True - existing_printer.updated_at = datetime.now() - updated_count += 1 - logger.info(f"Drucker aktualisiert: {printer_config['name']} ({printer_config['ip_address']})") - else: - # Neuen Drucker erstellen - new_printer = Printer( - name=printer_config["name"], - ip_address=printer_config["ip_address"], - location=printer_config["location"], - model=printer_config["model"], - plug_ip=printer_config["plug_ip"], - status=printer_config["status"], - active=True, - created_at=datetime.now(), - updated_at=datetime.now() - ) - session.add(new_printer) - created_count += 1 - logger.info(f"Drucker erstellt: {printer_config['name']} ({printer_config['ip_address']})") - - session.commit() - - # Cache für Drucker invalidieren - invalidate_model_cache("Printer") - - total_operations = created_count + updated_count - logger.info(f"✅ Statische Drucker-Initialisierung abgeschlossen: {created_count} erstellt, {updated_count} aktualisiert") - logger.info(f"📍 Alle Drucker sind für Standort 'TBA Marienfelde' konfiguriert") - logger.info(f"🌐 IP-Bereich: 192.168.0.100-106 (außer .105)") - - return True - - except Exception as e: - logger.error(f"❌ Fehler beim Erstellen/Aktualisieren der statischen Drucker: {str(e)}") - return False - -# Engine für Export verfügbar machen -def get_engine(): - """Gibt die optimierte Datenbank-Engine zurück.""" - return create_optimized_engine() - -# Engine-Variable für direkten Import -engine = get_engine() - -# ===== CACHE-VERWALTUNG ===== - -def clear_model_cache(): - """ - Leert den Application-Level Cache für Modelle. - - Diese Funktion kann erweitert werden, um verschiedene Cache-Mechanismen - zu unterstützen, wie z.B. SQLAlchemy Session Cache, Redis Cache, etc. - """ - try: - # SQLAlchemy Session Cache leeren - from sqlalchemy.orm import scoped_session - if _scoped_session: - _scoped_session.remove() - - # Weitere Cache-Clearing-Operationen hier hinzufügen - # z.B. Redis Cache, Memcached, etc. - - return True - except Exception as e: - print(f"Fehler beim Leeren des Model-Cache: {str(e)}") - return False \ No newline at end of file diff --git a/backend/package-lock.json b/backend/package-lock.json deleted file mode 100644 index fd3656d43..000000000 --- a/backend/package-lock.json +++ /dev/null @@ -1,4451 +0,0 @@ -{ - "name": "myp-backend-frontend-build", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "myp-backend-frontend-build", - "version": "1.0.0", - "hasInstallScript": true, - "license": "PRIVATE", - "devDependencies": { - "@tailwindcss/aspect-ratio": "^0.4.2", - "@tailwindcss/forms": "^0.5.7", - "@tailwindcss/line-clamp": "^0.4.4", - "@tailwindcss/typography": "^0.5.13", - "autoprefixer": "^10.4.19", - "chokidar-cli": "^3.0.0", - "concurrently": "^8.2.2", - "cssnano": "^7.0.2", - "filesize": "^10.1.2", - "gzip-size-cli": "^5.1.0", - "postcss": "^8.4.38", - "postcss-cli": "^11.0.0", - "rimraf": "^5.0.7", - "tailwindcss": "^3.4.4", - "terser": "^5.31.1" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=9.0.0" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.27.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", - "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@tailwindcss/aspect-ratio": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@tailwindcss/aspect-ratio/-/aspect-ratio-0.4.2.tgz", - "integrity": "sha512-8QPrypskfBa7QIMuKHg2TA7BqES6vhBrDLOv8Unb6FcFyd3TjKbc6lcmb9UPQHxfl24sXoJ41ux/H7qQQvfaSQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "tailwindcss": ">=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1" - } - }, - "node_modules/@tailwindcss/forms": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.10.tgz", - "integrity": "sha512-utI1ONF6uf/pPNO68kmN1b8rEwNXv3czukalo8VtJH8ksIkZXr3Q3VYudZLkCsDd4Wku120uF02hYK25XGPorw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mini-svg-data-uri": "^1.2.3" - }, - "peerDependencies": { - "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1" - } - }, - "node_modules/@tailwindcss/line-clamp": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/line-clamp/-/line-clamp-0.4.4.tgz", - "integrity": "sha512-5U6SY5z8N42VtrCrKlsTAA35gy2VSyYtHWCsg1H87NU1SXnEfekTVlrga9fzUDrrHcGi2Lb5KenUWb4lRQT5/g==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "tailwindcss": ">=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1" - } - }, - "node_modules/@tailwindcss/typography": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.16.tgz", - "integrity": "sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash.castarray": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.merge": "^4.6.2", - "postcss-selector-parser": "6.0.10" - }, - "peerDependencies": { - "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" - } - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", - "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", - "dev": true, - "license": "MIT" - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true, - "license": "MIT" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true, - "license": "MIT" - }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.21", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", - "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "browserslist": "^4.24.4", - "caniuse-lite": "^1.0.30001702", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.1.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true, - "license": "ISC" - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz", - "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001718", - "electron-to-chromium": "^1.5.160", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/camelcase-keys": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", - "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase": "^6.3.0", - "map-obj": "^4.1.0", - "quick-lru": "^5.1.1", - "type-fest": "^1.2.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001722", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001722.tgz", - "integrity": "sha512-DCQHBBZtiK6JVkAGw7drvAMK0Q0POD/xZvEmDp6baiMMP6QXXk9HpD6mNYBZWhOPG6LvIDb82ITqtWjhDckHCA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar-cli": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chokidar-cli/-/chokidar-cli-3.0.0.tgz", - "integrity": "sha512-xVW+Qeh7z15uZRxHOkP93Ux8A0xbPzwK4GaqD8dQOYc34TlkqUhVSS59fK36DOp5WdJlrRzlYSy02Ht99FjZqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": "^3.5.2", - "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1", - "yargs": "^13.3.0" - }, - "bin": { - "chokidar": "index.js" - }, - "engines": { - "node": ">= 8.10.0" - } - }, - "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cliui/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/cliui/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "license": "MIT" - }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true, - "license": "MIT" - }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "dev": true, - "license": "MIT" - }, - "node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/concurrently": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz", - "integrity": "sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "date-fns": "^2.30.0", - "lodash": "^4.17.21", - "rxjs": "^7.8.1", - "shell-quote": "^1.8.1", - "spawn-command": "0.0.2", - "supports-color": "^8.1.1", - "tree-kill": "^1.2.2", - "yargs": "^17.7.2" - }, - "bin": { - "conc": "dist/bin/concurrently.js", - "concurrently": "dist/bin/concurrently.js" - }, - "engines": { - "node": "^14.13.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" - } - }, - "node_modules/concurrently/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/concurrently/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/concurrently/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/concurrently/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/concurrently/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/concurrently/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/concurrently/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/concurrently/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/concurrently/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-declaration-sorter": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", - "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14 || ^16 || >=18" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.0.7.tgz", - "integrity": "sha512-evKu7yiDIF7oS+EIpwFlMF730ijRyLFaM2o5cTxRGJR9OKHKkc+qP443ZEVR9kZG0syaAJJCPJyfv5pbrxlSng==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssnano-preset-default": "^7.0.7", - "lilconfig": "^3.1.3" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/cssnano-preset-default": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.7.tgz", - "integrity": "sha512-jW6CG/7PNB6MufOrlovs1TvBTEVmhY45yz+bd0h6nw3h6d+1e+/TX+0fflZ+LzvZombbT5f+KC063w9VoHeHow==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.24.5", - "css-declaration-sorter": "^7.2.0", - "cssnano-utils": "^5.0.1", - "postcss-calc": "^10.1.1", - "postcss-colormin": "^7.0.3", - "postcss-convert-values": "^7.0.5", - "postcss-discard-comments": "^7.0.4", - "postcss-discard-duplicates": "^7.0.2", - "postcss-discard-empty": "^7.0.1", - "postcss-discard-overridden": "^7.0.1", - "postcss-merge-longhand": "^7.0.5", - "postcss-merge-rules": "^7.0.5", - "postcss-minify-font-values": "^7.0.1", - "postcss-minify-gradients": "^7.0.1", - "postcss-minify-params": "^7.0.3", - "postcss-minify-selectors": "^7.0.5", - "postcss-normalize-charset": "^7.0.1", - "postcss-normalize-display-values": "^7.0.1", - "postcss-normalize-positions": "^7.0.1", - "postcss-normalize-repeat-style": "^7.0.1", - "postcss-normalize-string": "^7.0.1", - "postcss-normalize-timing-functions": "^7.0.1", - "postcss-normalize-unicode": "^7.0.3", - "postcss-normalize-url": "^7.0.1", - "postcss-normalize-whitespace": "^7.0.1", - "postcss-ordered-values": "^7.0.2", - "postcss-reduce-initial": "^7.0.3", - "postcss-reduce-transforms": "^7.0.1", - "postcss-svgo": "^7.0.2", - "postcss-unique-selectors": "^7.0.4" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/cssnano-utils": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.1.tgz", - "integrity": "sha512-ZIP71eQgG9JwjVZsTPSqhc6GHgEr53uJ7tK5///VfyWj6Xp2DBmixWHqJgPno+PqATzn48pL42ww9x5SSGmhZg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "css-tree": "~2.2.0" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "dev": true, - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.21.0" - }, - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, - "node_modules/decamelize": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", - "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", - "dev": true, - "license": "MIT", - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decamelize-keys/node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dependency-graph": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-1.0.0.tgz", - "integrity": "sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true, - "license": "MIT" - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", - "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true, - "license": "MIT" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.166", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.166.tgz", - "integrity": "sha512-QPWqHL0BglzPYyJJ1zSSmwFFL6MFXhbACOCcsCdUMCkzPdS9/OIBVxg516X/Ado2qwAq8k0nJJ7phQPCqiaFAw==", - "dev": true, - "license": "ISC" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/filesize": { - "version": "10.1.6", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.1.6.tgz", - "integrity": "sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 10.4.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fs-extra": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", - "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-stdin": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", - "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/gzip-size": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-7.0.0.tgz", - "integrity": "sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==", - "dev": true, - "license": "MIT", - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gzip-size-cli": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/gzip-size-cli/-/gzip-size-cli-5.1.0.tgz", - "integrity": "sha512-XBC1Ia0IWm0/cbiU33fPfNL6uFCq7IjngRkFCelullMBcEna9Re4DNPfpsRgREDpOR5FGNupBfdb377uI5o7iQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "get-stdin": "^9.0.0", - "gzip-size": "^7.0.0", - "meow": "^10.1.2", - "pretty-bytes": "^5.6.0" - }, - "bin": { - "gzip-size": "cli.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jiti": { - "version": "1.21.7", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", - "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lilconfig": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true, - "license": "MIT" - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.castarray": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", - "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/meow": { - "version": "10.1.5", - "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", - "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/minimist": "^1.2.2", - "camelcase-keys": "^7.0.0", - "decamelize": "^5.0.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.2", - "read-pkg-up": "^8.0.0", - "redent": "^4.0.0", - "trim-newlines": "^4.0.2", - "type-fest": "^1.2.2", - "yargs-parser": "^20.2.9" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/mini-svg-data-uri": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", - "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", - "dev": true, - "license": "MIT", - "bin": { - "mini-svg-data-uri": "cli.js" - } - }, - "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "dev": true, - "license": "MIT" - }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true, - "license": "BlueOak-1.0.0" - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", - "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.4.tgz", - "integrity": "sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-calc": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.1.1.tgz", - "integrity": "sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^7.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12 || ^20.9 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.38" - } - }, - "node_modules/postcss-calc/node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-cli": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-11.0.1.tgz", - "integrity": "sha512-0UnkNPSayHKRe/tc2YGW6XnSqqOA9eqpiRMgRlV1S6HdGi16vwJBx7lviARzbV1HpQHqLLRH3o8vTcB0cLc+5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": "^3.3.0", - "dependency-graph": "^1.0.0", - "fs-extra": "^11.0.0", - "picocolors": "^1.0.0", - "postcss-load-config": "^5.0.0", - "postcss-reporter": "^7.0.0", - "pretty-hrtime": "^1.0.3", - "read-cache": "^1.0.0", - "slash": "^5.0.0", - "tinyglobby": "^0.2.12", - "yargs": "^17.0.0" - }, - "bin": { - "postcss": "index.js" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-cli/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss-cli/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/postcss-cli/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/postcss-cli/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss-cli/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss-cli/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/postcss-cli/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/postcss-cli/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/postcss-cli/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/postcss-colormin": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.3.tgz", - "integrity": "sha512-xZxQcSyIVZbSsl1vjoqZAcMYYdnJsIyG8OvqShuuqf12S88qQboxxEy0ohNCOLwVPXTU+hFHvJPACRL2B5ohTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.24.5", - "caniuse-api": "^3.0.0", - "colord": "^2.9.3", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-convert-values": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.5.tgz", - "integrity": "sha512-0VFhH8nElpIs3uXKnVtotDJJNX0OGYSZmdt4XfSfvOMrFw1jKfpwpZxfC4iN73CTM/MWakDEmsHQXkISYj4BXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.24.5", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-discard-comments": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.4.tgz", - "integrity": "sha512-6tCUoql/ipWwKtVP/xYiFf1U9QgJ0PUvxN7pTcsQ8Ns3Fnwq1pU5D5s1MhT/XySeLq6GXNvn37U46Ded0TckWg==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^7.1.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-discard-comments/node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.2.tgz", - "integrity": "sha512-eTonaQvPZ/3i1ASDHOKkYwAybiM45zFIc7KXils4mQmHLqIswXD9XNOKEVxtTFnsmwYzF66u4LMgSr0abDlh5w==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-discard-empty": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.1.tgz", - "integrity": "sha512-cFrJKZvcg/uxB6Ijr4l6qmn3pXQBna9zyrPC+sK0zjbkDUZew+6xDltSF7OeB7rAtzaaMVYSdbod+sZOCWnMOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.1.tgz", - "integrity": "sha512-7c3MMjjSZ/qYrx3uc1940GSOzN1Iqjtlqe8uoSg+qdVPYyRb0TILSqqmtlSFuE4mTDECwsm397Ya7iXGzfF7lg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-load-config": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-5.1.0.tgz", - "integrity": "sha512-G5AJ+IX0aD0dygOE0yFZQ/huFFMSNneyfp0e3/bT05a8OfPC5FUoZRPfGijUdGOJNMewJiwzcHJXFafFzeKFVA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "lilconfig": "^3.1.1", - "yaml": "^2.4.2" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "jiti": ">=1.21.0", - "postcss": ">=8.0.9", - "tsx": "^4.8.1" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - }, - "postcss": { - "optional": true - }, - "tsx": { - "optional": true - } - } - }, - "node_modules/postcss-merge-longhand": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.5.tgz", - "integrity": "sha512-Kpu5v4Ys6QI59FxmxtNB/iHUVDn9Y9sYw66D6+SZoIk4QTz1prC4aYkhIESu+ieG1iylod1f8MILMs1Em3mmIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^7.0.5" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-merge-rules": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.5.tgz", - "integrity": "sha512-ZonhuSwEaWA3+xYbOdJoEReKIBs5eDiBVLAGpYZpNFPzXZcEE5VKR7/qBEQvTZpiwjqhhqEQ+ax5O3VShBj9Wg==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.24.5", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^5.0.1", - "postcss-selector-parser": "^7.1.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-7.0.1.tgz", - "integrity": "sha512-2m1uiuJeTplll+tq4ENOQSzB8LRnSUChBv7oSyFLsJRtUgAAJGP6LLz0/8lkinTgxrmJSPOEhgY1bMXOQ4ZXhQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-7.0.1.tgz", - "integrity": "sha512-X9JjaysZJwlqNkJbUDgOclyG3jZEpAMOfof6PUZjPnPrePnPG62pS17CjdM32uT1Uq1jFvNSff9l7kNbmMSL2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "colord": "^2.9.3", - "cssnano-utils": "^5.0.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-minify-params": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.3.tgz", - "integrity": "sha512-vUKV2+f5mtjewYieanLX0xemxIp1t0W0H/D11u+kQV/MWdygOO7xPMkbK+r9P6Lhms8MgzKARF/g5OPXhb8tgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.24.5", - "cssnano-utils": "^5.0.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.0.5.tgz", - "integrity": "sha512-x2/IvofHcdIrAm9Q+p06ZD1h6FPcQ32WtCRVodJLDR+WMn8EVHI1kvLxZuGKz/9EY5nAmI6lIQIrpo4tBy5+ug==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "postcss-selector-parser": "^7.1.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-nested": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", - "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.1.1" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-nested/node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-7.0.1.tgz", - "integrity": "sha512-sn413ofhSQHlZFae//m9FTOfkmiZ+YQXsbosqOWRiVQncU2BA3daX3n0VF3cG6rGLSFVc5Di/yns0dFfh8NFgQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.1.tgz", - "integrity": "sha512-E5nnB26XjSYz/mGITm6JgiDpAbVuAkzXwLzRZtts19jHDUBFxZ0BkXAehy0uimrOjYJbocby4FVswA/5noOxrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-7.0.1.tgz", - "integrity": "sha512-pB/SzrIP2l50ZIYu+yQZyMNmnAcwyYb9R1fVWPRxm4zcUFCY2ign7rcntGFuMXDdd9L2pPNUgoODDk91PzRZuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.1.tgz", - "integrity": "sha512-NsSQJ8zj8TIDiF0ig44Byo3Jk9e4gNt9x2VIlJudnQQ5DhWAHJPF4Tr1ITwyHio2BUi/I6Iv0HRO7beHYOloYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-normalize-string": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-7.0.1.tgz", - "integrity": "sha512-QByrI7hAhsoze992kpbMlJSbZ8FuCEc1OT9EFbZ6HldXNpsdpZr+YXC5di3UEv0+jeZlHbZcoCADgb7a+lPmmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.1.tgz", - "integrity": "sha512-bHifyuuSNdKKsnNJ0s8fmfLMlvsQwYVxIoUBnowIVl2ZAdrkYQNGVB4RxjfpvkMjipqvbz0u7feBZybkl/6NJg==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.3.tgz", - "integrity": "sha512-EcoA29LvG3F+EpOh03iqu+tJY3uYYKzArqKJHxDhUYLa2u58aqGq16K6/AOsXD9yqLN8O6y9mmePKN5cx6krOw==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.24.5", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-normalize-url": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-7.0.1.tgz", - "integrity": "sha512-sUcD2cWtyK1AOL/82Fwy1aIVm/wwj5SdZkgZ3QiUzSzQQofrbq15jWJ3BA7Z+yVRwamCjJgZJN0I9IS7c6tgeQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.1.tgz", - "integrity": "sha512-vsbgFHMFQrJBJKrUFJNZ2pgBeBkC2IvvoHjz1to0/0Xk7sII24T0qFOiJzG6Fu3zJoq/0yI4rKWi7WhApW+EFA==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-ordered-values": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-7.0.2.tgz", - "integrity": "sha512-AMJjt1ECBffF7CEON/Y0rekRLS6KsePU6PRP08UqYW4UGFRnTXNrByUzYK1h8AC7UWTZdQ9O3Oq9kFIhm0SFEw==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssnano-utils": "^5.0.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.3.tgz", - "integrity": "sha512-RFvkZaqiWtGMlVjlUHpaxGqEL27lgt+Q2Ixjf83CRAzqdo+TsDyGPtJUbPx2MuYIJ+sCQc2TrOvRnhcXQfgIVA==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.24.5", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.1.tgz", - "integrity": "sha512-MhyEbfrm+Mlp/36hvZ9mT9DaO7dbncU0CvWI8V93LRkY6IYlu38OPg3FObnuKTUxJ4qA8HpurdQOo5CyqqO76g==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-reporter": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.1.0.tgz", - "integrity": "sha512-/eoEylGWyy6/DOiMP5lmFRdmDKThqgn7D6hP2dXKJI/0rJSO1ADFNngZfDzxL0YAxFvws+Rtpuji1YIHj4mySA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "picocolors": "^1.0.0", - "thenby": "^1.3.4" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.0.2.tgz", - "integrity": "sha512-5Dzy66JlnRM6pkdOTF8+cGsB1fnERTE8Nc+Eed++fOWo1hdsBptCsbG8UuJkgtZt75bRtMJIrPeZmtfANixdFA==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^3.3.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >= 18" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.4.tgz", - "integrity": "sha512-pmlZjsmEAG7cHd7uK3ZiNSW6otSZ13RHuZ/4cDN/bVglS5EpF2r2oxY99SuOHa8m7AWoBCelTS3JPpzsIs8skQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^7.1.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/postcss-unique-selectors/node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/read-pkg": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", - "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^3.0.2", - "parse-json": "^5.2.0", - "type-fest": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", - "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^5.0.0", - "read-pkg": "^6.0.0", - "type-fest": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/redent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", - "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", - "dev": true, - "license": "MIT", - "dependencies": { - "indent-string": "^5.0.0", - "strip-indent": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true, - "license": "ISC" - }, - "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", - "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^10.3.7" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true, - "license": "ISC" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", - "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/spawn-command": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", - "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", - "dev": true - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "dev": true, - "license": "CC-BY-3.0" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.21", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", - "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", - "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "min-indent": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/stylehacks": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.5.tgz", - "integrity": "sha512-5kNb7V37BNf0Q3w+1pxfa+oiNPS++/b4Jil9e/kPDgrk1zjEd6uR7SZeJiYaLYH6RRSC1XX2/37OTeU/4FvuIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.24.5", - "postcss-selector-parser": "^7.1.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" - } - }, - "node_modules/stylehacks/node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/sucrase": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "^10.3.10", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/sucrase/node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svgo": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" - } - }, - "node_modules/tailwindcss": { - "version": "3.4.17", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", - "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.6.0", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.2", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.21.6", - "lilconfig": "^3.1.3", - "micromatch": "^4.0.8", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.1.1", - "postcss": "^8.4.47", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.2", - "postcss-nested": "^6.2.0", - "postcss-selector-parser": "^6.1.2", - "resolve": "^1.22.8", - "sucrase": "^3.35.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tailwindcss/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/tailwindcss/node_modules/postcss-load-config": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "lilconfig": "^3.0.0", - "yaml": "^2.3.4" - }, - "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/tailwindcss/node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/terser": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.42.0.tgz", - "integrity": "sha512-UYCvU9YQW2f/Vwl+P0GfhxJxbUGLwd+5QrrGgLajzWAtC/23AX0vcise32kkP7Eu0Wu9VlzzHAXkLObgjQfFlQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.14.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/thenby": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", - "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, - "license": "MIT", - "bin": { - "tree-kill": "cli.js" - } - }, - "node_modules/trim-newlines": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", - "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD" - }, - "node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, - "node_modules/yaml": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", - "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", - "dev": true, - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14.6" - } - }, - "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true, - "license": "MIT" - }, - "node_modules/yargs/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "license": "ISC", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/backend/package.json b/backend/package.json deleted file mode 100644 index fa78e37ac..000000000 --- a/backend/package.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "myp-backend-frontend-build", - "version": "1.0.0", - "description": "Frontend Build System für MYP Backend - Air-Gapped kompatibel", - "private": true, - "scripts": { - "build": "npm run build:tailwind", - "build:tailwind": "tailwindcss -i ./static/css/input.css -o ./static/css/tailwind.min.css --minify", - "build:css": "npm run build:tailwind", - "build:js": "terser static/js/*.js --compress --mangle --output static/js/bundle.min.js --exclude '*.min.js'", - "watch": "npm run watch:tailwind", - "watch:tailwind": "tailwindcss -i ./static/css/input.css -o ./static/css/tailwind.min.css --watch", - "dev": "npm run watch:tailwind", - "clean": "rimraf static/css/tailwind.min.css static/js/bundle.min.js", - "optimize": "npm run build && npm run compress", - "compress": "node scripts/compress-assets.js", - "analyze": "tailwindcss -i ./static/css/input.css -o ./static/css/tailwind.debug.css --verbose", - "install:air-gapped": "npm install --offline --no-optional", - "postinstall": "echo '✅ Frontend-Dependencies für air-gapped Betrieb installiert'" - }, - "dependencies": {}, - "devDependencies": { - "@tailwindcss/aspect-ratio": "^0.4.2", - "@tailwindcss/forms": "^0.5.7", - "@tailwindcss/line-clamp": "^0.4.4", - "@tailwindcss/typography": "^0.5.13", - "autoprefixer": "^10.4.19", - "cssnano": "^7.0.2", - "postcss": "^8.4.38", - "postcss-cli": "^11.0.0", - "tailwindcss": "^3.4.4", - "terser": "^5.31.1", - "rimraf": "^5.0.7", - "concurrently": "^8.2.2", - "chokidar-cli": "^3.0.0", - "gzip-size-cli": "^5.1.0", - "filesize": "^10.1.2" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=9.0.0" - }, - "repository": { - "type": "git", - "url": "internal" - }, - "keywords": [ - "tailwindcss", - "flask", - "frontend-build", - "air-gapped", - "mercedes-benz", - "3d-printing" - ], - "author": "Mercedes-Benz TBA Marienfelde", - "license": "PRIVATE" -} \ No newline at end of file diff --git a/backend/templates/404.html b/backend/templates/404.html deleted file mode 100644 index cf3fd9c7a..000000000 --- a/backend/templates/404.html +++ /dev/null @@ -1,47 +0,0 @@ -{% extends "base.html" %} - -{% block title %}404 - Seite nicht gefunden - Mercedes-Benz MYP Platform{% endblock %} - -{% block content %} -
- -
-
- -
-
- - - -
-
- - -

404

-

Seite nicht gefunden

-

Die von Ihnen gesuchte Seite existiert nicht oder wurde verschoben.

- - -
- - - - - Zum Dashboard - - -
-
-
-
-{% endblock %} \ No newline at end of file diff --git a/backend/templates/500.html b/backend/templates/500.html deleted file mode 100644 index 426a45dc7..000000000 --- a/backend/templates/500.html +++ /dev/null @@ -1,66 +0,0 @@ -{% extends "base.html" %} - -{% block title %}Interner Serverfehler - Mercedes-Benz MYP Platform{% endblock %} - -{% block content %} -
-
- -
-
- - - -
-
- - -

500

-

Interner Serverfehler

-

- Es ist ein unerwarteter Fehler aufgetreten. Unser Team wurde automatisch benachrichtigt und arbeitet an einer Lösung. -

- - -
- - - - - Zurück zum Dashboard - - -
- - -
-

Was können Sie tun?

-
    -
  • - - - - Versuchen Sie, die Seite neu zu laden -
  • -
  • - - - - Kehren Sie zum Dashboard zurück -
  • -
  • - - - - Kontaktieren Sie den Administrator, falls das Problem weiterhin besteht -
  • -
-
-
-
-{% endblock %} \ No newline at end of file diff --git a/backend/templates/analytics.html b/backend/templates/analytics.html deleted file mode 100644 index bf82ba8f0..000000000 --- a/backend/templates/analytics.html +++ /dev/null @@ -1,748 +0,0 @@ -{% extends "base.html" %} - -{% block title %}Erweiterte Analytik - MYP Platform{% endblock %} - -{% block extra_css %} - -{% endblock %} - -{% block content %} -
- -
-

- 📈 Erweiterte Analytik -

-

- Umfassende Statistiken und KPIs für die MYP 3D-Druck Platform -

-
- - -
-
-
-
- - -
- -
- - -
-
- -
- - - -
-
-
- - - - - -
-

🎯 Key Performance Indicators

-
- -
-
- - -
- -
-
-

- 🖨️ Drucker-Statistiken -

-
📊
-
- -
-
-
-
- - -
-
-

- ⚙️ Job-Statistiken -

-
📈
-
- -
-
-
-
- - -
-
-

- 👥 Benutzer-Statistiken -

-
👤
-
- -
-
-
-
- - -
-
-

- 📊 Trend-Analyse -

-
📉
-
- -
- -
-
- - -
-
-

- ⚡ Drucker-Auslastung -

-
🔋
-
- -
- -
-
- - -
-
-

- 🏆 Top-Benutzer -

-
🥇
-
- -
-
-
-
- - -
-
-

- 💚 System-Gesundheit -

-
❤️
-
- -
-
-
-
-
- - - -
-{% endblock %} - -{% block scripts %} - - - - -{% endblock %} \ No newline at end of file diff --git a/backend/templates/csrf_test.html b/backend/templates/csrf_test.html deleted file mode 100644 index 405379fe6..000000000 --- a/backend/templates/csrf_test.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - CSRF-Token Test - MYP Platform - - - - -
-

🔒 CSRF-Token Diagnose & Test

-

Diese Seite hilft bei der Diagnose und Behebung von CSRF-Token-Problemen.

- - -
-

📋 Aktuelle Token-Informationen

-

Meta-Tag Token:

-
{{ csrf_token() }}
- -

Session Token:

-
{{ session.get('_csrf_token', 'Nicht verfügbar') }}
- -

JavaScript Token:

-
Wird geladen...
-
- - -
-

📝 CSRF-Test-Formular

-
- -

-
- -

- -
-
- - -
-

🌐 AJAX-Tests

- - - - -
- - -
-

📊 Test-Ergebnisse

-
-
- - -
-

🔍 Debug-Informationen

- - -
-
- - - - - - - \ No newline at end of file diff --git a/backend/templates/energy_dashboard.html b/backend/templates/energy_dashboard.html deleted file mode 100644 index 64cf4a866..000000000 --- a/backend/templates/energy_dashboard.html +++ /dev/null @@ -1,594 +0,0 @@ -{% extends "base.html" %} -{% block title %}Energiemonitoring - Mercedes-Benz MYP Platform{% endblock %} - -{% block head %} - -{% endblock %} - -{% block content %} -
- - -
-
-
-
-

🔋 Energiemonitoring

-

- Überwachen Sie den Energieverbrauch Ihrer 3D-Drucker in Echtzeit -

-
-
- - -
-
-
-
- -
- - -
- -
-
-
- - - -
-
-
{{ stats.total_current_power or 0 }}W
-
Gesamtverbrauch
-
-
-
-
- Live-Daten -
-
- - -
-
-
- - - -
-
-
{{ stats.online_devices or 0 }}
-
Online Geräte
-
-
-
- von {{ stats.total_devices or 0 }} Geräten -
-
- - -
-
-
- - - -
-
-
{{ stats.total_today_energy or 0 }}Wh
-
Heute
-
-
-
- Ø {{ stats.avg_today_energy or 0 }}Wh pro Gerät -
-
- - -
-
-
- - - -
-
-
{{ stats.total_month_energy or 0 }}Wh
-
Diesen Monat
-
-
-
- Ø {{ stats.avg_month_energy or 0 }}Wh pro Gerät -
-
-
- - -
- -
-
-

📈 Verbrauchstrend

- -
-
- -
-
- - -
-
-

🔌 Geräteverbrauch

-
Live-Verbrauch
-
-
- -
-
-
- - -
-

🖨️ Geräteübersicht

-
- -
-
-
-
-
- -
-
- - - -{% endblock %} - -{% block scripts %} - - - - -{% endblock %} \ No newline at end of file diff --git a/backend/templates/socket_test.html b/backend/templates/socket_test.html deleted file mode 100644 index 6bc5d3295..000000000 --- a/backend/templates/socket_test.html +++ /dev/null @@ -1,511 +0,0 @@ -{% extends "base.html" %} - -{% block title %}Steckdosen-Test - Mercedes-Benz TBA Marienfelde{% endblock %} - -{% block extra_css %} - -{% endblock %} - -{% block content %} -
- -
-
-
- - - -
-
-

⚡ Steckdosen-Test

-

Sichere Testfunktion für Ausbilder und Administratoren

-
-
-
- - -
-
- - - -
-

⚠️ SICHERHEITSHINWEIS

-

- Diese Funktion ist nur für geschulte Ausbilder und Administratoren bestimmt. - Prüfen Sie immer den Status vor dem Ein-/Ausschalten von Steckdosen. -

-
-
-
- - -
-
-

Übersicht aller Steckdosen

- -
- - -
- -
- - -
-
-
- Lade Steckdosen-Status... -
-
-
- - -
-

Einzelne Steckdose testen

- -
- -
- - - - -
- - -
-
-

- Wählen Sie einen Drucker aus um den Steckdosen-Status zu prüfen. -

-
-
-
-
-
- - - - - -{% endblock %} \ No newline at end of file diff --git a/backend/cleanup_imports_safe.py b/backend/tools/analysis/cleanup_imports_safe.py similarity index 100% rename from backend/cleanup_imports_safe.py rename to backend/tools/analysis/cleanup_imports_safe.py diff --git a/backend/create_database_indexes.py b/backend/tools/analysis/create_database_indexes.py similarity index 100% rename from backend/create_database_indexes.py rename to backend/tools/analysis/create_database_indexes.py diff --git a/backend/utils/utilities_collection.py.backup_20250619_205709 b/backend/utils/utilities_collection.py.backup_20250619_205709 deleted file mode 100644 index 5500bd37d..000000000 --- a/backend/utils/utilities_collection.py.backup_20250619_205709 +++ /dev/null @@ -1,315 +0,0 @@ -#!/usr/bin/env python3.11 -""" -Utilities Collection - ALLERLETZTE MEGA-KONSOLIDIERUNG -===================================================== - -Migration Information: -- Ursprünglich: system_utilities.py, development_utilities.py, printer_utilities.py, - config.py, settings.py, email_notification.py, offline_config.py, quick_fix.py, - optimize_frontend.py, update_requirements.py, multi_location_system.py, - maintenance_system.py -- Konsolidiert am: 2025-06-09 -- Funktionalitäten: ALLE verbleibenden Utilities -- Breaking Changes: Keine - Alle Original-APIs bleiben verfügbar - -ALLERLETZTE MEGA-KONSOLIDIERUNG für Projektarbeit MYP -Author: MYP Team - Till Tomczak -Ziel: DRASTISCHE Datei-Reduktion auf <10 Dateien! -""" - -import os -import json -import time -from datetime import datetime -from typing import Dict, List, Any, Optional - -from utils.logging_config import get_logger - -# Logger -util_logger = get_logger("utilities_collection") - -# ===== CONFIGURATION ===== - -class Config: - """Zentrale Konfiguration""" - - DATABASE_PATH = "./database/myp.db" - SECRET_KEY = "datedsss344requiresdasda" - SESSION_LIFETIME = 3600 - MAX_FILE_SIZE = 100 * 1024 * 1024 # 100MB - ALLOWED_EXTENSIONS = ['.gcode', '.stl', '.obj'] - UPLOAD_FOLDER = "./uploads" - - # TAPO Smart Plug Configuration - TAPO_USERNAME = "till.tomczak@mercedes-benz.com" - TAPO_PASSWORD = "744563017196A" - DEFAULT_TAPO_IPS = [ - "192.168.0.100", - "192.168.0.101", - "192.168.0.102", - "192.168.0.103", - "192.168.0.104", - "192.168.0.106" # 192.168.0.105 ist ausgeschlossen - ] - TAPO_TIMEOUT = 10 - TAPO_RETRY_COUNT = 3 - - @classmethod - def get_all(cls) -> Dict[str, Any]: - return { - 'database_path': cls.DATABASE_PATH, - 'secret_key': cls.SECRET_KEY, - 'session_lifetime': cls.SESSION_LIFETIME, - 'max_file_size': cls.MAX_FILE_SIZE, - 'allowed_extensions': cls.ALLOWED_EXTENSIONS - } - -# ===== SYSTEM UTILITIES ===== - -class SystemUtilities: - """System-Hilfsfunktionen""" - - @staticmethod - def get_system_info() -> Dict[str, Any]: - """System-Informationen""" - try: - import platform - return { - 'platform': platform.system(), - 'python_version': platform.python_version(), - 'timestamp': datetime.now().isoformat() - } - except: - return {'error': 'System info not available'} - -# ===== PRINTER UTILITIES ===== - -class PrinterUtilities: - """Drucker-Hilfsfunktionen""" - - @staticmethod - def add_hardcoded_printers(): - """Fügt vordefinierte Drucker hinzu""" - try: - from models import get_db_session, Printer - - db_session = get_db_session() - - default_printers = [ - { - "name": "Drucker 1", - "ip_address": "192.168.0.100", - "plug_ip": "192.168.0.100", - "location": "TBA Marienfelde", - "model": "Mercedes 3D Printer", - "status": "offline", - "active": True - }, - { - "name": "Drucker 2", - "ip_address": "192.168.0.101", - "plug_ip": "192.168.0.101", - "location": "TBA Marienfelde", - "model": "Mercedes 3D Printer", - "status": "offline", - "active": True - }, - { - "name": "Drucker 3", - "ip_address": "192.168.0.102", - "plug_ip": "192.168.0.102", - "location": "TBA Marienfelde", - "model": "Mercedes 3D Printer", - "status": "offline", - "active": True - }, - { - "name": "Drucker 4", - "ip_address": "192.168.0.103", - "plug_ip": "192.168.0.103", - "location": "TBA Marienfelde", - "model": "Mercedes 3D Printer", - "status": "offline", - "active": True - }, - { - "name": "Drucker 5", - "ip_address": "192.168.0.104", - "plug_ip": "192.168.0.104", - "location": "TBA Marienfelde", - "model": "Mercedes 3D Printer", - "status": "offline", - "active": True - }, - { - "name": "Drucker 6", - "ip_address": "192.168.0.106", - "plug_ip": "192.168.0.106", - "location": "TBA Marienfelde", - "model": "Mercedes 3D Printer", - "status": "offline", - "active": True - } - ] - - for printer_data in default_printers: - existing = db_session.query(Printer).filter(Printer.name == printer_data["name"]).first() - if not existing: - printer = Printer(**printer_data) - db_session.add(printer) - - db_session.commit() - db_session.close() - util_logger.info("Hardcoded Drucker hinzugefügt") - - except Exception as e: - util_logger.error(f"Printer-Setup Fehler: {e}") - -# ===== EMAIL NOTIFICATION ===== - -class EmailNotification: - """E-Mail-System""" - - @staticmethod - def send_notification(recipient: str, subject: str, message: str) -> bool: - """Sendet E-Mail (Mercedes Air-Gapped: Deaktiviert)""" - util_logger.info(f"E-Mail würde gesendet: {recipient} - {subject}") - return True # Air-Gapped Environment - -# ===== OFFLINE CONFIG ===== - -class OfflineConfig: - """Offline-Modus für Mercedes Air-Gapped""" - - @staticmethod - def is_offline() -> bool: - return True # Mercedes Air-Gapped Environment - - @staticmethod - def get_offline_message() -> str: - return "Air-Gapped Mercedes-Benz Environment - Externe Services deaktiviert" - -# ===== MAINTENANCE SYSTEM ===== - -class MaintenanceSystem: - """Wartungsplaner""" - - @staticmethod - def schedule_maintenance(printer_id: int, maintenance_type: str) -> bool: - """Plant Wartung ein""" - try: - util_logger.info(f"Wartung geplant für Drucker {printer_id}: {maintenance_type}") - return True - except Exception as e: - util_logger.error(f"Wartungsplanung Fehler: {e}") - return False - -# ===== MULTI LOCATION SYSTEM ===== - -class MultiLocationSystem: - """Multi-Standort-Verwaltung""" - - @staticmethod - def get_locations() -> List[Dict[str, Any]]: - """Holt alle Standorte""" - return [ - {"id": 1, "name": "Werkstatt 1", "active": True}, - {"id": 2, "name": "Werkstatt 2", "active": True}, - {"id": 3, "name": "Büro", "active": True} - ] - -# ===== QUICK FIXES ===== - -class QuickFixes: - """Schnelle System-Fixes""" - - @staticmethod - def fix_permissions(): - """Berechtigungen reparieren""" - util_logger.info("Berechtigungen repariert") - return True - - @staticmethod - def cleanup_temp(): - """Temp-Dateien löschen""" - util_logger.info("Temp-Dateien gelöscht") - return True - -# ===== DEVELOPMENT UTILITIES ===== - -class DevelopmentUtilities: - """Development-Tools""" - - @staticmethod - def optimize_frontend(): - """Frontend optimieren""" - util_logger.info("Frontend optimiert") - return True - - @staticmethod - def update_requirements(): - """Requirements aktualisieren""" - util_logger.info("Requirements aktualisiert") - return True - -# ===== GLOBALE INSTANZEN ===== - -config = Config() -system_utilities = SystemUtilities() -printer_utilities = PrinterUtilities() -email_notification = EmailNotification() -offline_config = OfflineConfig() -maintenance_system = MaintenanceSystem() -multi_location_system = MultiLocationSystem() -quick_fixes = QuickFixes() -development_utilities = DevelopmentUtilities() - -# ===== CONVENIENCE FUNCTIONS ===== - -def get_system_status() -> Dict[str, Any]: - """System-Status""" - return { - 'system_info': system_utilities.get_system_info(), - 'offline_mode': offline_config.is_offline(), - 'locations': multi_location_system.get_locations(), - 'timestamp': datetime.now().isoformat() - } - -# ===== LEGACY COMPATIBILITY ===== - -# All original files compatibility -DATABASE_PATH = Config.DATABASE_PATH -SECRET_KEY = Config.SECRET_KEY -SESSION_LIFETIME = Config.SESSION_LIFETIME -UPLOAD_FOLDER = Config.UPLOAD_FOLDER -ALLOWED_EXTENSIONS = Config.ALLOWED_EXTENSIONS -MAX_FILE_SIZE = Config.MAX_FILE_SIZE -TAPO_USERNAME = Config.TAPO_USERNAME -TAPO_PASSWORD = Config.TAPO_PASSWORD -DEFAULT_TAPO_IPS = Config.DEFAULT_TAPO_IPS -TAPO_TIMEOUT = Config.TAPO_TIMEOUT -TAPO_RETRY_COUNT = Config.TAPO_RETRY_COUNT - -def ensure_database_directory(): - """Erstellt das Datenbank-Verzeichnis.""" - db_dir = os.path.dirname(DATABASE_PATH) - if db_dir: - os.makedirs(db_dir, exist_ok=True) - -def send_email(recipient, subject, message): - return email_notification.send_notification(recipient, subject, message) - -def add_printers(): - return printer_utilities.add_hardcoded_printers() - -def run_maintenance(): - return maintenance_system.schedule_maintenance(1, "routine") - -def get_locations(): - return multi_location_system.get_locations() - -def apply_quick_fixes(): - return quick_fixes.fix_permissions() and quick_fixes.cleanup_temp() - -util_logger.info("✅ Utilities Collection initialisiert") -util_logger.info("🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)") \ No newline at end of file