Files
digiserver-v2/docs/graphify-out/graph.html
T
ske087 46602f1933 Sanitize codebase, reorganize docs, and add missing deploy files
Remove dead code identified in docs/SANITIZATION-REVIEW.md:
- app/blueprints/content_old.py and app/blueprints/playlist.py
- app/models/group.py, app/utils/nginx_config_reader.py
- orphaned templates (content_list, edit_content, upload_content,
  player_page) and the related group/Template references

Result: 6 blueprints, 82 routes, no dead modules or orphan templates.

Add files that deploy.sh and docker-entrypoint.sh already require but
which were never tracked:
- https_manager.py       (referenced by deploy.sh, migrate_network.sh,
                          docker-entrypoint.sh)
- Caddyfile.example      (seeded by deploy.sh; its absence aborts deploy)

Relocate generated Graphify artifacts from graphify-out/ to
docs/graphify-out/ (110 files, no content change) and archive the
superseded docs under docs/.

Ignore hygiene:
- ignore ad-hoc .env backups (.env.bak*) — they contain live secrets
- keep the pre-sanitization snapshots (docs/legacy code/,
  docs/old_code_documentation/) on disk but out of the repo

Fix .env.example: drop a duplicated config block, genericize the
hardcoded host IP, and document HOSTNAME_INTERNAL.
2026-09-11 12:18:34 +03:00

602 lines
659 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>graphify - digiserver-v2</title>
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body { background: #0f0f1a; color: #e0e0e0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; display: flex; height: 100vh; overflow: hidden; }
#graph { flex: 1; }
#sidebar { width: 280px; background: #1a1a2e; border-left: 1px solid #2a2a4e; display: flex; flex-direction: column; overflow: hidden; }
#search-wrap { padding: 12px; border-bottom: 1px solid #2a2a4e; }
#search { width: 100%; background: #0f0f1a; border: 1px solid #3a3a5e; color: #e0e0e0; padding: 7px 10px; border-radius: 6px; font-size: 13px; outline: none; }
#search:focus { border-color: #4E79A7; }
#search-results { max-height: 140px; overflow-y: auto; padding: 4px 12px; border-bottom: 1px solid #2a2a4e; display: none; }
.search-item { padding: 4px 6px; cursor: pointer; border-radius: 4px; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.search-item:hover { background: #2a2a4e; }
#info-panel { padding: 14px; border-bottom: 1px solid #2a2a4e; min-height: 140px; }
#info-panel h3 { font-size: 13px; color: #aaa; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.05em; }
#info-content { font-size: 13px; color: #ccc; line-height: 1.6; }
#info-content .field { margin-bottom: 5px; }
#info-content .field b { color: #e0e0e0; }
#info-content .empty { color: #555; font-style: italic; }
.neighbor-link { display: block; padding: 2px 6px; margin: 2px 0; border-radius: 3px; cursor: pointer; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-left: 3px solid #333; }
.neighbor-link:hover { background: #2a2a4e; }
#neighbors-list { max-height: 160px; overflow-y: auto; margin-top: 4px; }
#legend-wrap { flex: 1; overflow-y: auto; padding: 12px; }
#legend-wrap h3 { font-size: 13px; color: #aaa; margin-bottom: 10px; text-transform: uppercase; letter-spacing: 0.05em; }
.legend-item { display: flex; align-items: center; gap: 8px; padding: 4px 0; cursor: pointer; border-radius: 4px; font-size: 12px; }
.legend-item:hover { background: #2a2a4e; padding-left: 4px; }
.legend-item.dimmed { opacity: 0.35; }
.legend-dot { width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; }
.legend-label { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.legend-count { color: #666; font-size: 11px; }
#stats { padding: 10px 14px; border-top: 1px solid #2a2a4e; font-size: 11px; color: #555; }
.toggle-wrap { padding: 12px; border-bottom: 1px solid #2a2a4e; display: flex; align-items: center; justify-content: space-between; font-size: 13px; }
.switch { position: relative; display: inline-block; width: 34px; height: 20px; }
.switch input { opacity: 0; width: 0; height: 0; }
.slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #2a2a4e; transition: .4s; border-radius: 20px; }
.slider:before { position: absolute; content: ""; height: 14px; width: 14px; left: 3px; bottom: 3px; background-color: white; transition: .4s; border-radius: 50%; }
input:checked + .slider { background-color: #4E79A7; }
input:checked + .slider:before { transform: translateX(14px); }
.metric-badge { display: inline-block; padding: 2px 6px; border-radius: 4px; font-size: 10px; font-weight: bold; margin-left: 6px; text-transform: uppercase; }
.metric-high { background: #ef4444; color: #fff; }
.metric-medium { background: #f59e0b; color: #fff; }
.metric-low { background: #10b981; color: #fff; }
#heatmap-legend { display: none; margin-top: 10px; padding: 10px; background: #0f0f1a; border-radius: 6px; border: 1px solid #2a2a4e; }
.h-leg-item { display: flex; align-items: center; gap: 8px; font-size: 11px; margin: 4px 0; }
.h-leg-bar { height: 10px; flex: 1; border-radius: 5px; background: linear-gradient(to right, #10b981, #f59e0b, #ef4444); }
/* Schema Modal */
#schema-modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.8); }
#schema-modal-content { background-color: #1a1a2e; margin: 5% auto; padding: 20px; border: 1px solid #3a3a5e; border-radius: 12px; width: 60%; max-height: 80%; overflow-y: auto; box-shadow: 0 10px 40px rgba(0,0,0,0.5); }
#schema-modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; border-bottom: 1px solid #2a2a4e; padding-bottom: 10px; }
#schema-modal-header h2 { font-size: 18px; color: #fff; }
.close-modal { color: #aaa; font-size: 28px; font-weight: bold; cursor: pointer; }
.close-modal:hover { color: #fff; }
.schema-table { width: 100%; border-collapse: collapse; margin-top: 10px; }
.schema-table th { text-align: left; background: #2a2a4e; padding: 10px; font-size: 13px; color: #aaa; text-transform: uppercase; }
.schema-table td { padding: 10px; border-bottom: 1px solid #2a2a4e; font-size: 13px; color: #ccc; }
.schema-table tr:hover { background: #1e1e36; }
.schema-pk { color: #f1c40f; font-weight: bold; }
.schema-fk { color: #8b5cf6; font-style: italic; }
.lineage-item { background: #2a2a4e; padding: 10px; border-radius: 6px; border-left: 3px solid #4E79A7; cursor: pointer; transition: background 0.2s; }
.lineage-item:hover { background: #3a3a5e; }
</style>
</head>
<body>
<div id="graph"></div>
<div id="sidebar">
<div style="padding: 14px; border-bottom: 1px solid #2a2a4e;">
<div style="display: flex; align-items: center; justify-content: space-between;">
<h2 id="proj-name" style="font-size: 16px; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;">digiserver-v2</h2>
<span onclick="editProjectName()" style="cursor:pointer; opacity: 0.5; font-size: 12px;" title="Rename Project">✏️</span>
</div>
</div>
<div class="toggle-wrap">
<span>Deep Dive Mode</span>
<label class="switch">
<input type="checkbox" id="granularity-toggle" >
<span class="slider"></span>
</label>
</div>
<div class="toggle-wrap">
<span>Full Detail Mode</span>
<label class="switch">
<input type="checkbox" id="full-detail-toggle">
<span class="slider"></span>
</label>
</div>
<div class="toggle-wrap">
<span>Heatmap Mode</span>
<label class="switch">
<input type="checkbox" id="heatmap-toggle">
<span class="slider"></span>
</label>
</div>
<div id="heatmap-legend">
<div class="h-leg-item"><span>Low Risk</span><div class="h-leg-bar"></div><span>High Risk</span></div>
</div>
<div class="toggle-wrap">
<span>Simulation Mode</span>
<label class="switch">
<input type="checkbox" id="simulation-toggle">
<span class="slider"></span>
</label>
</div>
<div id="sim-hint" style="display:none; padding: 10px; background: #2a2a4e; font-size: 11px; color: #4E79A7; text-align: center;">
🏗️ Click nodes to simulate removal
</div>
<div id="info-panel">
<h3>Node Info</h3>
<div id="info-content"><span class="empty">Click a node to inspect it</span></div>
</div>
<div id="legend-wrap">
<h3>Communities</h3>
<div id="legend"></div>
</div>
<div id="stats">631 nodes &middot; 1162 edges &middot; 41 communities</div>
</div>
<script>
const RAW_NODES = [{"id": "home_scheianu_digiserver_v2_migrations_add_player_user_table_py", "label": "add_player_user_table.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "add_player_user_table.py", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/migrations/add_player_user_table.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "add_player_user_table_rationale_1", "label": "Add player_user table for user code mappings.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Add player_user table for user code mappings.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/migrations/add_player_user_table.py", "file_type": "rationale", "degree": 2, "_level": 0, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_migrations_migrate_player_user_global_py", "label": "migrate_player_user_global.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "migrate_player_user_global.py", "community": 14, "community_name": "Community 14", "source_file": "/home/scheianu/digiserver-v2/migrations/migrate_player_user_global.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "migrate_player_user_global_rationale_1", "label": "Migrate player_user table to remove player_id and make user_code unique globally", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Migrate player_user table to remove player_id and make user_code unique globally", "community": 14, "community_name": "Community 14", "source_file": "/home/scheianu/digiserver-v2/migrations/migrate_player_user_global.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_migrations_add_original_filename_to_content_py", "label": "add_original_filename_to_content.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "add_original_filename_to_content.py", "community": 15, "community_name": "Community 15", "source_file": "/home/scheianu/digiserver-v2/migrations/add_original_filename_to_content.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "add_original_filename_to_content_rationale_1", "label": "Add original_filename column to content table. This preserves the pristine uplo", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Add original_filename column to content table. This preserves the pristine uplo", "community": 15, "community_name": "Community 15", "source_file": "/home/scheianu/digiserver-v2/migrations/add_original_filename_to_content.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_migrations_add_url_to_content_py", "label": "add_url_to_content.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "add_url_to_content.py", "community": 16, "community_name": "Community 16", "source_file": "/home/scheianu/digiserver-v2/migrations/add_url_to_content.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "add_url_to_content_rationale_1", "label": "Add url column to content table for weblink support.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Add url column to content table for weblink support.", "community": 16, "community_name": "Community 16", "source_file": "/home/scheianu/digiserver-v2/migrations/add_url_to_content.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_migrations_add_https_config_table_py", "label": "add_https_config_table.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "add_https_config_table.py", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/migrations/add_https_config_table.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "add_https_config_table_rationale_1", "label": "Add https_config table for HTTPS configuration management.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Add https_config table for HTTPS configuration management.", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/migrations/add_https_config_table.py", "file_type": "rationale", "degree": 2, "_level": 0, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_migrations_add_deployment_fields_to_player_py", "label": "add_deployment_fields_to_player.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "add_deployment_fields_to_player.py", "community": 17, "community_name": "Community 17", "source_file": "/home/scheianu/digiserver-v2/migrations/add_deployment_fields_to_player.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "add_deployment_fields_to_player_rationale_1", "label": "Add deployment tracking columns to player table.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Add deployment tracking columns to player table.", "community": 17, "community_name": "Community 17", "source_file": "/home/scheianu/digiserver-v2/migrations/add_deployment_fields_to_player.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_migrations_add_email_to_https_config_py", "label": "add_email_to_https_config.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "add_email_to_https_config.py", "community": 18, "community_name": "Community 18", "source_file": "/home/scheianu/digiserver-v2/migrations/add_email_to_https_config.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "add_email_to_https_config_rationale_1", "label": "Add email field to https_config table.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Add email field to https_config table.", "community": 18, "community_name": "Community 18", "source_file": "/home/scheianu/digiserver-v2/migrations/add_email_to_https_config.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_config_py", "label": "config.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "config.py", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/config.py", "file_type": "code", "degree": 6, "_level": 1, "_granularity": "low", "heat": 0.024, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "config_config", "label": "Config", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Config", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/config.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.04, "complexity": 1, "loc": 45, "_type": "CLASS", "columns": []}, {"id": "config_developmentconfig", "label": "DevelopmentConfig", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 14.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "DevelopmentConfig", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/config.py", "file_type": "code", "degree": 11, "_level": 1, "_granularity": "low", "heat": 0.041, "complexity": 1, "loc": 20, "_type": "CLASS", "columns": []}, {"id": "config_productionconfig", "label": "ProductionConfig", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 14.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "ProductionConfig", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/config.py", "file_type": "code", "degree": 11, "_level": 1, "_granularity": "low", "heat": 0.042, "complexity": 1, "loc": 22, "_type": "CLASS", "columns": []}, {"id": "config_testingconfig", "label": "TestingConfig", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 14.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "TestingConfig", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/config.py", "file_type": "code", "degree": 11, "_level": 1, "_granularity": "low", "heat": 0.038, "complexity": 1, "loc": 14, "_type": "CLASS", "columns": []}, {"id": "config_get_config", "label": "get_config()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_config()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/config.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.032, "complexity": 2, "loc": 5, "_type": "FUNCTION", "columns": []}, {"id": "config_rationale_1", "label": "Configuration settings for DigiServer v2 Environment-based configuration with se", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Configuration settings for DigiServer v2 Environment-based configuration with se", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/config.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "config_rationale_57", "label": "Development configuration", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Development configuration", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/config.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "config_rationale_79", "label": "Production configuration", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Production configuration", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/config.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "config_rationale_103", "label": "Testing configuration", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Testing configuration", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/config.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "config_rationale_128", "label": "Get configuration based on environment", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get configuration based on environment", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/config.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_extensions_py", "label": "extensions.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "extensions.py", "community": 19, "community_name": "Community 19", "source_file": "/home/scheianu/digiserver-v2/app/extensions.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "extensions_rationale_1", "label": "Flask extensions initialization Centralized extension management for the applica", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Flask extensions initialization Centralized extension management for the applica", "community": 19, "community_name": "Community 19", "source_file": "/home/scheianu/digiserver-v2/app/extensions.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_app_py", "label": "app.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 14.1, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "app.py", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/app.py", "file_type": "code", "degree": 8, "_level": 0, "_granularity": "low", "heat": 0.027, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "app_create_app", "label": "create_app()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 15.4, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "create_app()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/app.py", "file_type": "code", "degree": 13, "_level": 0, "_granularity": "low", "heat": 0.08, "complexity": 2, "loc": 71, "_type": "FUNCTION", "columns": []}, {"id": "app_register_blueprints", "label": "register_blueprints()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "register_blueprints()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/app.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.026, "complexity": 1, "loc": 18, "_type": "FUNCTION", "columns": []}, {"id": "app_configure_login_manager", "label": "configure_login_manager()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "configure_login_manager()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/app.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.023, "complexity": 1, "loc": 11, "_type": "FUNCTION", "columns": []}, {"id": "app_register_error_handlers", "label": "register_error_handlers()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "register_error_handlers()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/app.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.028, "complexity": 1, "loc": 23, "_type": "FUNCTION", "columns": []}, {"id": "app_register_commands", "label": "register_commands()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "register_commands()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/app.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.061, "complexity": 3, "loc": 39, "_type": "FUNCTION", "columns": []}, {"id": "app_register_context_processors", "label": "register_context_processors()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "register_context_processors()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/app.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.041, "complexity": 2, "loc": 22, "_type": "FUNCTION", "columns": []}, {"id": "app_register_template_filters", "label": "register_template_filters()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "register_template_filters()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/app.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.056, "complexity": 3, "loc": 26, "_type": "FUNCTION", "columns": []}, {"id": "app_rationale_1", "label": "DigiServer v2 - Application Factory Modern Flask application with blueprint arch", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "DigiServer v2 - Application Factory Modern Flask application with blueprint arch", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/app.py", "file_type": "rationale", "degree": 6, "_level": 0, "_granularity": "low", "heat": 0.024, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "app_rationale_18", "label": "Application factory pattern Args: config_name: Configuration en", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Application factory pattern Args: config_name: Configuration en", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/app.py", "file_type": "rationale", "degree": 6, "_level": 0, "_granularity": "low", "heat": 0.024, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "app_rationale_91", "label": "Register application blueprints", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Register application blueprints", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/app.py", "file_type": "rationale", "degree": 6, "_level": 0, "_granularity": "low", "heat": 0.024, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "app_rationale_111", "label": "Configure Flask-Login", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Configure Flask-Login", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/app.py", "file_type": "rationale", "degree": 6, "_level": 1, "_granularity": "low", "heat": 0.024, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "app_rationale_124", "label": "Register error handlers", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Register error handlers", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/app.py", "file_type": "rationale", "degree": 6, "_level": 1, "_granularity": "low", "heat": 0.024, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "app_rationale_149", "label": "Register CLI commands", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Register CLI commands", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/app.py", "file_type": "rationale", "degree": 6, "_level": 0, "_granularity": "low", "heat": 0.024, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "app_rationale_190", "label": "Register context processors for templates", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Register context processors for templates", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/app.py", "file_type": "rationale", "degree": 6, "_level": 1, "_granularity": "low", "heat": 0.024, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "app_rationale_214", "label": "Register custom Jinja2 template filters", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Register custom Jinja2 template filters", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/app.py", "file_type": "rationale", "degree": 6, "_level": 1, "_granularity": "low", "heat": 0.024, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "label": "admin.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 20.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 12, "color": "#ffffff"}, "title": "admin.py", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 31, "_level": 0, "_granularity": "low", "heat": 0.067, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_admin_required", "label": "admin_required()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "admin_required()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.048, "complexity": 3, "loc": 13, "_type": "FUNCTION", "columns": []}, {"id": "admin_admin_panel", "label": "admin_panel()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "admin_panel()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.1, "complexity": 6, "loc": 39, "_type": "FUNCTION", "columns": []}, {"id": "admin_create_user", "label": "create_user()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "create_user()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.103, "complexity": 6, "loc": 41, "_type": "FUNCTION", "columns": []}, {"id": "admin_change_user_role", "label": "change_user_role()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "change_user_role()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.07, "complexity": 4, "loc": 29, "_type": "FUNCTION", "columns": []}, {"id": "admin_delete_user", "label": "delete_user()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_user()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.054, "complexity": 3, "loc": 23, "_type": "FUNCTION", "columns": []}, {"id": "admin_change_theme", "label": "change_theme()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "change_theme()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.052, "complexity": 3, "loc": 19, "_type": "FUNCTION", "columns": []}, {"id": "admin_upload_logo", "label": "upload_logo()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "upload_logo()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.086, "complexity": 5, "loc": 37, "_type": "FUNCTION", "columns": []}, {"id": "admin_clear_logs", "label": "clear_logs()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "clear_logs()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.038, "complexity": 2, "loc": 15, "_type": "FUNCTION", "columns": []}, {"id": "admin_user_management", "label": "user_management()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "user_management()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.035, "complexity": 2, "loc": 9, "_type": "FUNCTION", "columns": []}, {"id": "admin_reset_user_password", "label": "reset_user_password()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "reset_user_password()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.069, "complexity": 4, "loc": 30, "_type": "FUNCTION", "columns": []}, {"id": "admin_system_info", "label": "system_info()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "system_info()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.044, "complexity": 2, "loc": 28, "_type": "FUNCTION", "columns": []}, {"id": "admin_leftover_media", "label": "leftover_media()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "leftover_media()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.053, "complexity": 2, "loc": 48, "_type": "FUNCTION", "columns": []}, {"id": "admin_delete_leftover_images", "label": "delete_leftover_images()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_leftover_images()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.13, "complexity": 8, "loc": 52, "_type": "FUNCTION", "columns": []}, {"id": "admin_delete_leftover_videos", "label": "delete_leftover_videos()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_leftover_videos()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.13, "complexity": 8, "loc": 52, "_type": "FUNCTION", "columns": []}, {"id": "admin_delete_single_leftover", "label": "delete_single_leftover()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_single_leftover()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.082, "complexity": 5, "loc": 32, "_type": "FUNCTION", "columns": []}, {"id": "admin_dependencies", "label": "dependencies()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "dependencies()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.193, "complexity": 12, "loc": 76, "_type": "FUNCTION", "columns": []}, {"id": "admin_install_libreoffice", "label": "install_libreoffice()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "install_libreoffice()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.071, "complexity": 4, "loc": 32, "_type": "FUNCTION", "columns": []}, {"id": "admin_install_emoji_fonts", "label": "install_emoji_fonts()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "install_emoji_fonts()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.071, "complexity": 4, "loc": 32, "_type": "FUNCTION", "columns": []}, {"id": "admin_customize_logos", "label": "customize_logos()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "customize_logos()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.018, "complexity": 1, "loc": 4, "_type": "FUNCTION", "columns": []}, {"id": "admin_upload_header_logo", "label": "upload_header_logo()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "upload_header_logo()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.08, "complexity": 5, "loc": 26, "_type": "FUNCTION", "columns": []}, {"id": "admin_upload_login_logo", "label": "upload_login_logo()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "upload_login_logo()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.081, "complexity": 5, "loc": 26, "_type": "FUNCTION", "columns": []}, {"id": "admin_manage_editing_users", "label": "manage_editing_users()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "manage_editing_users()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.054, "complexity": 3, "loc": 22, "_type": "FUNCTION", "columns": []}, {"id": "admin_update_editing_user", "label": "update_editing_user()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "update_editing_user()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.053, "complexity": 3, "loc": 20, "_type": "FUNCTION", "columns": []}, {"id": "admin_delete_editing_user", "label": "delete_editing_user()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_editing_user()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.038, "complexity": 2, "loc": 19, "_type": "FUNCTION", "columns": []}, {"id": "admin_https_config", "label": "https_config()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "https_config()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 4, "_level": 0, "_granularity": "low", "heat": 0.057, "complexity": 3, "loc": 25, "_type": "FUNCTION", "columns": []}, {"id": "admin_update_https_config", "label": "update_https_config()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "update_https_config()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 7, "_level": 0, "_granularity": "low", "heat": 0.407, "complexity": 27, "loc": 104, "_type": "FUNCTION", "columns": []}, {"id": "admin_https_config_status", "label": "https_config_status()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "https_config_status()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 5, "_level": 0, "_granularity": "low", "heat": 0.055, "complexity": 3, "loc": 18, "_type": "FUNCTION", "columns": []}, {"id": "admin_player_build_meta_path", "label": "_player_build_meta_path()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "_player_build_meta_path()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.022, "complexity": 1, "loc": 4, "_type": "FUNCTION", "columns": []}, {"id": "admin_build_player", "label": "build_player()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "build_player()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 7, "_level": 1, "_granularity": "low", "heat": 0.095, "complexity": 5, "loc": 41, "_type": "FUNCTION", "columns": []}, {"id": "admin_build_player_action", "label": "build_player_action()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "build_player_action()", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "code", "degree": 9, "_level": 1, "_granularity": "low", "heat": 0.235, "complexity": 14, "loc": 85, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_1", "label": "Admin blueprint for user management and system settings.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Admin blueprint for user management and system settings.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_19", "label": "Decorator to require admin role for route access.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Decorator to require admin role for route access.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_36", "label": "Display admin panel with system overview.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Display admin panel with system overview.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_80", "label": "Create a new user account.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Create a new user account.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_126", "label": "Change user role between user and admin.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Change user role between user and admin.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_160", "label": "Delete a user account.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Delete a user account.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_188", "label": "Change application theme.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Change application theme.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 0, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_212", "label": "Upload custom logo for application.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Upload custom logo for application.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 0, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_254", "label": "Clear all server logs.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Clear all server logs.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 0, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_274", "label": "Display user management page.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Display user management page.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_323", "label": "Get system information as JSON.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get system information as JSON.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_355", "label": "Display leftover media files not assigned to any playlist.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Display leftover media files not assigned to any playlist.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_407", "label": "Delete all leftover images that are not part of any playlist", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Delete all leftover images that are not part of any playlist", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_462", "label": "Delete all leftover videos that are not part of any playlist", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Delete all leftover videos that are not part of any playlist", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_517", "label": "Delete a single leftover content file", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Delete a single leftover content file", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_554", "label": "Show system dependencies status.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Show system dependencies status.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_635", "label": "Install LibreOffice for PPTX conversion.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Install LibreOffice for PPTX conversion.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_672", "label": "Install Emoji Fonts for better UI display.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Install Emoji Fonts for better UI display.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_709", "label": "Logo customization page.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Logo customization page.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_749", "label": "Upload login page logo.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Upload login page logo.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_779", "label": "Display and manage users that edit images on players.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Display and manage users that edit images on players.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_805", "label": "Update editing user name.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Update editing user name.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_857", "label": "Display HTTPS configuration management page.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Display HTTPS configuration management page.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 0, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_887", "label": "Update HTTPS configuration.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Update HTTPS configuration.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 0, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_996", "label": "Get current HTTPS configuration status as JSON.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get current HTTPS configuration status as JSON.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 0, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_1020", "label": "Path to the persisted player-build settings (in the instance folder).", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Path to the persisted player-build settings (in the instance folder).", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_1029", "label": "Display the 'Build player files for deployment' admin page.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Display the &#x27;Build player files for deployment&#x27; admin page.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "admin_rationale_1075", "label": "Build/refresh the staged player code and/or write its base config.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Build/refresh the staged player code and/or write its base config.", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/admin.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_blueprints_content_old_py", "label": "content_old.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 15.4, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "content_old.py", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "code", "degree": 13, "_level": 0, "_granularity": "low", "heat": 0.036, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_old_content_list", "label": "content_list()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "content_list()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.132, "complexity": 8, "loc": 52, "_type": "FUNCTION", "columns": []}, {"id": "content_old_upload_content", "label": "upload_content()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "upload_content()", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.224, "complexity": 12, "loc": 134, "_type": "FUNCTION", "columns": []}, {"id": "content_old_edit_content", "label": "edit_content()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "edit_content()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.07, "complexity": 4, "loc": 30, "_type": "FUNCTION", "columns": []}, {"id": "content_old_delete_content", "label": "delete_content()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_content()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.056, "complexity": 3, "loc": 27, "_type": "FUNCTION", "columns": []}, {"id": "content_old_delete_by_filename", "label": "delete_by_filename()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_by_filename()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.102, "complexity": 6, "loc": 44, "_type": "FUNCTION", "columns": []}, {"id": "content_old_bulk_delete_content", "label": "bulk_delete_content()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "bulk_delete_content()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.097, "complexity": 6, "loc": 33, "_type": "FUNCTION", "columns": []}, {"id": "content_old_upload_progress_status", "label": "upload_progress_status()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "upload_progress_status()", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 4, "_type": "FUNCTION", "columns": []}, {"id": "content_old_preview_content", "label": "preview_content()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "preview_content()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.037, "complexity": 2, "loc": 14, "_type": "FUNCTION", "columns": []}, {"id": "content_old_download_content", "label": "download_content()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "download_content()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.038, "complexity": 2, "loc": 15, "_type": "FUNCTION", "columns": []}, {"id": "content_old_content_statistics", "label": "content_statistics()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "content_statistics()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.109, "complexity": 7, "loc": 30, "_type": "FUNCTION", "columns": []}, {"id": "content_old_check_duplicates", "label": "check_duplicates()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "check_duplicates()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.053, "complexity": 3, "loc": 21, "_type": "FUNCTION", "columns": []}, {"id": "content_old_content_groups_info", "label": "content_groups_info()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "content_groups_info()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.054, "complexity": 3, "loc": 23, "_type": "FUNCTION", "columns": []}, {"id": "content_old_rationale_1", "label": "Content blueprint for media upload and management.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Content blueprint for media upload and management.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_old_rationale_31", "label": "Display list of all content.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Display list of all content.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_old_rationale_225", "label": "Edit content metadata.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Edit content metadata.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_old_rationale_259", "label": "Delete content and associated file.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Delete content and associated file.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_old_rationale_290", "label": "Delete all content entries with a specific filename.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Delete all content entries with a specific filename.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_old_rationale_338", "label": "Delete multiple content items at once.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Delete multiple content items at once.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_old_rationale_375", "label": "Get upload progress for a specific upload.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get upload progress for a specific upload.", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_old_rationale_383", "label": "Preview content in browser.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Preview content in browser.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_old_rationale_401", "label": "Download content file.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Download content file.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_old_rationale_420", "label": "Get content statistics.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get content statistics.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_old_rationale_454", "label": "Check for duplicate filenames.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Check for duplicate filenames.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_old_rationale_479", "label": "Get groups that contain this content.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get groups that contain this content.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content_old.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_blueprints_content_py", "label": "content.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 19.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 12, "color": "#ffffff"}, "title": "content.py", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 27, "_level": 0, "_granularity": "low", "heat": 0.06, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_content_list", "label": "content_list()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "content_list()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.022, "complexity": 1, "loc": 12, "_type": "FUNCTION", "columns": []}, {"id": "content_media_library", "label": "media_library()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "media_library()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.04, "complexity": 2, "loc": 24, "_type": "FUNCTION", "columns": []}, {"id": "content_delete_media", "label": "delete_media()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_media()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.163, "complexity": 10, "loc": 60, "_type": "FUNCTION", "columns": []}, {"id": "content_create_playlist", "label": "create_playlist()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "create_playlist()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.074, "complexity": 4, "loc": 34, "_type": "FUNCTION", "columns": []}, {"id": "content_delete_playlist", "label": "delete_playlist()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_playlist()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.04, "complexity": 2, "loc": 23, "_type": "FUNCTION", "columns": []}, {"id": "content_manage_playlist_content", "label": "manage_playlist_content()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "manage_playlist_content()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.026, "complexity": 1, "loc": 18, "_type": "FUNCTION", "columns": []}, {"id": "content_add_content_to_playlist", "label": "add_content_to_playlist()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "add_content_to_playlist()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.066, "complexity": 3, "loc": 46, "_type": "FUNCTION", "columns": []}, {"id": "content_add_weblink", "label": "add_weblink()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "add_weblink()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.159, "complexity": 9, "loc": 76, "_type": "FUNCTION", "columns": []}, {"id": "content_add_weblink_to_playlist", "label": "add_weblink_to_playlist()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "add_weblink_to_playlist()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.088, "complexity": 4, "loc": 62, "_type": "FUNCTION", "columns": []}, {"id": "content_remove_content_from_playlist", "label": "remove_content_from_playlist()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "remove_content_from_playlist()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.061, "complexity": 3, "loc": 33, "_type": "FUNCTION", "columns": []}, {"id": "content_bulk_remove_from_playlist", "label": "bulk_remove_from_playlist()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "bulk_remove_from_playlist()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.076, "complexity": 4, "loc": 38, "_type": "FUNCTION", "columns": []}, {"id": "content_reorder_playlist_content", "label": "reorder_playlist_content()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "reorder_playlist_content()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.075, "complexity": 4, "loc": 37, "_type": "FUNCTION", "columns": []}, {"id": "content_update_playlist_content_muted", "label": "update_playlist_content_muted()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "update_playlist_content_muted()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.049, "complexity": 2, "loc": 37, "_type": "FUNCTION", "columns": []}, {"id": "content_update_playlist_content_edit_enabled", "label": "update_playlist_content_edit_enabled()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "update_playlist_content_edit_enabled()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.049, "complexity": 2, "loc": 37, "_type": "FUNCTION", "columns": []}, {"id": "content_update_playlist_content_duration", "label": "update_playlist_content_duration()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "update_playlist_content_duration()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.079, "complexity": 4, "loc": 46, "_type": "FUNCTION", "columns": []}, {"id": "content_upload_media_page", "label": "upload_media_page()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "upload_media_page()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.018, "complexity": 1, "loc": 4, "_type": "FUNCTION", "columns": []}, {"id": "content_process_image_file", "label": "process_image_file()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "process_image_file()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.069, "complexity": 4, "loc": 24, "_type": "FUNCTION", "columns": []}, {"id": "content_process_video_file_extended", "label": "process_video_file_extended()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "process_video_file_extended()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.058, "complexity": 3, "loc": 23, "_type": "FUNCTION", "columns": []}, {"id": "content_process_pdf_file", "label": "process_pdf_file()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "process_pdf_file()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.117, "complexity": 6, "loc": 69, "_type": "FUNCTION", "columns": []}, {"id": "content_process_file_in_background", "label": "process_file_in_background()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "process_file_in_background()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 7, "_level": 1, "_granularity": "low", "heat": 0.376, "complexity": 22, "loc": 177, "_type": "FUNCTION", "columns": []}, {"id": "content_process_presentation_file", "label": "process_presentation_file()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "process_presentation_file()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 7, "_level": 1, "_granularity": "low", "heat": 0.243, "complexity": 13, "loc": 141, "_type": "FUNCTION", "columns": []}, {"id": "content_create_fullhd_image", "label": "create_fullhd_image()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "create_fullhd_image()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.041, "complexity": 2, "loc": 23, "_type": "FUNCTION", "columns": []}, {"id": "content_resize_image_to_fullhd", "label": "resize_image_to_fullhd()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "resize_image_to_fullhd()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.097, "complexity": 5, "loc": 56, "_type": "FUNCTION", "columns": []}, {"id": "content_optimize_image_to_fullhd", "label": "optimize_image_to_fullhd()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "optimize_image_to_fullhd()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.039, "complexity": 2, "loc": 13, "_type": "FUNCTION", "columns": []}, {"id": "content_upload_media", "label": "upload_media()", "color": {"background": "#e74c3c", "border": "#e74c3c", "highlight": {"background": "#ffffff", "border": "#e74c3c"}}, "size": 14.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "upload_media()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 9, "_level": 1, "_granularity": "low", "heat": 0.537, "complexity": 31, "loc": 270, "_type": "FUNCTION", "columns": []}, {"id": "content_assign_player_to_playlist", "label": "assign_player_to_playlist()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "assign_player_to_playlist()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.056, "complexity": 3, "loc": 26, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_1", "label": "Content model for media files.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Content model for media files.", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "rationale", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.019, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_28", "label": "Main playlist management page.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Main playlist management page.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 0, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_44", "label": "View all media files in the library.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "View all media files in the library.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_72", "label": "Delete a media file and remove it from all playlists.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Delete a media file and remove it from all playlists.", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_136", "label": "Create a new playlist.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Create a new playlist.", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_201", "label": "Manage content in a specific playlist.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Manage content in a specific playlist.", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_223", "label": "Add content to playlist.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Add content to playlist.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_273", "label": "Create a web link content item from the Upload Media page. Optionally adds", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Create a web link content item from the Upload Media page. Optionally adds", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_353", "label": "Create a web link content item and add it to the playlist.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Create a web link content item and add it to the playlist.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_419", "label": "Remove content from playlist.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Remove content from playlist.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_456", "label": "Remove multiple content items from playlist.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Remove multiple content items from playlist.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_498", "label": "Reorder content in playlist.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Reorder content in playlist.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_539", "label": "Update content muted setting in playlist.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Update content muted setting in playlist.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_580", "label": "Update content edit_on_player_enabled setting in playlist.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Update content edit_on_player_enabled setting in playlist.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_621", "label": "Update content duration in playlist.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Update content duration in playlist.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_671", "label": "Display upload media page.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Display upload media page.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_677", "label": "Process and optimize image files.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Process and optimize image files.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_703", "label": "Process and optimize video files for Raspberry Pi playback.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Process and optimize video files for Raspberry Pi playback.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_728", "label": "Process PDF files by converting each page to PNG images.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Process PDF files by converting each page to PNG images.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_800", "label": "Process large files (PDF, PPTX, Video) in background thread.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Process large files (PDF, PPTX, Video) in background thread.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_978", "label": "Process PowerPoint presentation files by converting slides to images.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Process PowerPoint presentation files by converting slides to images.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_1121", "label": "Create a Full HD (1920x1080) image from PIL Image object, centered on white back", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Create a Full HD (1920x1080) image from PIL Image object, centered on white back", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_1146", "label": "Resize image to exactly Full HD (1920x1080) maintaining aspect ratio with center", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Resize image to exactly Full HD (1920x1080) maintaining aspect ratio with center", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 0, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_1204", "label": "Optimize and resize image file to Full HD (1920x1080) maintaining aspect ratio.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Optimize and resize image file to Full HD (1920x1080) maintaining aspect ratio.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 0, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_1221", "label": "Upload media files to library with type-specific processing.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Upload media files to library with type-specific processing.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_1495", "label": "Assign a player to a playlist.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Assign a player to a playlist.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/content.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_blueprints_init_py", "label": "__init__.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/__init__.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "init_rationale_1", "label": "Models package for digiserver-v2.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 15.4, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Models package for digiserver-v2.", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/__init__.py", "file_type": "rationale", "degree": 13, "_level": 0, "_granularity": "low", "heat": 0.036, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_blueprints_api_py", "label": "api.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 17.9, "shape": "dot", "image": null, "shadow": false, "font": {"size": 12, "color": "#ffffff"}, "title": "api.py", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 23, "_level": 0, "_granularity": "low", "heat": 0.253, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rate_limit", "label": "rate_limit()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "rate_limit()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.274, "complexity": 4, "loc": 41, "_type": "FUNCTION", "columns": []}, {"id": "api_verify_player_auth", "label": "verify_player_auth()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "verify_player_auth()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.253, "complexity": 3, "loc": 23, "_type": "FUNCTION", "columns": []}, {"id": "api_health_check", "label": "health_check()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "health_check()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 7, "_type": "FUNCTION", "columns": []}, {"id": "api_get_server_certificate", "label": "get_server_certificate()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_server_certificate()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 2, "_level": 0, "_granularity": "low", "heat": 0.218, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "api_authenticate_player", "label": "authenticate_player()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "authenticate_player()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.297, "complexity": 5, "loc": 52, "_type": "FUNCTION", "columns": []}, {"id": "api_verify_auth_code", "label": "verify_auth_code()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "verify_auth_code()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.275, "complexity": 4, "loc": 40, "_type": "FUNCTION", "columns": []}, {"id": "api_get_playlist_by_quickconnect", "label": "get_playlist_by_quickconnect()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_playlist_by_quickconnect()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.354, "complexity": 8, "loc": 93, "_type": "FUNCTION", "columns": []}, {"id": "api_get_player_playlist", "label": "get_player_playlist()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_player_playlist()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.289, "complexity": 5, "loc": 39, "_type": "FUNCTION", "columns": []}, {"id": "api_get_playlist_version", "label": "get_playlist_version()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_playlist_version()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.256, "complexity": 3, "loc": 26, "_type": "FUNCTION", "columns": []}, {"id": "api_get_cached_playlist", "label": "get_cached_playlist()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_cached_playlist()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.307, "complexity": 6, "loc": 47, "_type": "FUNCTION", "columns": []}, {"id": "api_receive_player_feedback", "label": "receive_player_feedback()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "receive_player_feedback()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.425, "complexity": 13, "loc": 107, "_type": "FUNCTION", "columns": []}, {"id": "api_get_player_status", "label": "get_player_status()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_player_status()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.285, "complexity": 5, "loc": 33, "_type": "FUNCTION", "columns": []}, {"id": "api_get_upload_progress", "label": "get_upload_progress()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_upload_progress()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.235, "complexity": 2, "loc": 10, "_type": "FUNCTION", "columns": []}, {"id": "api_system_info", "label": "system_info()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "system_info()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.245, "complexity": 2, "loc": 31, "_type": "FUNCTION", "columns": []}, {"id": "api_list_content", "label": "list_content()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "list_content()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.255, "complexity": 3, "loc": 25, "_type": "FUNCTION", "columns": []}, {"id": "api_get_logs", "label": "get_logs()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_logs()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.304, "complexity": 6, "loc": 47, "_type": "FUNCTION", "columns": []}, {"id": "api_receive_edited_media", "label": "receive_edited_media()", "color": {"background": "#e74c3c", "border": "#e74c3c", "highlight": {"background": "#ffffff", "border": "#e74c3c"}}, "size": 13.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "receive_edited_media()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 6, "_level": 1, "_granularity": "low", "heat": 0.62, "complexity": 25, "loc": 192, "_type": "FUNCTION", "columns": []}, {"id": "api_test_ssh_connection", "label": "test_ssh_connection()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "test_ssh_connection()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.288, "complexity": 5, "loc": 40, "_type": "FUNCTION", "columns": []}, {"id": "api_deploy_player", "label": "deploy_player()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "deploy_player()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.314, "complexity": 6, "loc": 66, "_type": "FUNCTION", "columns": []}, {"id": "api_api_not_found", "label": "api_not_found()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "api_not_found()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.218, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "api_method_not_allowed", "label": "method_not_allowed()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "method_not_allowed()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.218, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "api_internal_error", "label": "internal_error()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "internal_error()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.218, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_1", "label": "API blueprint for REST endpoints and player communication.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "API blueprint for REST endpoints and player communication.", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_22", "label": "Rate limiting decorator. Args: max_requests: Maximum number of", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Rate limiting decorator. Args: max_requests: Maximum number of", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_65", "label": "Decorator to verify player authentication via auth code.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Decorator to verify player authentication via auth code.", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_91", "label": "API health check endpoint.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "API health check endpoint.", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_101", "label": "Get server SSL certificate.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get server SSL certificate.", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 0, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_108", "label": "Authenticate a player and return auth code and configuration. Request J", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Authenticate a player and return auth code and configuration. Request J", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_164", "label": "Verify an auth code and return player information. Request JSON:", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Verify an auth code and return player information. Request JSON:", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_208", "label": "Get playlist using hostname and quickconnect code (Kivy player compatible).", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get playlist using hostname and quickconnect code (Kivy player compatible).", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_306", "label": "Get playlist for a specific player. Requires player authentication via", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get playlist for a specific player. Requires player authentication via", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_350", "label": "Get current playlist version for a player. Lightweight endpoint for pla", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get current playlist version for a player. Lightweight endpoint for pla", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_379", "label": "Get cached playlist for a player based on assigned playlist.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get cached playlist for a player based on assigned playlist.", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_430", "label": "Receive feedback/status updates from players (Kivy player compatible).", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Receive feedback/status updates from players (Kivy player compatible).", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_541", "label": "Get current status of a player (public endpoint for monitoring).", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get current status of a player (public endpoint for monitoring).", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_578", "label": "Get progress of a file upload.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get progress of a file upload.", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_592", "label": "Get system information and statistics.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get system information and statistics.", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_656", "label": "List all content with basic information.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "List all content with basic information.", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_685", "label": "Get recent server logs. Query parameters: limit: Number of logs", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get recent server logs. Query parameters: limit: Number of logs", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 0, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_737", "label": "Receive edited media from player. Expected multipart/form-data: - i", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Receive edited media from player. Expected multipart/form-data: - i", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_937", "label": "Test SSH connection to a remote host. Request JSON: hostname: T", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Test SSH connection to a remote host. Request JSON: hostname: T", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_981", "label": "Deploy player code to a remote host via SSH. Request JSON: host", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Deploy player code to a remote host via SSH. Request JSON: host", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_1050", "label": "Handle 404 errors in API.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Handle 404 errors in API.", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_1056", "label": "Handle 405 errors in API.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Handle 405 errors in API.", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "api_rationale_1062", "label": "Handle 500 errors in API.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Handle 500 errors in API.", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/api.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_blueprints_players_py", "label": "players.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 16.7, "shape": "dot", "image": null, "shadow": false, "font": {"size": 12, "color": "#ffffff"}, "title": "players.py", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 18, "_level": 0, "_granularity": "low", "heat": 0.244, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "players_list", "label": "list()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 14.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "list()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 9, "_level": 1, "_granularity": "low", "heat": 0.295, "complexity": 5, "loc": 33, "_type": "FUNCTION", "columns": []}, {"id": "players_add_player", "label": "add_player()", "color": {"background": "#e74c3c", "border": "#e74c3c", "highlight": {"background": "#ffffff", "border": "#e74c3c"}}, "size": 14.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "add_player()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 10, "_level": 1, "_granularity": "low", "heat": 0.592, "complexity": 23, "loc": 172, "_type": "FUNCTION", "columns": []}, {"id": "players_edit_player", "label": "edit_player()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "edit_player()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.27, "complexity": 4, "loc": 34, "_type": "FUNCTION", "columns": []}, {"id": "players_delete_player", "label": "delete_player()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_player()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.24, "complexity": 2, "loc": 24, "_type": "FUNCTION", "columns": []}, {"id": "players_regenerate_auth_code", "label": "regenerate_auth_code()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "regenerate_auth_code()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.24, "complexity": 2, "loc": 19, "_type": "FUNCTION", "columns": []}, {"id": "players_player_page", "label": "player_page()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "player_page()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.218, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "players_manage_player", "label": "manage_player()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "manage_player()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 6, "_level": 1, "_granularity": "low", "heat": 0.429, "complexity": 13, "loc": 113, "_type": "FUNCTION", "columns": []}, {"id": "players_edited_media", "label": "edited_media()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "edited_media()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.326, "complexity": 8, "loc": 40, "_type": "FUNCTION", "columns": []}, {"id": "players_edited_media_report", "label": "edited_media_report()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "edited_media_report()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.283, "complexity": 5, "loc": 30, "_type": "FUNCTION", "columns": []}, {"id": "players_player_fullscreen", "label": "player_fullscreen()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "player_fullscreen()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.255, "complexity": 3, "loc": 20, "_type": "FUNCTION", "columns": []}, {"id": "players_get_player_playlist", "label": "get_player_playlist()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_player_playlist()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.303, "complexity": 6, "loc": 41, "_type": "FUNCTION", "columns": []}, {"id": "players_reorder_content", "label": "reorder_content()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "reorder_content()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.219, "complexity": 1, "loc": 6, "_type": "FUNCTION", "columns": []}, {"id": "players_bulk_delete_players", "label": "bulk_delete_players()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "bulk_delete_players()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.282, "complexity": 5, "loc": 28, "_type": "FUNCTION", "columns": []}, {"id": "players_bulk_assign_playlist", "label": "bulk_assign_playlist()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "bulk_assign_playlist()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.31, "complexity": 7, "loc": 33, "_type": "FUNCTION", "columns": []}, {"id": "players_deployment_status", "label": "deployment_status()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "deployment_status()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.266, "complexity": 4, "loc": 20, "_type": "FUNCTION", "columns": []}, {"id": "players_reorder_playlist", "label": "reorder_playlist()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "reorder_playlist()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.331, "complexity": 8, "loc": 49, "_type": "FUNCTION", "columns": []}, {"id": "players_remove_from_playlist", "label": "remove_from_playlist()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "remove_from_playlist()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.286, "complexity": 5, "loc": 36, "_type": "FUNCTION", "columns": []}, {"id": "players_rationale_1", "label": "Players blueprint for player management and display.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Players blueprint for player management and display.", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "players_rationale_20", "label": "Display list of all players.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Display list of all players.", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "players_rationale_57", "label": "Add a new player with optional SSH deployment.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Add a new player with optional SSH deployment.", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "players_rationale_299", "label": "Regenerate authentication code for a player.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Regenerate authentication code for a player.", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "players_rationale_322", "label": "Redirect to manage player page (combined view).", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Redirect to manage player page (combined view).", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "players_rationale_329", "label": "Manage player - edit credentials, assign playlist, view logs.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Manage player - edit credentials, assign playlist, view logs.", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "players_rationale_446", "label": "Display all edited media files from this player.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Display all edited media files from this player.", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "players_rationale_490", "label": "Display a tabular report of all edited media from this player.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Display a tabular report of all edited media from this player.", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "players_rationale_523", "label": "Display player fullscreen view (no authentication required for players).", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Display player fullscreen view (no authentication required for players).", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "players_rationale_546", "label": "Get playlist for a player based on their assigned playlist. Args:", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get playlist for a player based on their assigned playlist. Args:", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "players_rationale_591", "label": "Legacy endpoint - Content reordering now handled in playlist management.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Legacy endpoint - Content reordering now handled in playlist management.", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "players_rationale_601", "label": "Delete multiple players at once.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Delete multiple players at once.", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "players_rationale_633", "label": "Assign multiple players to a playlist.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Assign multiple players to a playlist.", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "players_rationale_670", "label": "Return deployment status for all players (used by polling JS).", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Return deployment status for all players (used by polling JS).", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "players_rationale_694", "label": "Reorder items in player's playlist.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Reorder items in player&#x27;s playlist.", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "players_rationale_747", "label": "Remove content from player's playlist.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Remove content from player&#x27;s playlist.", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/players.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.22, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "label": "auth.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "auth.py", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.022, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "auth_login", "label": "login()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "login()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.099, "complexity": 6, "loc": 40, "_type": "FUNCTION", "columns": []}, {"id": "auth_logout", "label": "logout()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "logout()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 7, "_type": "FUNCTION", "columns": []}, {"id": "auth_register", "label": "register()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "register()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "file_type": "code", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.114, "complexity": 7, "loc": 45, "_type": "FUNCTION", "columns": []}, {"id": "auth_change_password", "label": "change_password()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "change_password()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.082, "complexity": 5, "loc": 30, "_type": "FUNCTION", "columns": []}, {"id": "auth_rationale_1", "label": "Authentication Blueprint - Login, Logout, Register", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Authentication Blueprint - Login, Logout, Register", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/auth.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_blueprints_playlist_py", "label": "playlist.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 14.1, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "playlist.py", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/playlist.py", "file_type": "code", "degree": 8, "_level": 1, "_granularity": "low", "heat": 0.027, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "playlist_manage_playlist", "label": "manage_playlist()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "manage_playlist()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/playlist.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.034, "complexity": 2, "loc": 11, "_type": "FUNCTION", "columns": []}, {"id": "playlist_add_to_playlist", "label": "add_to_playlist()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "add_to_playlist()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/playlist.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.082, "complexity": 4, "loc": 51, "_type": "FUNCTION", "columns": []}, {"id": "playlist_remove_from_playlist", "label": "remove_from_playlist()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "remove_from_playlist()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/playlist.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.082, "complexity": 4, "loc": 51, "_type": "FUNCTION", "columns": []}, {"id": "playlist_reorder_playlist", "label": "reorder_playlist()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "reorder_playlist()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/playlist.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.091, "complexity": 5, "loc": 43, "_type": "FUNCTION", "columns": []}, {"id": "playlist_update_duration", "label": "update_duration()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "update_duration()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/playlist.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.077, "complexity": 4, "loc": 41, "_type": "FUNCTION", "columns": []}, {"id": "playlist_update_muted", "label": "update_muted()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "update_muted()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/playlist.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.063, "complexity": 3, "loc": 39, "_type": "FUNCTION", "columns": []}, {"id": "playlist_clear_playlist", "label": "clear_playlist()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "clear_playlist()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/playlist.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.061, "complexity": 3, "loc": 33, "_type": "FUNCTION", "columns": []}, {"id": "playlist_rationale_1", "label": "Playlist model for managing content collections.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Playlist model for managing content collections.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "file_type": "rationale", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.019, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "playlist_rationale_19", "label": "Legacy route - redirect to new content management area.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Legacy route - redirect to new content management area.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/playlist.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "playlist_rationale_34", "label": "Add content to player's playlist.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Add content to player&#x27;s playlist.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/playlist.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "playlist_rationale_89", "label": "Remove content from player's playlist.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Remove content from player&#x27;s playlist.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/playlist.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "playlist_rationale_144", "label": "Reorder playlist items.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Reorder playlist items.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/playlist.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "playlist_rationale_191", "label": "Update content duration in playlist.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Update content duration in playlist.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/playlist.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "playlist_rationale_236", "label": "Update content muted setting in playlist.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Update content muted setting in playlist.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/playlist.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "playlist_rationale_279", "label": "Clear all content from player's playlist.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Clear all content from player&#x27;s playlist.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/playlist.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_blueprints_main_py", "label": "main.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "main.py", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/main.py", "file_type": "code", "degree": 3, "_level": 0, "_granularity": "low", "heat": 0.019, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "main_dashboard", "label": "dashboard()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "dashboard()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/main.py", "file_type": "code", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.067, "complexity": 4, "loc": 27, "_type": "FUNCTION", "columns": []}, {"id": "main_health", "label": "health()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "health()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/main.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.057, "complexity": 3, "loc": 32, "_type": "FUNCTION", "columns": []}, {"id": "main_rationale_1", "label": "Main Blueprint - Dashboard and Home Routes", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Main Blueprint - Dashboard and Home Routes", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/main.py", "file_type": "rationale", "degree": 4, "_level": 0, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "main_rationale_50", "label": "Health check endpoint", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Health check endpoint", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/blueprints/main.py", "file_type": "rationale", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_utils_script_name_fix_py", "label": "script_name_fix.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "script_name_fix.py", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/utils/script_name_fix.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "script_name_fix_scriptnamefix", "label": "ScriptNameFix", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 15.1, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "ScriptNameFix", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/utils/script_name_fix.py", "file_type": "code", "degree": 12, "_level": 0, "_granularity": "low", "heat": 0.065, "complexity": 3, "loc": 12, "_type": "CLASS", "columns": []}, {"id": "script_name_fix_scriptnamefix_init", "label": ".__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/utils/script_name_fix.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.016, "complexity": 1, "loc": 2, "_type": "FUNCTION", "columns": []}, {"id": "script_name_fix_scriptnamefix_call", "label": ".__call__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".__call__()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/utils/script_name_fix.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.044, "complexity": 3, "loc": 8, "_type": "FUNCTION", "columns": []}, {"id": "script_name_fix_rationale_1", "label": "ScriptNameFix WSGI middleware. When nginx strips the path prefix before forward", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "ScriptNameFix WSGI middleware. When nginx strips the path prefix before forward", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/utils/script_name_fix.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_utils_portal_sso_py", "label": "portal_sso.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "portal_sso.py", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/utils/portal_sso.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.019, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "portal_sso_init_portal_sso", "label": "init_portal_sso()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "init_portal_sso()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/utils/portal_sso.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.064, "complexity": 4, "loc": 16, "_type": "FUNCTION", "columns": []}, {"id": "portal_sso_get_or_create_user", "label": "_get_or_create_user()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "_get_or_create_user()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/utils/portal_sso.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.063, "complexity": 4, "loc": 18, "_type": "FUNCTION", "columns": []}, {"id": "portal_sso_rationale_1", "label": "Portal SSO middleware for DigiServer v2. When the umbrella nginx verifies the p", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Portal SSO middleware for DigiServer v2. When the umbrella nginx verifies the p", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/utils/portal_sso.py", "file_type": "rationale", "degree": 2, "_level": 0, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "portal_sso_rationale_18", "label": "Register the SSO before_request handler on the given Flask app.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Register the SSO before_request handler on the given Flask app.", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/utils/portal_sso.py", "file_type": "rationale", "degree": 2, "_level": 0, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_utils_caddy_manager_py", "label": "caddy_manager.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "caddy_manager.py", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/utils/caddy_manager.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.022, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "caddy_manager_caddyconfiggenerator", "label": "CaddyConfigGenerator", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 20.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 12, "color": "#ffffff"}, "title": "CaddyConfigGenerator", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/utils/caddy_manager.py", "file_type": "code", "degree": 31, "_level": 0, "_granularity": "low", "heat": 0.365, "complexity": 16, "loc": 233, "_type": "CLASS", "columns": []}, {"id": "caddy_manager_generate_caddyfile", "label": "generate_caddyfile()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "generate_caddyfile()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/utils/caddy_manager.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.126, "complexity": 8, "loc": 39, "_type": "FUNCTION", "columns": []}, {"id": "caddy_manager_write_caddyfile", "label": "write_caddyfile()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "write_caddyfile()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/utils/caddy_manager.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.036, "complexity": 2, "loc": 15, "_type": "FUNCTION", "columns": []}, {"id": "caddy_manager_reload_caddy", "label": "reload_caddy()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "reload_caddy()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/utils/caddy_manager.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.141, "complexity": 6, "loc": 130, "_type": "FUNCTION", "columns": []}, {"id": "caddy_manager_rationale_1", "label": "Caddy configuration generator and manager.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Caddy configuration generator and manager.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/utils/caddy_manager.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "caddy_manager_rationale_37", "label": "Generate Caddyfile configuration based on HTTPSConfig.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Generate Caddyfile configuration based on HTTPSConfig.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/utils/caddy_manager.py", "file_type": "rationale", "degree": 2, "_level": 0, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "caddy_manager_rationale_41", "label": "Generate a complete Caddyfile. Behaviour: - HTTPS disabled / no", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Generate a complete Caddyfile. Behaviour: - HTTPS disabled / no", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/utils/caddy_manager.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "caddy_manager_rationale_83", "label": "Write Caddyfile to disk. The default path is /etc/caddy/Caddyfile \u2014 the", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Write Caddyfile to disk. The default path is /etc/caddy/Caddyfile \u2014 the", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/utils/caddy_manager.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "caddy_manager_rationale_99", "label": "Push the current Caddyfile to Caddy via its admin API (/load). Caddy ap", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Push the current Caddyfile to Caddy via its admin API (/load). Caddy ap", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/utils/caddy_manager.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "caddy_manager_rationale_231", "label": "Write Caddyfile to disk. Args: caddyfile_content: C", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Write Caddyfile to disk. Args: caddyfile_content: C", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/utils/caddy_manager.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "caddy_manager_rationale_250", "label": "Reload Caddy configuration without restart. Note: Caddy monitor", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Reload Caddy configuration without restart. Note: Caddy monitor", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/utils/caddy_manager.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_utils_group_player_management_py", "label": "group_player_management.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 14.1, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "group_player_management.py", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/group_player_management.py", "file_type": "code", "degree": 8, "_level": 1, "_granularity": "low", "heat": 0.027, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "group_player_management_get_player_status_info", "label": "get_player_status_info()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_player_status_info()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/group_player_management.py", "file_type": "code", "degree": 7, "_level": 1, "_granularity": "low", "heat": 0.108, "complexity": 6, "loc": 42, "_type": "FUNCTION", "columns": []}, {"id": "group_player_management_get_group_statistics", "label": "get_group_statistics()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_group_statistics()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/group_player_management.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.09, "complexity": 5, "loc": 42, "_type": "FUNCTION", "columns": []}, {"id": "group_player_management_assign_player_to_group", "label": "assign_player_to_group()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "assign_player_to_group()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/group_player_management.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.072, "complexity": 4, "loc": 33, "_type": "FUNCTION", "columns": []}, {"id": "group_player_management_bulk_assign_players_to_group", "label": "bulk_assign_players_to_group()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "bulk_assign_players_to_group()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/group_player_management.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.085, "complexity": 5, "loc": 33, "_type": "FUNCTION", "columns": []}, {"id": "group_player_management_get_online_players_count", "label": "get_online_players_count()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_online_players_count()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/group_player_management.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 8, "_type": "FUNCTION", "columns": []}, {"id": "group_player_management_get_players_by_status", "label": "get_players_by_status()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_players_by_status()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/group_player_management.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.021, "complexity": 1, "loc": 10, "_type": "FUNCTION", "columns": []}, {"id": "group_player_management_format_time_ago", "label": "_format_time_ago()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "_format_time_ago()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/group_player_management.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.04, "complexity": 2, "loc": 20, "_type": "FUNCTION", "columns": []}, {"id": "group_player_management_rationale_1", "label": "Group and player management utilities.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Group and player management utilities.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/group_player_management.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "group_player_management_rationale_11", "label": "Get comprehensive status information for a player. Args: player", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get comprehensive status information for a player. Args: player", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/group_player_management.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "group_player_management_rationale_55", "label": "Get statistics for a group. Args: group_id: Group ID to query", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get statistics for a group. Args: group_id: Group ID to query", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/group_player_management.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "group_player_management_rationale_99", "label": "Assign a player to a group or unassign if group_id is None. Args:", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Assign a player to a group or unassign if group_id is None. Args:", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/group_player_management.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "group_player_management_rationale_134", "label": "Assign multiple players to a group. Args: player_ids: List of p", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Assign multiple players to a group. Args: player_ids: List of p", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/group_player_management.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "group_player_management_rationale_169", "label": "Get count of online players (seen in last 5 minutes). Returns:", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get count of online players (seen in last 5 minutes). Returns:", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/group_player_management.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "group_player_management_rationale_179", "label": "Get all players with a specific status. Args: status: Status to", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get all players with a specific status. Args: status: Status to", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/group_player_management.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "group_player_management_rationale_191", "label": "Format datetime as 'time ago' string. Args: dt: Datetime to for", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Format datetime as &#x27;time ago&#x27; string. Args: dt: Datetime to for", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/group_player_management.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_utils_ssh_deploy_py", "label": "ssh_deploy.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 14.1, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "ssh_deploy.py", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/ssh_deploy.py", "file_type": "code", "degree": 8, "_level": 1, "_granularity": "low", "heat": 0.027, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "ssh_deploy_get_local_player_code_status", "label": "get_local_player_code_status()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_local_player_code_status()", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/ssh_deploy.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.141, "complexity": 8, "loc": 68, "_type": "FUNCTION", "columns": []}, {"id": "ssh_deploy_test_ssh_connection", "label": "test_ssh_connection()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "test_ssh_connection()", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/ssh_deploy.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.072, "complexity": 3, "loc": 62, "_type": "FUNCTION", "columns": []}, {"id": "ssh_deploy_generate_player_config", "label": "generate_player_config()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "generate_player_config()", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/ssh_deploy.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.042, "complexity": 1, "loc": 57, "_type": "FUNCTION", "columns": []}, {"id": "ssh_deploy_detect_server_ip", "label": "detect_server_ip()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "detect_server_ip()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/utils/ssh_deploy.py", "file_type": "code", "degree": 4, "_level": 0, "_granularity": "low", "heat": 0.111, "complexity": 7, "loc": 31, "_type": "FUNCTION", "columns": []}, {"id": "ssh_deploy_parse_server_address", "label": "parse_server_address()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "parse_server_address()", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/ssh_deploy.py", "file_type": "code", "degree": 3, "_level": 0, "_granularity": "low", "heat": 0.068, "complexity": 4, "loc": 24, "_type": "FUNCTION", "columns": []}, {"id": "ssh_deploy_generate_app_config", "label": "generate_app_config()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "generate_app_config()", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/ssh_deploy.py", "file_type": "code", "degree": 4, "_level": 0, "_granularity": "low", "heat": 0.039, "complexity": 1, "loc": 42, "_type": "FUNCTION", "columns": []}, {"id": "ssh_deploy_deploy_player_to_host", "label": "deploy_player_to_host()", "color": {"background": "#e74c3c", "border": "#e74c3c", "highlight": {"background": "#ffffff", "border": "#e74c3c"}}, "size": 14.1, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "deploy_player_to_host()", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/ssh_deploy.py", "file_type": "code", "degree": 8, "_level": 1, "_granularity": "low", "heat": 0.614, "complexity": 31, "loc": 443, "_type": "FUNCTION", "columns": []}, {"id": "ssh_deploy_rationale_1", "label": "SSH deployment utilities for player provisioning.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "SSH deployment utilities for player provisioning.", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/ssh_deploy.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "ssh_deploy_rationale_16", "label": "Check status of pre-staged player code. Args: player_code_dir: Opti", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Check status of pre-staged player code. Args: player_code_dir: Opti", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/ssh_deploy.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "ssh_deploy_rationale_86", "label": "Test SSH connection to a remote host. Args: hostname: Target ho", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Test SSH connection to a remote host. Args: hostname: Target ho", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/ssh_deploy.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "ssh_deploy_rationale_156", "label": "Generate player configuration JSON for connecting to DigiServer. Args:", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Generate player configuration JSON for connecting to DigiServer. Args:", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/ssh_deploy.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "ssh_deploy_rationale_209", "label": "Best-effort detection of this server's primary LAN IP address. Opens a UDP", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Best-effort detection of this server&#x27;s primary LAN IP address. Opens a UDP", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/utils/ssh_deploy.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "ssh_deploy_rationale_242", "label": "Derive the values the player needs from a DigiServer URL. The player's conf", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Derive the values the player needs from a DigiServer URL. The player&#x27;s conf", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/ssh_deploy.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "ssh_deploy_rationale_277", "label": "Generate the config/app_config.json the player actually reads. This is what", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Generate the config/app_config.json the player actually reads. This is what", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/ssh_deploy.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "ssh_deploy_rationale_326", "label": "Deploy player code to remote host. Args: hostname: Target hostn", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Deploy player code to remote host. Args: hostname: Target hostn", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/ssh_deploy.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_utils_init_py", "label": "__init__.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/utils/__init__.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_utils_pptx_converter_py", "label": "pptx_converter.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "pptx_converter.py", "community": 12, "community_name": "Community 12", "source_file": "/home/scheianu/digiserver-v2/app/utils/pptx_converter.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "pptx_converter_cleanup_libreoffice_processes", "label": "cleanup_libreoffice_processes()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "cleanup_libreoffice_processes()", "community": 12, "community_name": "Community 12", "source_file": "/home/scheianu/digiserver-v2/app/utils/pptx_converter.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.034, "complexity": 2, "loc": 7, "_type": "FUNCTION", "columns": []}, {"id": "pptx_converter_pptx_to_pdf_libreoffice", "label": "pptx_to_pdf_libreoffice()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "pptx_to_pdf_libreoffice()", "community": 12, "community_name": "Community 12", "source_file": "/home/scheianu/digiserver-v2/app/utils/pptx_converter.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.086, "complexity": 4, "loc": 64, "_type": "FUNCTION", "columns": []}, {"id": "pptx_converter_validate_pptx_file", "label": "validate_pptx_file()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "validate_pptx_file()", "community": 12, "community_name": "Community 12", "source_file": "/home/scheianu/digiserver-v2/app/utils/pptx_converter.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.065, "complexity": 4, "loc": 21, "_type": "FUNCTION", "columns": []}, {"id": "pptx_converter_rationale_1", "label": "PowerPoint to PDF converter using LibreOffice.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "PowerPoint to PDF converter using LibreOffice.", "community": 12, "community_name": "Community 12", "source_file": "/home/scheianu/digiserver-v2/app/utils/pptx_converter.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "pptx_converter_rationale_12", "label": "Clean up any hanging LibreOffice processes.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Clean up any hanging LibreOffice processes.", "community": 12, "community_name": "Community 12", "source_file": "/home/scheianu/digiserver-v2/app/utils/pptx_converter.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "pptx_converter_rationale_21", "label": "Convert PPTX to PDF using LibreOffice for highest quality. This functio", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Convert PPTX to PDF using LibreOffice for highest quality. This functio", "community": 12, "community_name": "Community 12", "source_file": "/home/scheianu/digiserver-v2/app/utils/pptx_converter.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "pptx_converter_rationale_87", "label": "Validate if file is a valid PowerPoint file. Args: filepath: Pa", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Validate if file is a valid PowerPoint file. Args: filepath: Pa", "community": 12, "community_name": "Community 12", "source_file": "/home/scheianu/digiserver-v2/app/utils/pptx_converter.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_utils_uploads_py", "label": "uploads.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 14.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "uploads.py", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "code", "degree": 9, "_level": 1, "_granularity": "low", "heat": 0.029, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "uploads_get_upload_progress", "label": "get_upload_progress()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_upload_progress()", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.024, "complexity": 1, "loc": 14, "_type": "FUNCTION", "columns": []}, {"id": "uploads_set_upload_progress", "label": "set_upload_progress()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "set_upload_progress()", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.028, "complexity": 1, "loc": 15, "_type": "FUNCTION", "columns": []}, {"id": "uploads_clear_upload_progress", "label": "clear_upload_progress()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "clear_upload_progress()", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.033, "complexity": 2, "loc": 8, "_type": "FUNCTION", "columns": []}, {"id": "uploads_save_uploaded_file", "label": "save_uploaded_file()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "save_uploaded_file()", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.058, "complexity": 3, "loc": 32, "_type": "FUNCTION", "columns": []}, {"id": "uploads_process_video_file", "label": "process_video_file()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "process_video_file()", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.174, "complexity": 10, "loc": 80, "_type": "FUNCTION", "columns": []}, {"id": "uploads_process_pdf_file", "label": "process_pdf_file()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "process_pdf_file()", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.085, "complexity": 5, "loc": 31, "_type": "FUNCTION", "columns": []}, {"id": "uploads_get_file_size", "label": "get_file_size()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_file_size()", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.035, "complexity": 2, "loc": 13, "_type": "FUNCTION", "columns": []}, {"id": "uploads_delete_file", "label": "delete_file()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_file()", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.053, "complexity": 3, "loc": 20, "_type": "FUNCTION", "columns": []}, {"id": "uploads_rationale_1", "label": "Upload utilities for handling file uploads and processing.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Upload utilities for handling file uploads and processing.", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "uploads_rationale_18", "label": "Get upload progress for a specific upload ID. Args: upload_id:", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get upload progress for a specific upload ID. Args: upload_id:", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "uploads_rationale_35", "label": "Set upload progress for a specific upload ID. Args: upload_id:", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Set upload progress for a specific upload ID. Args: upload_id:", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "uploads_rationale_51", "label": "Clear upload progress for a specific upload ID. Args: upload_id", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Clear upload progress for a specific upload ID. Args: upload_id", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "uploads_rationale_62", "label": "Save an uploaded file to the upload folder. Args: file: FileSto", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Save an uploaded file to the upload folder. Args: file: FileSto", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "uploads_rationale_95", "label": "Process video file for optimization (H.264, 30fps, max 1080p). Args:", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Process video file for optimization (H.264, 30fps, max 1080p). Args:", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "uploads_rationale_177", "label": "Process PDF file (convert to images for display). Args: filepat", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Process PDF file (convert to images for display). Args: filepat", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "uploads_rationale_210", "label": "Get file size in bytes. Args: filepath: Path to file", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get file size in bytes. Args: filepath: Path to file", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "uploads_rationale_225", "label": "Delete a file from disk. Args: filepath: Path to file", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Delete a file from disk. Args: filepath: Path to file", "community": 9, "community_name": "Community 9", "source_file": "/home/scheianu/digiserver-v2/app/utils/uploads.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_utils_logger_py", "label": "logger.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "logger.py", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/logger.py", "file_type": "code", "degree": 7, "_level": 1, "_granularity": "low", "heat": 0.025, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "logger_log_action", "label": "log_action()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 42.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 12, "color": "#ffffff"}, "title": "log_action()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/logger.py", "file_type": "code", "degree": 116, "_level": 0, "_granularity": "low", "heat": 0.233, "complexity": 2, "loc": 15, "_type": "FUNCTION", "columns": []}, {"id": "logger_get_recent_logs", "label": "get_recent_logs()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_recent_logs()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/logger.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.038, "complexity": 2, "loc": 16, "_type": "FUNCTION", "columns": []}, {"id": "logger_clear_old_logs", "label": "clear_old_logs()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "clear_old_logs()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/logger.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.04, "complexity": 2, "loc": 19, "_type": "FUNCTION", "columns": []}, {"id": "logger_log_info", "label": "log_info()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "log_info()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/logger.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.019, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "logger_log_warning", "label": "log_warning()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "log_warning()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/logger.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.019, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "logger_log_error", "label": "log_error()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "log_error()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/logger.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.019, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "logger_rationale_1", "label": "Logging utility for tracking system events.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Logging utility for tracking system events.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/logger.py", "file_type": "rationale", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "logger_rationale_10", "label": "Log an action to the database with specified level. Args: level", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Log an action to the database with specified level. Args: level", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/logger.py", "file_type": "rationale", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "logger_rationale_27", "label": "Get the most recent log entries. Args: limit: Maximum number of", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get the most recent log entries. Args: limit: Maximum number of", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/logger.py", "file_type": "rationale", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "logger_rationale_45", "label": "Delete logs older than specified days. Args: days: Number of da", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Delete logs older than specified days. Args: days: Number of da", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/logger.py", "file_type": "rationale", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "logger_rationale_67", "label": "Log an info level message.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Log an info level message.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/logger.py", "file_type": "rationale", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "logger_rationale_72", "label": "Log a warning level message.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Log a warning level message.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/logger.py", "file_type": "rationale", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "logger_rationale_77", "label": "Log an error level message.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Log an error level message.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/utils/logger.py", "file_type": "rationale", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_utils_player_build_py", "label": "player_build.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "player_build.py", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/utils/player_build.py", "file_type": "code", "degree": 9, "_level": 1, "_granularity": "low", "heat": 0.029, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_build_run_git", "label": "_run_git()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "_run_git()", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/utils/player_build.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.022, "complexity": 1, "loc": 8, "_type": "FUNCTION", "columns": []}, {"id": "player_build_get_short_head", "label": "get_short_head()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_short_head()", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/utils/player_build.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.051, "complexity": 3, "loc": 9, "_type": "FUNCTION", "columns": []}, {"id": "player_build_build_player_files", "label": "build_player_files()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "build_player_files()", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/utils/player_build.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.16, "complexity": 9, "loc": 77, "_type": "FUNCTION", "columns": []}, {"id": "player_build_write_base_config", "label": "write_base_config()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "write_base_config()", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/utils/player_build.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.049, "complexity": 2, "loc": 35, "_type": "FUNCTION", "columns": []}, {"id": "player_build_load_build_settings", "label": "load_build_settings()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "load_build_settings()", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/utils/player_build.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.05, "complexity": 3, "loc": 9, "_type": "FUNCTION", "columns": []}, {"id": "player_build_save_build_settings", "label": "save_build_settings()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "save_build_settings()", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/utils/player_build.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.035, "complexity": 2, "loc": 10, "_type": "FUNCTION", "columns": []}, {"id": "player_build_get_player_server_settings", "label": "get_player_server_settings()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_player_server_settings()", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/utils/player_build.py", "file_type": "code", "degree": 4, "_level": 0, "_granularity": "low", "heat": 0.067, "complexity": 4, "loc": 18, "_type": "FUNCTION", "columns": []}, {"id": "player_build_make_build_record", "label": "make_build_record()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "make_build_record()", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/utils/player_build.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.025, "complexity": 1, "loc": 16, "_type": "FUNCTION", "columns": []}, {"id": "player_build_rationale_1", "label": "Utilities for building/staging the player files on the server. Admins use the \"", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Utilities for building/staging the player files on the server. Admins use the &quot;", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/utils/player_build.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_build_rationale_39", "label": "Return the short git commit of the staged code, or 'unknown'.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Return the short git commit of the staged code, or &#x27;unknown&#x27;.", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/utils/player_build.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_build_rationale_50", "label": "Clone or refresh the player source into ``player_code_dir``. If the directo", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Clone or refresh the player source into ``player_code_dir``. If the directo", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/utils/player_build.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_build_rationale_137", "label": "Write a base ``config/app_config.json`` into the staged player code. ``scre", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Write a base ``config/app_config.json`` into the staged player code. ``scre", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/utils/player_build.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_build_rationale_166", "label": "Load saved build settings from ``meta_path`` (or None if absent/invalid).", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Load saved build settings from ``meta_path`` (or None if absent/invalid).", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/utils/player_build.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_build_rationale_177", "label": "Persist build settings to ``meta_path``.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Persist build settings to ``meta_path``.", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/utils/player_build.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_build_rationale_189", "label": "Return the saved server address settings for deployment, if available. Retu", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Return the saved server address settings for deployment, if available. Retu", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/utils/player_build.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_build_rationale_210", "label": "Assemble the metadata record to persist after a build.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Assemble the metadata record to persist after a build.", "community": 11, "community_name": "Community 11", "source_file": "/home/scheianu/digiserver-v2/app/utils/player_build.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_utils_nginx_config_reader_py", "label": "nginx_config_reader.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "nginx_config_reader.py", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.019, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_nginxconfigreader", "label": "NginxConfigReader", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 15.4, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "NginxConfigReader", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "code", "degree": 13, "_level": 0, "_granularity": "low", "heat": 0.278, "complexity": 16, "loc": 108, "_type": "CLASS", "columns": []}, {"id": "nginx_config_reader_nginxconfigreader_init", "label": ".__init__()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.048, "complexity": 3, "loc": 13, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_nginxconfigreader_get_status", "label": ".get_status()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 14.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_status()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "code", "degree": 11, "_level": 1, "_granularity": "low", "heat": 0.055, "complexity": 2, "loc": 22, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_nginxconfigreader_check_ssl_enabled", "label": "._check_ssl_enabled()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "._check_ssl_enabled()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.033, "complexity": 2, "loc": 5, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_nginxconfigreader_extract_http_ports", "label": "._extract_http_ports()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "._extract_http_ports()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "code", "degree": 4, "_level": 0, "_granularity": "low", "heat": 0.036, "complexity": 2, "loc": 7, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_nginxconfigreader_extract_https_ports", "label": "._extract_https_ports()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "._extract_https_ports()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "code", "degree": 4, "_level": 0, "_granularity": "low", "heat": 0.036, "complexity": 2, "loc": 7, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_nginxconfigreader_extract_upstream_servers", "label": "._extract_upstream_servers()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "._extract_upstream_servers()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.05, "complexity": 3, "loc": 10, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_nginxconfigreader_extract_server_names", "label": "._extract_server_names()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "._extract_server_names()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.049, "complexity": 3, "loc": 11, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_nginxconfigreader_extract_ssl_protocols", "label": "._extract_ssl_protocols()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "._extract_ssl_protocols()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.05, "complexity": 3, "loc": 9, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_nginxconfigreader_extract_client_max_body_size", "label": "._extract_client_max_body_size()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "._extract_client_max_body_size()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.049, "complexity": 3, "loc": 7, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_nginxconfigreader_check_gzip_enabled", "label": "._check_gzip_enabled()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "._check_gzip_enabled()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.033, "complexity": 2, "loc": 5, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_get_nginx_status", "label": "get_nginx_status()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_nginx_status()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.022, "complexity": 1, "loc": 4, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_rationale_1", "label": "Nginx configuration reader utility.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Nginx configuration reader utility.", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_rationale_8", "label": "Read and parse Nginx configuration files.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Read and parse Nginx configuration files.", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_rationale_11", "label": "Initialize Nginx config reader.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Initialize Nginx config reader.", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_rationale_25", "label": "Get Nginx configuration status.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get Nginx configuration status.", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_rationale_48", "label": "Check if SSL is enabled.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Check if SSL is enabled.", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_rationale_54", "label": "Extract HTTP listening ports.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract HTTP listening ports.", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_rationale_62", "label": "Extract HTTPS listening ports.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract HTTPS listening ports.", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_rationale_70", "label": "Extract upstream servers.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract upstream servers.", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_rationale_81", "label": "Extract server names.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract server names.", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_rationale_93", "label": "Extract SSL protocols.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract SSL protocols.", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_rationale_103", "label": "Extract client max body size.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract client max body size.", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_rationale_111", "label": "Check if gzip is enabled.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Check if gzip is enabled.", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "nginx_config_reader_rationale_118", "label": "Get Nginx configuration status.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get Nginx configuration status.", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/utils/nginx_config_reader.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_utils_background_tasks_py", "label": "background_tasks.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "background_tasks.py", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/background_tasks.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.119, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "background_tasks_run_background_task", "label": "run_background_task()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "run_background_task()", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/background_tasks.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.139, "complexity": 2, "loc": 18, "_type": "FUNCTION", "columns": []}, {"id": "background_tasks_background_player_deployment", "label": "background_player_deployment()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "background_player_deployment()", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/background_tasks.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.224, "complexity": 6, "loc": 88, "_type": "FUNCTION", "columns": []}, {"id": "background_tasks_rationale_1", "label": "Background task execution for long-running operations.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Background task execution for long-running operations.", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/background_tasks.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.115, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "background_tasks_rationale_10", "label": "Run a function in a background thread, with a Flask app context pushed.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Run a function in a background thread, with a Flask app context pushed.", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/background_tasks.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.115, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "background_tasks_rationale_43", "label": "Deploy player code to host in background. Args: hostname: SSH h", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Deploy player code to host in background. Args: hostname: SSH h", "community": 10, "community_name": "Community 10", "source_file": "/home/scheianu/digiserver-v2/app/utils/background_tasks.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.115, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_models_player_feedback_py", "label": "player_feedback.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "player_feedback.py", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player_feedback.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.022, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_feedback_playerfeedback", "label": "PlayerFeedback", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "PlayerFeedback", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player_feedback.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.047, "complexity": 1, "loc": 57, "_type": "CLASS", "columns": []}, {"id": "player_feedback_playerfeedback_repr", "label": ".__repr__()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".__repr__()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player_feedback.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.018, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "player_feedback_is_error", "label": "is_error()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "is_error()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player_feedback.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.016, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "player_feedback_age_seconds", "label": "age_seconds()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "age_seconds()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player_feedback.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.016, "complexity": 1, "loc": 4, "_type": "FUNCTION", "columns": []}, {"id": "player_feedback_get_latest_for_player", "label": "get_latest_for_player()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_latest_for_player()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player_feedback.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 12, "_type": "FUNCTION", "columns": []}, {"id": "player_feedback_rationale_1", "label": "Player feedback model for tracking player status and errors.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Player feedback model for tracking player status and errors.", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player_feedback.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_feedback_rationale_9", "label": "Player feedback model for tracking player status updates. Attributes:", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Player feedback model for tracking player status updates. Attributes:", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player_feedback.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_feedback_rationale_38", "label": "String representation of PlayerFeedback.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "String representation of PlayerFeedback.", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player_feedback.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_feedback_rationale_43", "label": "Check if feedback indicates an error.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Check if feedback indicates an error.", "community": 20, "community_name": "Community 20", "source_file": "/home/scheianu/digiserver-v2/app/models/player_feedback.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_feedback_rationale_48", "label": "Get age of feedback in seconds.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get age of feedback in seconds.", "community": 21, "community_name": "Community 21", "source_file": "/home/scheianu/digiserver-v2/app/models/player_feedback.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_feedback_rationale_54", "label": "Get most recent feedback for a player. Args: player", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get most recent feedback for a player. Args: player", "community": 22, "community_name": "Community 22", "source_file": "/home/scheianu/digiserver-v2/app/models/player_feedback.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_models_https_config_py", "label": "https_config.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "https_config.py", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/models/https_config.py", "file_type": "code", "degree": 4, "_level": 0, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "https_config_httpsconfig", "label": "HTTPSConfig", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 19.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 12, "color": "#ffffff"}, "title": "HTTPSConfig", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/models/https_config.py", "file_type": "code", "degree": 30, "_level": 0, "_granularity": "low", "heat": 0.16, "complexity": 5, "loc": 97, "_type": "CLASS", "columns": []}, {"id": "https_config_httpsconfig_repr", "label": ".__repr__()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".__repr__()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/models/https_config.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.031, "complexity": 2, "loc": 4, "_type": "FUNCTION", "columns": []}, {"id": "https_config_get_config", "label": "get_config()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.1, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_config()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/models/https_config.py", "file_type": "code", "degree": 8, "_level": 1, "_granularity": "low", "heat": 0.03, "complexity": 1, "loc": 7, "_type": "FUNCTION", "columns": []}, {"id": "https_config_create_or_update", "label": "create_or_update()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "create_or_update()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/models/https_config.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.046, "complexity": 2, "loc": 34, "_type": "FUNCTION", "columns": []}, {"id": "https_config_httpsconfig_to_dict", "label": ".to_dict()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".to_dict()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/models/https_config.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.05, "complexity": 3, "loc": 18, "_type": "FUNCTION", "columns": []}, {"id": "https_config_rationale_1", "label": "HTTPS Configuration model.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "HTTPS Configuration model.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/models/https_config.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "https_config_rationale_9", "label": "HTTPS configuration model for managing secure connections. Attributes:", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "HTTPS configuration model for managing secure connections. Attributes:", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/models/https_config.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "https_config_rationale_38", "label": "String representation of HTTPSConfig.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "String representation of HTTPSConfig.", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/models/https_config.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "https_config_rationale_44", "label": "Get the current HTTPS configuration. Returns: HTTPS", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get the current HTTPS configuration. Returns: HTTPS", "community": 23, "community_name": "Community 23", "source_file": "/home/scheianu/digiserver-v2/app/models/https_config.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "https_config_rationale_56", "label": "Create or update HTTPS configuration. Args: https_e", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Create or update HTTPS configuration. Args: https_e", "community": 24, "community_name": "Community 24", "source_file": "/home/scheianu/digiserver-v2/app/models/https_config.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "https_config_rationale_88", "label": "Convert configuration to dictionary. Returns: Dicti", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Convert configuration to dictionary. Returns: Dicti", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/models/https_config.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_models_user_py", "label": "user.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "user.py", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/models/user.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.019, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "user_user", "label": "User", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 16.9, "shape": "dot", "image": null, "shadow": false, "font": {"size": 12, "color": "#ffffff"}, "title": "User", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/models/user.py", "file_type": "code", "degree": 19, "_level": 0, "_granularity": "low", "heat": 0.061, "complexity": 1, "loc": 34, "_type": "CLASS", "columns": []}, {"id": "usermixin", "label": "UserMixin", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "UserMixin", "community": 4, "community_name": "Community 4", "source_file": "", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "user_user_repr", "label": ".__repr__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".__repr__()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/models/user.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.018, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "user_is_admin", "label": "is_admin()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "is_admin()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/models/user.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.016, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "user_user_update_last_login", "label": ".update_last_login()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".update_last_login()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/models/user.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.018, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "user_rationale_1", "label": "User model for authentication and authorization.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "User model for authentication and authorization.", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/models/user.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "user_rationale_11", "label": "User model for application authentication. Attributes: id: Prim", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "User model for application authentication. Attributes: id: Prim", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/models/user.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "user_rationale_33", "label": "String representation of User.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "String representation of User.", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/models/user.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "user_rationale_38", "label": "Check if user has admin role.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Check if user has admin role.", "community": 25, "community_name": "Community 25", "source_file": "/home/scheianu/digiserver-v2/app/models/user.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "user_rationale_42", "label": "Update last login timestamp.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Update last login timestamp.", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/app/models/user.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_models_player_py", "label": "player.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "player.py", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_player", "label": "Player", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 15.1, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Player", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "code", "degree": 12, "_level": 0, "_granularity": "low", "heat": 0.16, "complexity": 6, "loc": 137, "_type": "CLASS", "columns": []}, {"id": "player_player_repr", "label": ".__repr__()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".__repr__()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.018, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "player_is_online", "label": "is_online()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "is_online()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.03, "complexity": 2, "loc": 6, "_type": "FUNCTION", "columns": []}, {"id": "player_player_update_status", "label": ".update_status()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".update_status()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.023, "complexity": 1, "loc": 8, "_type": "FUNCTION", "columns": []}, {"id": "player_player_set_password", "label": ".set_password()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_password()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.023, "complexity": 1, "loc": 8, "_type": "FUNCTION", "columns": []}, {"id": "player_player_check_password", "label": ".check_password()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".check_password()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.023, "complexity": 1, "loc": 11, "_type": "FUNCTION", "columns": []}, {"id": "player_player_set_quickconnect_code", "label": ".set_quickconnect_code()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_quickconnect_code()", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.023, "complexity": 1, "loc": 8, "_type": "FUNCTION", "columns": []}, {"id": "player_player_check_quickconnect_code", "label": ".check_quickconnect_code()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".check_quickconnect_code()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.04, "complexity": 2, "loc": 13, "_type": "FUNCTION", "columns": []}, {"id": "player_authenticate", "label": "authenticate()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "authenticate()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.069, "complexity": 4, "loc": 24, "_type": "FUNCTION", "columns": []}, {"id": "player_rationale_1", "label": "Player model for digital signage players.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Player model for digital signage players.", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_rationale_9", "label": "Player model representing a digital signage device. Attributes:", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Player model representing a digital signage device. Attributes:", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_rationale_56", "label": "String representation of Player.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "String representation of Player.", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_rationale_61", "label": "Check if player is online (seen in last 5 minutes).", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Check if player is online (seen in last 5 minutes).", "community": 26, "community_name": "Community 26", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_rationale_68", "label": "Update player status and last seen timestamp. Args:", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Update player status and last seen timestamp. Args:", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_rationale_77", "label": "Set player password with bcrypt hashing. Args: pass", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Set player password with bcrypt hashing. Args: pass", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_rationale_86", "label": "Verify player password. Args: password: Plain text", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Verify player password. Args: password: Plain text", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_rationale_98", "label": "Set quick connect code with bcrypt hashing. Args: c", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Set quick connect code with bcrypt hashing. Args: c", "community": 6, "community_name": "Community 6", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_rationale_107", "label": "Verify quick connect code. Args: code: Plain text c", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Verify quick connect code. Args: code: Plain text c", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_rationale_122", "label": "Authenticate a player by hostname and password or quickconnect code.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Authenticate a player by hostname and password or quickconnect code.", "community": 27, "community_name": "Community 27", "source_file": "/home/scheianu/digiserver-v2/app/models/player.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_models_server_log_py", "label": "server_log.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "server_log.py", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/models/server_log.py", "file_type": "code", "degree": 5, "_level": 0, "_granularity": "low", "heat": 0.022, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "server_log_serverlog", "label": "ServerLog", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 15.1, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "ServerLog", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/models/server_log.py", "file_type": "code", "degree": 12, "_level": 0, "_granularity": "low", "heat": 0.063, "complexity": 1, "loc": 65, "_type": "CLASS", "columns": []}, {"id": "server_log_serverlog_repr", "label": ".__repr__()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".__repr__()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/models/server_log.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.018, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "server_log_log_info", "label": "log_info()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "log_info()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/models/server_log.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 13, "_type": "FUNCTION", "columns": []}, {"id": "server_log_log_warning", "label": "log_warning()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "log_warning()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/models/server_log.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 13, "_type": "FUNCTION", "columns": []}, {"id": "server_log_log_error", "label": "log_error()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "log_error()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/models/server_log.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 13, "_type": "FUNCTION", "columns": []}, {"id": "server_log_rationale_1", "label": "Server log model for audit trail.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Server log model for audit trail.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/models/server_log.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "server_log_rationale_9", "label": "Server log model for tracking system events. Attributes: id: Pr", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Server log model for tracking system events. Attributes: id: Pr", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/models/server_log.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "server_log_rationale_26", "label": "String representation of ServerLog.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "String representation of ServerLog.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/app/models/server_log.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "server_log_rationale_31", "label": "Create an info level log entry. Args: message: Log", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Create an info level log entry. Args: message: Log", "community": 28, "community_name": "Community 28", "source_file": "/home/scheianu/digiserver-v2/app/models/server_log.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "server_log_rationale_46", "label": "Create a warning level log entry. Args: message: Lo", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Create a warning level log entry. Args: message: Lo", "community": 29, "community_name": "Community 29", "source_file": "/home/scheianu/digiserver-v2/app/models/server_log.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "server_log_rationale_61", "label": "Create an error level log entry. Args: message: Log", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Create an error level log entry. Args: message: Log", "community": 30, "community_name": "Community 30", "source_file": "/home/scheianu/digiserver-v2/app/models/server_log.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_models_player_user_py", "label": "player_user.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "player_user.py", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/models/player_user.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_user_playeruser", "label": "PlayerUser", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 31.1, "shape": "dot", "image": null, "shadow": false, "font": {"size": 12, "color": "#ffffff"}, "title": "PlayerUser", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/models/player_user.py", "file_type": "code", "degree": 74, "_level": 0, "_granularity": "low", "heat": 0.18, "complexity": 3, "loc": 31, "_type": "CLASS", "columns": []}, {"id": "player_user_playeruser_repr", "label": ".__repr__()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".__repr__()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/models/player_user.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.018, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "player_user_playeruser_to_dict", "label": ".to_dict()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".to_dict()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/models/player_user.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.046, "complexity": 3, "loc": 9, "_type": "FUNCTION", "columns": []}, {"id": "player_user_rationale_1", "label": "Player user model for managing user codes and names.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Player user model for managing user codes and names.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/models/player_user.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_user_rationale_8", "label": "Player user model for managing user codes and names globally. Attribute", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Player user model for managing user codes and names globally. Attribute", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/models/player_user.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_user_rationale_26", "label": "String representation of PlayerUser.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "String representation of PlayerUser.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/models/player_user.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_user_rationale_30", "label": "Convert to dictionary for API responses.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Convert to dictionary for API responses.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/models/player_user.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_models_group_py", "label": "group.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "group.py", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/models/group.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.019, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "group_group", "label": "Group", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 14.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Group", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/models/group.py", "file_type": "code", "degree": 11, "_level": 1, "_granularity": "low", "heat": 0.068, "complexity": 2, "loc": 52, "_type": "CLASS", "columns": []}, {"id": "group_group_repr", "label": ".__repr__()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".__repr__()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/models/group.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.018, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "group_content_count", "label": "content_count()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "content_count()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/models/group.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.016, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "group_group_add_player", "label": ".add_player()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".add_player()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/models/group.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.02, "complexity": 1, "loc": 8, "_type": "FUNCTION", "columns": []}, {"id": "group_group_remove_player", "label": ".remove_player()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".remove_player()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/models/group.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.033, "complexity": 2, "loc": 9, "_type": "FUNCTION", "columns": []}, {"id": "group_rationale_1", "label": "Group model for organizing players and content.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Group model for organizing players and content.", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/models/group.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "group_rationale_16", "label": "Group model for organizing players with shared content. Attributes:", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Group model for organizing players with shared content. Attributes:", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/models/group.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "group_rationale_39", "label": "String representation of Group.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "String representation of Group.", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/models/group.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "group_rationale_46", "label": "Get number of content items in this group.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get number of content items in this group.", "community": 31, "community_name": "Community 31", "source_file": "/home/scheianu/digiserver-v2/app/models/group.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "group_rationale_50", "label": "Add a player to this group. Args: player: Player in", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Add a player to this group. Args: player: Player in", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/models/group.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "group_rationale_59", "label": "Remove a player from this group. Args: player: Play", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Remove a player from this group. Args: player: Play", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/app/models/group.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_models_content_py", "label": "content.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 14.1, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "content.py", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "code", "degree": 8, "_level": 1, "_granularity": "low", "heat": 0.027, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_content", "label": "Content", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 18.2, "shape": "dot", "image": null, "shadow": false, "font": {"size": 12, "color": "#ffffff"}, "title": "Content", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "code", "degree": 24, "_level": 0, "_granularity": "low", "heat": 0.143, "complexity": 4, "loc": 111, "_type": "CLASS", "columns": []}, {"id": "content_content_repr", "label": ".__repr__()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".__repr__()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.018, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "content_file_size_mb", "label": "file_size_mb()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "file_size_mb()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.03, "complexity": 2, "loc": 5, "_type": "FUNCTION", "columns": []}, {"id": "content_group_count", "label": "group_count()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "group_count()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.016, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "content_original_display_name", "label": "original_display_name()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "original_display_name()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.016, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "content_original_media_path", "label": "original_media_path()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "original_media_path()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.032, "complexity": 2, "loc": 10, "_type": "FUNCTION", "columns": []}, {"id": "content_current_media_path", "label": "current_media_path()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "current_media_path()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.016, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "content_content_is_image", "label": ".is_image()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_image()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.018, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "content_content_is_video", "label": ".is_video()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_video()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.018, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "content_content_is_pdf", "label": ".is_pdf()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_pdf()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.018, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "content_content_is_weblink", "label": ".is_weblink()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_weblink()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.018, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "content_has_player_edits", "label": "has_player_edits()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "has_player_edits()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.016, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_9", "label": "Content model representing media files for display. Attributes:", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Content model representing media files for display. Attributes:", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_45", "label": "String representation of Content.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "String representation of Content.", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_50", "label": "Get file size in megabytes.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get file size in megabytes.", "community": 32, "community_name": "Community 32", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_57", "label": "Get number of groups containing this content.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get number of groups containing this content.", "community": 33, "community_name": "Community 33", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_62", "label": "Name of the original (unedited) file for display purposes.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Name of the original (unedited) file for display purposes.", "community": 34, "community_name": "Community 34", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_67", "label": "Path (relative to uploads/) where the original unedited file lives. Whe", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Path (relative to uploads/) where the original unedited file lives. Whe", "community": 35, "community_name": "Community 35", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_79", "label": "Path (relative to uploads/) of the current/latest version to display.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Path (relative to uploads/) of the current/latest version to display.", "community": 36, "community_name": "Community 36", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_83", "label": "Check if content is an image.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Check if content is an image.", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_87", "label": "Check if content is a video.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Check if content is a video.", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_91", "label": "Check if content is a PDF.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Check if content is a PDF.", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_95", "label": "Check if content is a web link (URL) rather than an uploaded file.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Check if content is a web link (URL) rather than an uploaded file.", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_100", "label": "Whether this content has been edited on a player.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Whether this content has been edited on a player.", "community": 37, "community_name": "Community 37", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_105", "label": "Display name of the original (unedited) file.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Display name of the original (unedited) file.", "community": 38, "community_name": "Community 38", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "content_rationale_110", "label": "uploads/-relative path of the pristine original file. After a player ed", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "uploads/-relative path of the pristine original file. After a player ed", "community": 39, "community_name": "Community 39", "source_file": "/home/scheianu/digiserver-v2/app/models/content.py", "file_type": "rationale", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_models_init_py", "label": "__init__.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/__init__.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_models_player_edit_py", "label": "player_edit.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "player_edit.py", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/models/player_edit.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_edit_playeredit", "label": "PlayerEdit", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 37.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 12, "color": "#ffffff"}, "title": "PlayerEdit", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/models/player_edit.py", "file_type": "code", "degree": 99, "_level": 0, "_granularity": "low", "heat": 0.246, "complexity": 4, "loc": 53, "_type": "CLASS", "columns": []}, {"id": "player_edit_playeredit_repr", "label": ".__repr__()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".__repr__()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/models/player_edit.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.018, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "player_edit_playeredit_to_dict", "label": ".to_dict()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".to_dict()", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/models/player_edit.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.064, "complexity": 4, "loc": 15, "_type": "FUNCTION", "columns": []}, {"id": "player_edit_rationale_1", "label": "Player edit model for tracking media edited on players.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Player edit model for tracking media edited on players.", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/models/player_edit.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_edit_rationale_9", "label": "Player edit model for tracking media files edited on player devices. At", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Player edit model for tracking media files edited on player devices. At", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/models/player_edit.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_edit_rationale_43", "label": "String representation of PlayerEdit.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "String representation of PlayerEdit.", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/models/player_edit.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "player_edit_rationale_47", "label": "Convert to dictionary for API responses.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Convert to dictionary for API responses.", "community": 1, "community_name": "Community 1", "source_file": "/home/scheianu/digiserver-v2/app/models/player_edit.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_app_models_playlist_py", "label": "playlist.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "playlist.py", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.022, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "playlist_playlist", "label": "Playlist", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 20.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 12, "color": "#ffffff"}, "title": "Playlist", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "file_type": "code", "degree": 33, "_level": 0, "_granularity": "low", "heat": 0.171, "complexity": 6, "loc": 81, "_type": "CLASS", "columns": []}, {"id": "playlist_playlist_repr", "label": ".__repr__()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".__repr__()", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "file_type": "code", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.018, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "playlist_player_count", "label": "player_count()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "player_count()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.016, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "playlist_content_count", "label": "content_count()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "content_count()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.016, "complexity": 1, "loc": 3, "_type": "FUNCTION", "columns": []}, {"id": "playlist_total_duration", "label": "total_duration()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "total_duration()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.03, "complexity": 2, "loc": 6, "_type": "FUNCTION", "columns": []}, {"id": "playlist_playlist_increment_version", "label": ".increment_version()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 16.7, "shape": "dot", "image": null, "shadow": false, "font": {"size": 12, "color": "#ffffff"}, "title": ".increment_version()", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "file_type": "code", "degree": 18, "_level": 0, "_granularity": "low", "heat": 0.046, "complexity": 1, "loc": 4, "_type": "FUNCTION", "columns": []}, {"id": "playlist_playlist_get_content_ordered", "label": ".get_content_ordered()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_content_ordered()", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "file_type": "code", "degree": 5, "_level": 1, "_granularity": "low", "heat": 0.084, "complexity": 5, "loc": 25, "_type": "FUNCTION", "columns": []}, {"id": "playlist_rationale_20", "label": "Playlist model representing a collection of content. Attributes:", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Playlist model representing a collection of content. Attributes:", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "playlist_rationale_49", "label": "String representation of Playlist.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "String representation of Playlist.", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "file_type": "rationale", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "playlist_rationale_54", "label": "Get number of players assigned to this playlist.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get number of players assigned to this playlist.", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "playlist_rationale_59", "label": "Get number of content items in this playlist.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get number of content items in this playlist.", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "playlist_rationale_64", "label": "Calculate total duration of all content in seconds.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Calculate total duration of all content in seconds.", "community": 5, "community_name": "Community 5", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "playlist_rationale_71", "label": "Increment playlist version for sync detection.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Increment playlist version for sync detection.", "community": 2, "community_name": "Community 2", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "playlist_rationale_76", "label": "Get content items ordered by position.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get content items ordered by position.", "community": 3, "community_name": "Community 3", "source_file": "/home/scheianu/digiserver-v2/app/models/playlist.py", "file_type": "rationale", "degree": 2, "_level": 1, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_old_code_documentation_fix_player_user_schema_py", "label": "fix_player_user_schema.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "fix_player_user_schema.py", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/fix_player_user_schema.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.115, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "fix_player_user_schema_main", "label": "main()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "main()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/fix_player_user_schema.py", "file_type": "code", "degree": 2, "_level": 0, "_granularity": "low", "heat": 0.122, "complexity": 1, "loc": 13, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_simple_py", "label": "test_edit_media_simple.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "test_edit_media_simple.py", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_simple.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_simple_test_edit_media_endpoint", "label": "test_edit_media_endpoint()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "test_edit_media_endpoint()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_simple.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.166, "complexity": 7, "loc": 156, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_simple_rationale_20", "label": "Test the edit media endpoint using Flask test client", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Test the edit media endpoint using Flask test client", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_simple.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py", "label": "test_edit_media_api.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 15.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "test_edit_media_api.py", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "code", "degree": 14, "_level": 0, "_granularity": "low", "heat": 0.037, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_colors", "label": "Colors", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Colors", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.019, "complexity": 1, "loc": 10, "_type": "CLASS", "columns": []}, {"id": "test_edit_media_api_print_section", "label": "print_section()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 14.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "print_section()", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "code", "degree": 10, "_level": 1, "_granularity": "low", "heat": 0.032, "complexity": 1, "loc": 5, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_print_success", "label": "print_success()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 14.1, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "print_success()", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "code", "degree": 8, "_level": 1, "_granularity": "low", "heat": 0.028, "complexity": 1, "loc": 2, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_print_error", "label": "print_error()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 14.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "print_error()", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "code", "degree": 9, "_level": 1, "_granularity": "low", "heat": 0.029, "complexity": 1, "loc": 2, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_print_info", "label": "print_info()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "print_info()", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "code", "degree": 6, "_level": 1, "_granularity": "low", "heat": 0.024, "complexity": 1, "loc": 2, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_print_warning", "label": "print_warning()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "print_warning()", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "code", "degree": 6, "_level": 1, "_granularity": "low", "heat": 0.024, "complexity": 1, "loc": 2, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_test_server_health", "label": "test_server_health()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.6, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "test_server_health()", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "code", "degree": 6, "_level": 0, "_granularity": "low", "heat": 0.059, "complexity": 3, "loc": 21, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_test_endpoint_exists", "label": "test_endpoint_exists()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 14.1, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "test_endpoint_exists()", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "code", "degree": 8, "_level": 1, "_granularity": "low", "heat": 0.066, "complexity": 3, "loc": 31, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_get_player_auth_code", "label": "get_player_auth_code()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 14.1, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_player_auth_code()", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "code", "degree": 8, "_level": 1, "_granularity": "low", "heat": 0.083, "complexity": 4, "loc": 39, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_get_sample_content", "label": "get_sample_content()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 14.1, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "get_sample_content()", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "code", "degree": 8, "_level": 1, "_granularity": "low", "heat": 0.08, "complexity": 4, "loc": 33, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_test_authentication", "label": "test_authentication()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "test_authentication()", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "code", "degree": 7, "_level": 1, "_granularity": "low", "heat": 0.064, "complexity": 3, "loc": 30, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_test_full_upload", "label": "test_full_upload()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "test_full_upload()", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "code", "degree": 7, "_level": 1, "_granularity": "low", "heat": 0.094, "complexity": 4, "loc": 68, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_check_database_integrity", "label": "check_database_integrity()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "check_database_integrity()", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "code", "degree": 7, "_level": 1, "_granularity": "low", "heat": 0.067, "complexity": 3, "loc": 37, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_main", "label": "main()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 15.4, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "main()", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "code", "degree": 13, "_level": 0, "_granularity": "low", "heat": 0.265, "complexity": 15, "loc": 109, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_rationale_26", "label": "Print a section header", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Print a section header", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_rationale_44", "label": "Test if server is accessible", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Test if server is accessible", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_rationale_66", "label": "Test if the endpoint is available", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Test if the endpoint is available", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_rationale_98", "label": "Get a valid player auth code from the database", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get a valid player auth code from the database", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_rationale_138", "label": "Get a sample content file to use for testing", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get a sample content file to use for testing", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_rationale_172", "label": "Test if authentication works", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Test if authentication works", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_rationale_203", "label": "Test a full media upload", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Test a full media upload", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_rationale_272", "label": "Check database tables and records", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Check database tables and records", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "test_edit_media_api_rationale_310", "label": "Run all diagnostic tests", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Run all diagnostic tests", "community": 8, "community_name": "Community 8", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/test_edit_media_api.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py", "label": "blueprint_groups.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 15.4, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "blueprint_groups.py", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "code", "degree": 13, "_level": 0, "_granularity": "low", "heat": 0.036, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_groups_list", "label": "groups_list()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "groups_list()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.054, "complexity": 3, "loc": 18, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_create_group", "label": "create_group()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "create_group()", "community": 7, "community_name": "Community 7", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "code", "degree": 3, "_level": 1, "_granularity": "low", "heat": 0.13, "complexity": 8, "loc": 48, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_edit_group", "label": "edit_group()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "edit_group()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.144, "complexity": 9, "loc": 54, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_delete_group", "label": "delete_group()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_group()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.053, "complexity": 3, "loc": 23, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_manage_group", "label": "manage_group()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "manage_group()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.062, "complexity": 3, "loc": 36, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_group_fullscreen", "label": "group_fullscreen()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "group_fullscreen()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.055, "complexity": 3, "loc": 21, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_add_player_to_group", "label": "add_player_to_group()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "add_player_to_group()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.056, "complexity": 3, "loc": 26, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_remove_player_from_group", "label": "remove_player_from_group()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "remove_player_from_group()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.055, "complexity": 3, "loc": 25, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_add_content_to_group", "label": "add_content_to_group()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "add_content_to_group()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.097, "complexity": 6, "loc": 33, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_remove_content_from_group", "label": "remove_content_from_group()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "remove_content_from_group()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.069, "complexity": 4, "loc": 26, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_reorder_group_content", "label": "reorder_group_content()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "reorder_group_content()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.081, "complexity": 5, "loc": 25, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_group_stats", "label": "group_stats()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "group_stats()", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "code", "degree": 4, "_level": 1, "_granularity": "low", "heat": 0.036, "complexity": 2, "loc": 8, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_rationale_1", "label": "Groups blueprint for group management and player assignments.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Groups blueprint for group management and player assignments.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_rationale_17", "label": "Display list of all groups.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Display list of all groups.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_rationale_176", "label": "Manage group with player status cards and content.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Manage group with player status cards and content.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_rationale_215", "label": "Display group fullscreen view with all player status cards.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Display group fullscreen view with all player status cards.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_rationale_240", "label": "Add a player to a group.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Add a player to a group.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_rationale_270", "label": "Remove a player from a group.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Remove a player from a group.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_rationale_299", "label": "Add content to a group.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Add content to a group.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_rationale_336", "label": "Remove content from a group.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Remove content from a group.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_rationale_366", "label": "Reorder content within a group.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Reorder content within a group.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "blueprint_groups_rationale_395", "label": "Get group statistics as JSON.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Get group statistics as JSON.", "community": 0, "community_name": "Community 0", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/blueprint_groups.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_old_code_documentation_add_muted_column_py", "label": "add_muted_column.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "add_muted_column.py", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/add_muted_column.py", "file_type": "code", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "add_muted_column_add_muted_column", "label": "add_muted_column()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.8, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "add_muted_column()", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/add_muted_column.py", "file_type": "code", "degree": 3, "_level": 2, "_granularity": "low", "heat": 0.055, "complexity": 3, "loc": 25, "_type": "FUNCTION", "columns": []}, {"id": "add_muted_column_rationale_7", "label": "Add muted column to playlist_content association table.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Add muted column to playlist_content association table.", "community": 4, "community_name": "Community 4", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/add_muted_column.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_old_code_documentation_check_fix_player_py", "label": "check_fix_player.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.0, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "check_fix_player.py", "community": 40, "community_name": "Community 40", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/check_fix_player.py", "file_type": "code", "degree": 0, "_level": 3, "_granularity": "low", "heat": 0.013, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "home_scheianu_digiserver_v2_old_code_documentation_migrate_add_edit_enabled_py", "label": "migrate_add_edit_enabled.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "migrate_add_edit_enabled.py", "community": 13, "community_name": "Community 13", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/migrate_add_edit_enabled.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.017, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "migrate_add_edit_enabled_migrate", "label": "migrate()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.5, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "migrate()", "community": 13, "community_name": "Community 13", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/migrate_add_edit_enabled.py", "file_type": "code", "degree": 2, "_level": 2, "_granularity": "low", "heat": 0.072, "complexity": 4, "loc": 38, "_type": "FUNCTION", "columns": []}, {"id": "migrate_add_edit_enabled_rationale_1", "label": "Migration: Add edit_on_player_enabled column to playlist_content table.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Migration: Add edit_on_player_enabled column to playlist_content table.", "community": 13, "community_name": "Community 13", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/migrate_add_edit_enabled.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}, {"id": "migrate_add_edit_enabled_rationale_8", "label": "Add edit_on_player_enabled column to playlist_content.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.3, "shape": "dot", "image": null, "shadow": false, "font": {"size": 0, "color": "#ffffff"}, "title": "Add edit_on_player_enabled column to playlist_content.", "community": 13, "community_name": "Community 13", "source_file": "/home/scheianu/digiserver-v2/old_code_documentation/migrate_add_edit_enabled.py", "file_type": "rationale", "degree": 1, "_level": 3, "_granularity": "low", "heat": 0.015, "complexity": 1, "loc": 1, "_type": "FUNCTION", "columns": []}];
const RAW_EDGES = [{"from": "home_scheianu_digiserver_v2_migrations_add_player_user_table_py", "to": "add_player_user_table_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "add_player_user_table_rationale_1", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "home_scheianu_digiserver_v2_migrations_migrate_player_user_global_py", "to": "migrate_player_user_global_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_migrations_add_original_filename_to_content_py", "to": "add_original_filename_to_content_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_migrations_add_url_to_content_py", "to": "add_url_to_content_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_migrations_add_https_config_table_py", "to": "add_https_config_table_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "add_https_config_table_rationale_1", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "home_scheianu_digiserver_v2_migrations_add_deployment_fields_to_player_py", "to": "add_deployment_fields_to_player_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_migrations_add_email_to_https_config_py", "to": "add_email_to_https_config_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_config_py", "to": "config_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_config_py", "to": "config_developmentconfig", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_config_py", "to": "config_productionconfig", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_config_py", "to": "config_testingconfig", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_config_py", "to": "config_get_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_config_py", "to": "config_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "config_config", "to": "config_developmentconfig", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "config_config", "to": "config_productionconfig", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "config_config", "to": "config_testingconfig", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "config_developmentconfig", "to": "config_rationale_57", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "config_developmentconfig", "to": "app_rationale_1", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_developmentconfig", "to": "app_rationale_18", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_developmentconfig", "to": "app_rationale_91", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_developmentconfig", "to": "app_rationale_111", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_developmentconfig", "to": "app_rationale_124", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_developmentconfig", "to": "app_rationale_149", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_developmentconfig", "to": "app_rationale_190", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_developmentconfig", "to": "app_rationale_214", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_productionconfig", "to": "config_rationale_79", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "config_productionconfig", "to": "app_rationale_1", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_productionconfig", "to": "app_rationale_18", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_productionconfig", "to": "app_rationale_91", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_productionconfig", "to": "app_rationale_111", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_productionconfig", "to": "app_rationale_124", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_productionconfig", "to": "app_rationale_149", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_productionconfig", "to": "app_rationale_190", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_productionconfig", "to": "app_rationale_214", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_testingconfig", "to": "config_rationale_103", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "config_testingconfig", "to": "app_rationale_1", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_testingconfig", "to": "app_rationale_18", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_testingconfig", "to": "app_rationale_91", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_testingconfig", "to": "app_rationale_111", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_testingconfig", "to": "app_rationale_124", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_testingconfig", "to": "app_rationale_149", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_testingconfig", "to": "app_rationale_190", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_testingconfig", "to": "app_rationale_214", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "config_get_config", "to": "config_rationale_128", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_extensions_py", "to": "extensions_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_app_py", "to": "app_create_app", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_app_py", "to": "app_register_blueprints", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_app_py", "to": "app_configure_login_manager", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_app_py", "to": "app_register_error_handlers", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_app_py", "to": "app_register_commands", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_app_py", "to": "app_register_context_processors", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_app_py", "to": "app_register_template_filters", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_app_py", "to": "app_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_create_app", "to": "app_configure_login_manager", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_create_app", "to": "app_register_blueprints", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_create_app", "to": "app_register_error_handlers", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_create_app", "to": "app_register_commands", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_create_app", "to": "app_register_context_processors", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_create_app", "to": "app_register_template_filters", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_create_app", "to": "app_rationale_18", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_create_app", "to": "script_name_fix_scriptnamefix", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_create_app", "to": "portal_sso_init_portal_sso", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_create_app", "to": "fix_player_user_schema_main", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_create_app", "to": "test_edit_media_simple_test_edit_media_endpoint", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_create_app", "to": "add_muted_column_add_muted_column", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_register_blueprints", "to": "app_rationale_91", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_configure_login_manager", "to": "app_rationale_111", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_register_error_handlers", "to": "app_rationale_124", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_register_commands", "to": "app_rationale_149", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_register_context_processors", "to": "app_rationale_190", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_register_template_filters", "to": "app_rationale_214", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_rationale_1", "to": "script_name_fix_scriptnamefix", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_rationale_1", "to": "user_user", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_rationale_18", "to": "script_name_fix_scriptnamefix", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_rationale_18", "to": "user_user", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_rationale_91", "to": "script_name_fix_scriptnamefix", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_rationale_91", "to": "user_user", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_rationale_111", "to": "script_name_fix_scriptnamefix", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_rationale_111", "to": "user_user", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_rationale_124", "to": "script_name_fix_scriptnamefix", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_rationale_124", "to": "user_user", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_rationale_149", "to": "script_name_fix_scriptnamefix", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_rationale_149", "to": "user_user", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_rationale_190", "to": "script_name_fix_scriptnamefix", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_rationale_190", "to": "user_user", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_rationale_214", "to": "script_name_fix_scriptnamefix", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_rationale_214", "to": "user_user", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_admin_required", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_admin_panel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_create_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_change_user_role", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_delete_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_change_theme", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_upload_logo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_clear_logs", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_user_management", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_reset_user_password", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_system_info", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_leftover_media", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_delete_leftover_images", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_delete_leftover_videos", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_delete_single_leftover", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_dependencies", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_install_libreoffice", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_install_emoji_fonts", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_customize_logos", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_upload_header_logo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_upload_login_logo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_manage_editing_users", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_update_editing_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_delete_editing_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_https_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_update_https_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_https_config_status", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_player_build_meta_path", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_build_player", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_build_player_action", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_admin_py", "to": "admin_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_admin_required", "to": "admin_rationale_19", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_admin_panel", "to": "admin_rationale_36", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_admin_panel", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_create_user", "to": "admin_rationale_80", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_create_user", "to": "user_user", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_create_user", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_change_user_role", "to": "admin_rationale_126", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_change_user_role", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_delete_user", "to": "admin_rationale_160", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_delete_user", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_change_theme", "to": "admin_rationale_188", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_change_theme", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_upload_logo", "to": "admin_rationale_212", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_upload_logo", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_clear_logs", "to": "admin_rationale_254", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_clear_logs", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_user_management", "to": "admin_rationale_274", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_user_management", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_reset_user_password", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_system_info", "to": "admin_rationale_323", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_system_info", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_leftover_media", "to": "admin_rationale_355", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_leftover_media", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_delete_leftover_images", "to": "admin_rationale_407", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_delete_leftover_videos", "to": "admin_rationale_462", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_delete_single_leftover", "to": "admin_rationale_517", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_dependencies", "to": "admin_rationale_554", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_install_libreoffice", "to": "admin_rationale_635", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_install_libreoffice", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_install_emoji_fonts", "to": "admin_rationale_672", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_install_emoji_fonts", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_customize_logos", "to": "admin_rationale_709", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_upload_header_logo", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_upload_login_logo", "to": "admin_rationale_749", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_upload_login_logo", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_manage_editing_users", "to": "admin_rationale_779", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_manage_editing_users", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_update_editing_user", "to": "admin_rationale_805", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_update_editing_user", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_delete_editing_user", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_https_config", "to": "admin_rationale_857", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_https_config", "to": "https_config_get_config", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_https_config", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_update_https_config", "to": "admin_rationale_887", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_update_https_config", "to": "https_config_create_or_update", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_update_https_config", "to": "caddy_manager_generate_caddyfile", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_update_https_config", "to": "caddy_manager_write_caddyfile", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_update_https_config", "to": "caddy_manager_reload_caddy", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_update_https_config", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_https_config_status", "to": "admin_rationale_996", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_https_config_status", "to": "https_config_get_config", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_https_config_status", "to": "player_edit_playeredit_to_dict", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_https_config_status", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_player_build_meta_path", "to": "admin_build_player", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_player_build_meta_path", "to": "admin_build_player_action", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_player_build_meta_path", "to": "admin_rationale_1020", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_build_player", "to": "admin_rationale_1029", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_build_player", "to": "player_build_load_build_settings", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_build_player", "to": "https_config_get_config", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_build_player", "to": "ssh_deploy_detect_server_ip", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_build_player", "to": "ssh_deploy_get_local_player_code_status", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_build_player_action", "to": "admin_rationale_1075", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "admin_build_player_action", "to": "player_build_build_player_files", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_build_player_action", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_build_player_action", "to": "player_build_write_base_config", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_build_player_action", "to": "player_build_get_short_head", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_build_player_action", "to": "player_build_save_build_settings", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_build_player_action", "to": "player_build_make_build_record", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_1", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_1", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_1", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_19", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_19", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_19", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_36", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_36", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_36", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_80", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_80", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_80", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_126", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_126", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_126", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_160", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_160", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_160", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_188", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_188", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_188", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_212", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_212", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_212", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_254", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_254", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_254", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_274", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_274", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_274", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_323", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_323", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_323", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_355", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_355", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_355", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_407", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_407", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_407", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_462", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_462", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_462", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_517", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_517", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_517", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_554", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_554", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_554", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_635", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_635", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_635", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_672", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_672", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_672", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_709", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_709", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_709", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_749", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_749", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_749", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_779", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_779", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_779", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_805", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_805", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_805", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_857", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_857", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_857", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_887", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_887", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_887", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_996", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_996", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_996", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_1020", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_1020", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_1020", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_1029", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_1029", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_1029", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_1075", "to": "caddy_manager_caddyconfiggenerator", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_1075", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "admin_rationale_1075", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_old_py", "to": "content_old_content_list", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_old_py", "to": "content_old_upload_content", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_old_py", "to": "content_old_edit_content", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_old_py", "to": "content_old_delete_content", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_old_py", "to": "content_old_delete_by_filename", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_old_py", "to": "content_old_bulk_delete_content", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_old_py", "to": "content_old_upload_progress_status", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_old_py", "to": "content_old_preview_content", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_old_py", "to": "content_old_download_content", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_old_py", "to": "content_old_content_statistics", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_old_py", "to": "content_old_check_duplicates", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_old_py", "to": "content_old_content_groups_info", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_old_py", "to": "content_old_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_old_content_list", "to": "content_old_rationale_31", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_old_content_list", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_old_upload_content", "to": "uploads_set_upload_progress", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_old_upload_content", "to": "uploads_process_video_file", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_old_upload_content", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_old_upload_content", "to": "content_content", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_old_edit_content", "to": "content_old_rationale_225", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_old_edit_content", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_old_delete_content", "to": "content_old_rationale_259", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_old_delete_content", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_old_delete_by_filename", "to": "content_old_rationale_290", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_old_delete_by_filename", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_old_bulk_delete_content", "to": "content_old_rationale_338", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_old_bulk_delete_content", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_old_upload_progress_status", "to": "content_old_rationale_375", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_old_upload_progress_status", "to": "uploads_get_upload_progress", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_old_preview_content", "to": "content_old_rationale_383", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_old_preview_content", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_old_download_content", "to": "content_old_rationale_401", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_old_download_content", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_old_content_statistics", "to": "content_old_rationale_420", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_old_content_statistics", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_old_check_duplicates", "to": "content_old_rationale_454", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_old_check_duplicates", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_old_content_groups_info", "to": "content_old_rationale_479", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_old_content_groups_info", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_content_list", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_media_library", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_delete_media", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_create_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_delete_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_manage_playlist_content", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_add_content_to_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_add_weblink", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_add_weblink_to_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_remove_content_from_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_bulk_remove_from_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_reorder_playlist_content", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_update_playlist_content_muted", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_update_playlist_content_edit_enabled", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_update_playlist_content_duration", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_upload_media_page", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_process_image_file", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_process_video_file_extended", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_process_pdf_file", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_process_file_in_background", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_process_presentation_file", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_create_fullhd_image", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_resize_image_to_fullhd", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_optimize_image_to_fullhd", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_upload_media", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_assign_player_to_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_content_py", "to": "content_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_content_list", "to": "content_rationale_28", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_media_library", "to": "content_rationale_44", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_delete_media", "to": "content_rationale_72", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_delete_media", "to": "players_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_delete_media", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_create_playlist", "to": "content_rationale_136", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_create_playlist", "to": "playlist_playlist", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_create_playlist", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_delete_playlist", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_manage_playlist_content", "to": "content_rationale_201", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_manage_playlist_content", "to": "playlist_playlist_get_content_ordered", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_add_content_to_playlist", "to": "content_rationale_223", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_add_content_to_playlist", "to": "playlist_playlist_increment_version", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_add_content_to_playlist", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_add_weblink", "to": "content_rationale_273", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_add_weblink", "to": "content_content", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_add_weblink", "to": "playlist_playlist_increment_version", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_add_weblink", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_add_weblink_to_playlist", "to": "content_rationale_353", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_add_weblink_to_playlist", "to": "content_content", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_add_weblink_to_playlist", "to": "playlist_playlist_increment_version", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_add_weblink_to_playlist", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_remove_content_from_playlist", "to": "content_rationale_419", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_remove_content_from_playlist", "to": "playlist_playlist_increment_version", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_remove_content_from_playlist", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_bulk_remove_from_playlist", "to": "content_rationale_456", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_bulk_remove_from_playlist", "to": "playlist_playlist_increment_version", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_bulk_remove_from_playlist", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_reorder_playlist_content", "to": "content_rationale_498", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_reorder_playlist_content", "to": "playlist_playlist_increment_version", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_reorder_playlist_content", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_update_playlist_content_muted", "to": "content_rationale_539", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_update_playlist_content_muted", "to": "playlist_playlist_increment_version", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_update_playlist_content_muted", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_update_playlist_content_edit_enabled", "to": "content_rationale_580", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_update_playlist_content_edit_enabled", "to": "playlist_playlist_increment_version", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_update_playlist_content_edit_enabled", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_update_playlist_content_duration", "to": "content_rationale_621", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_update_playlist_content_duration", "to": "playlist_playlist_increment_version", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_update_playlist_content_duration", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_upload_media_page", "to": "content_rationale_671", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_process_image_file", "to": "content_upload_media", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_process_image_file", "to": "content_rationale_677", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_process_image_file", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_process_video_file_extended", "to": "content_process_file_in_background", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_process_video_file_extended", "to": "content_upload_media", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_process_video_file_extended", "to": "content_rationale_703", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_process_video_file_extended", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_process_pdf_file", "to": "content_process_file_in_background", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_process_pdf_file", "to": "content_upload_media", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_process_pdf_file", "to": "content_rationale_728", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_process_pdf_file", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_process_file_in_background", "to": "content_process_presentation_file", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_process_file_in_background", "to": "content_rationale_800", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_process_file_in_background", "to": "content_content", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_process_file_in_background", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_process_presentation_file", "to": "content_resize_image_to_fullhd", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_process_presentation_file", "to": "content_upload_media", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_process_presentation_file", "to": "content_rationale_978", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_process_presentation_file", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_process_presentation_file", "to": "players_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_create_fullhd_image", "to": "content_optimize_image_to_fullhd", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_create_fullhd_image", "to": "content_rationale_1121", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_resize_image_to_fullhd", "to": "content_rationale_1146", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_resize_image_to_fullhd", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_optimize_image_to_fullhd", "to": "content_rationale_1204", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_optimize_image_to_fullhd", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_upload_media", "to": "content_rationale_1221", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_upload_media", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_upload_media", "to": "content_content", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_upload_media", "to": "playlist_playlist_increment_version", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_assign_player_to_playlist", "to": "content_rationale_1495", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_assign_player_to_playlist", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_1", "to": "home_scheianu_digiserver_v2_app_models_content_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_rationale_1", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_28", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_44", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_72", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_136", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_201", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_223", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_273", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_353", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_419", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_456", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_498", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_539", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_580", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_621", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_671", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_677", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_703", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_728", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_800", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_978", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_1121", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_1146", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_1204", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_1221", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_rationale_1495", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_init_py", "to": "init_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "init_rationale_1", "to": "home_scheianu_digiserver_v2_app_utils_init_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "init_rationale_1", "to": "home_scheianu_digiserver_v2_app_models_init_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "init_rationale_1", "to": "user_user", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "init_rationale_1", "to": "player_player", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "init_rationale_1", "to": "group_group", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "init_rationale_1", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "init_rationale_1", "to": "content_content", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "init_rationale_1", "to": "server_log_serverlog", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "init_rationale_1", "to": "player_feedback_playerfeedback", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "init_rationale_1", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "init_rationale_1", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "init_rationale_1", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_rate_limit", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_verify_player_auth", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_health_check", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_get_server_certificate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_authenticate_player", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_verify_auth_code", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_get_playlist_by_quickconnect", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_get_player_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_get_playlist_version", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_get_cached_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_receive_player_feedback", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_get_player_status", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_get_upload_progress", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_system_info", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_list_content", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_get_logs", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_receive_edited_media", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_test_ssh_connection", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_deploy_player", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_api_not_found", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_method_not_allowed", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_internal_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_api_py", "to": "api_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_rate_limit", "to": "api_rationale_22", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_verify_player_auth", "to": "api_rationale_65", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_health_check", "to": "api_rationale_91", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_get_server_certificate", "to": "api_rationale_101", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_authenticate_player", "to": "api_rationale_108", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_authenticate_player", "to": "player_authenticate", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_authenticate_player", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_authenticate_player", "to": "player_player_update_status", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_verify_auth_code", "to": "api_rationale_164", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_verify_auth_code", "to": "player_player_update_status", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_get_playlist_by_quickconnect", "to": "api_get_cached_playlist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_get_playlist_by_quickconnect", "to": "api_rationale_208", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_get_playlist_by_quickconnect", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_get_playlist_by_quickconnect", "to": "player_player_check_quickconnect_code", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_get_player_playlist", "to": "api_get_cached_playlist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_get_player_playlist", "to": "api_rationale_306", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_get_player_playlist", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_get_playlist_version", "to": "api_rationale_350", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_get_playlist_version", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_get_cached_playlist", "to": "api_rationale_379", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_get_cached_playlist", "to": "playlist_playlist_get_content_ordered", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_receive_player_feedback", "to": "api_rationale_430", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_receive_player_feedback", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_receive_player_feedback", "to": "player_player_check_quickconnect_code", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_receive_player_feedback", "to": "player_feedback_playerfeedback", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_get_player_status", "to": "api_rationale_541", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_get_player_status", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_get_upload_progress", "to": "api_rationale_578", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_get_upload_progress", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_system_info", "to": "api_rationale_592", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_system_info", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_list_content", "to": "api_rationale_656", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_list_content", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_get_logs", "to": "api_rationale_685", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_get_logs", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_receive_edited_media", "to": "api_rationale_737", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_receive_edited_media", "to": "group_group", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_receive_edited_media", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_receive_edited_media", "to": "player_user_playeruser", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_receive_edited_media", "to": "player_edit_playeredit", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_test_ssh_connection", "to": "api_rationale_937", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_test_ssh_connection", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_deploy_player", "to": "api_rationale_981", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_deploy_player", "to": "ssh_deploy_deploy_player_to_host", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_deploy_player", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_api_not_found", "to": "api_rationale_1050", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_method_not_allowed", "to": "api_rationale_1056", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_internal_error", "to": "api_rationale_1062", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_rationale_1", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_1", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_1", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_22", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_22", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_22", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_65", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_65", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_65", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_91", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_91", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_91", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_101", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_101", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_101", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_108", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_108", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_108", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_164", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_164", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_164", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_208", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_208", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_208", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_306", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_306", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_306", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_350", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_350", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_350", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_379", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_379", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_379", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_430", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_430", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_430", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_541", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_541", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_541", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_578", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_578", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_578", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_592", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_592", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_592", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_656", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_656", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_656", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_685", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_685", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_685", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_737", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_737", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_737", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_937", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_937", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_937", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_981", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_981", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_981", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_1050", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_1050", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_1050", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_1056", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_1056", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_1056", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_1062", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_1062", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_rationale_1062", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_list", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_add_player", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_edit_player", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_delete_player", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_regenerate_auth_code", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_player_page", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_manage_player", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_edited_media", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_edited_media_report", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_player_fullscreen", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_get_player_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_reorder_content", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_bulk_delete_players", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_bulk_assign_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_deployment_status", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_reorder_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_remove_from_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_players_py", "to": "players_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "players_list", "to": "players_rationale_20", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "players_list", "to": "group_player_management_get_player_status_info", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_list", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_list", "to": "nginx_config_reader_nginxconfigreader_extract_http_ports", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_list", "to": "nginx_config_reader_nginxconfigreader_extract_https_ports", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_list", "to": "test_edit_media_api_get_sample_content", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_add_player", "to": "players_rationale_57", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "players_add_player", "to": "player_player", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_add_player", "to": "player_player_set_password", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_add_player", "to": "player_player_set_quickconnect_code", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_add_player", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_add_player", "to": "player_build_get_player_server_settings", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_add_player", "to": "https_config_get_config", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_add_player", "to": "ssh_deploy_detect_server_ip", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_add_player", "to": "background_tasks_run_background_task", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_edit_player", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_delete_player", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_regenerate_auth_code", "to": "players_rationale_299", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "players_regenerate_auth_code", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_player_page", "to": "players_rationale_322", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "players_manage_player", "to": "players_rationale_329", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "players_manage_player", "to": "player_player_set_password", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_manage_player", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_manage_player", "to": "player_player_set_quickconnect_code", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_manage_player", "to": "group_player_management_get_player_status_info", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_edited_media", "to": "players_rationale_446", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "players_edited_media", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_edited_media_report", "to": "players_rationale_490", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "players_edited_media_report", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_player_fullscreen", "to": "players_get_player_playlist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "players_player_fullscreen", "to": "players_rationale_523", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "players_player_fullscreen", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_get_player_playlist", "to": "players_rationale_546", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "players_get_player_playlist", "to": "playlist_playlist_get_content_ordered", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_reorder_content", "to": "players_rationale_591", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "players_bulk_delete_players", "to": "players_rationale_601", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "players_bulk_delete_players", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_bulk_assign_playlist", "to": "players_rationale_633", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "players_bulk_assign_playlist", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_deployment_status", "to": "players_rationale_670", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "players_deployment_status", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_reorder_playlist", "to": "players_rationale_694", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "players_reorder_playlist", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_remove_from_playlist", "to": "players_rationale_747", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "players_remove_from_playlist", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_1", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_1", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_1", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_20", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_20", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_20", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_57", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_57", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_57", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_299", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_299", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_299", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_322", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_322", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_322", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_329", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_329", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_329", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_446", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_446", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_446", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_490", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_490", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_490", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_523", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_523", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_523", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_546", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_546", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_546", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_591", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_591", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_591", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_601", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_601", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_601", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_633", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_633", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_633", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_670", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_670", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_670", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_694", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_694", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_694", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_747", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_747", "to": "player_edit_playeredit", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "players_rationale_747", "to": "player_user_playeruser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "to": "auth_login", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "to": "auth_logout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "to": "auth_register", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "to": "auth_change_password", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_auth_py", "to": "auth_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "auth_login", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "auth_logout", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "auth_register", "to": "user_user", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "auth_change_password", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_playlist_py", "to": "playlist_manage_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_playlist_py", "to": "playlist_add_to_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_playlist_py", "to": "playlist_remove_from_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_playlist_py", "to": "playlist_reorder_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_playlist_py", "to": "playlist_update_duration", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_playlist_py", "to": "playlist_update_muted", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_playlist_py", "to": "playlist_clear_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_playlist_py", "to": "playlist_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "playlist_manage_playlist", "to": "playlist_rationale_19", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "playlist_add_to_playlist", "to": "playlist_rationale_34", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "playlist_add_to_playlist", "to": "playlist_playlist_increment_version", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "playlist_add_to_playlist", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "playlist_remove_from_playlist", "to": "playlist_rationale_89", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "playlist_remove_from_playlist", "to": "playlist_playlist_increment_version", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "playlist_remove_from_playlist", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "playlist_reorder_playlist", "to": "playlist_rationale_144", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "playlist_reorder_playlist", "to": "playlist_playlist_increment_version", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "playlist_reorder_playlist", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "playlist_update_duration", "to": "playlist_rationale_191", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "playlist_update_duration", "to": "playlist_playlist_increment_version", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "playlist_update_duration", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "playlist_update_muted", "to": "playlist_rationale_236", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "playlist_update_muted", "to": "playlist_playlist_increment_version", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "playlist_update_muted", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "playlist_clear_playlist", "to": "playlist_rationale_279", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "playlist_clear_playlist", "to": "playlist_playlist_increment_version", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "playlist_clear_playlist", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "playlist_rationale_1", "to": "home_scheianu_digiserver_v2_app_models_playlist_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "playlist_rationale_1", "to": "content_content", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_main_py", "to": "main_dashboard", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_main_py", "to": "main_health", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_blueprints_main_py", "to": "main_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "main_dashboard", "to": "logger_get_recent_logs", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "main_health", "to": "main_rationale_50", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "main_rationale_1", "to": "player_player", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "main_rationale_1", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "main_rationale_1", "to": "content_content", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "main_rationale_50", "to": "player_player", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "main_rationale_50", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "main_rationale_50", "to": "content_content", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "home_scheianu_digiserver_v2_app_utils_script_name_fix_py", "to": "script_name_fix_scriptnamefix", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_script_name_fix_py", "to": "script_name_fix_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "script_name_fix_scriptnamefix", "to": "script_name_fix_scriptnamefix_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "script_name_fix_scriptnamefix", "to": "script_name_fix_scriptnamefix_call", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_portal_sso_py", "to": "portal_sso_init_portal_sso", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_portal_sso_py", "to": "portal_sso_get_or_create_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_portal_sso_py", "to": "portal_sso_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "portal_sso_init_portal_sso", "to": "portal_sso_rationale_18", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "portal_sso_get_or_create_user", "to": "user_user", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "portal_sso_rationale_1", "to": "user_user", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "portal_sso_rationale_18", "to": "user_user", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "home_scheianu_digiserver_v2_app_utils_caddy_manager_py", "to": "caddy_manager_caddyconfiggenerator", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_caddy_manager_py", "to": "caddy_manager_generate_caddyfile", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_caddy_manager_py", "to": "caddy_manager_write_caddyfile", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_caddy_manager_py", "to": "caddy_manager_reload_caddy", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_caddy_manager_py", "to": "caddy_manager_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "caddy_manager_caddyconfiggenerator", "to": "caddy_manager_rationale_37", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "caddy_manager_caddyconfiggenerator", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "caddy_manager_generate_caddyfile", "to": "https_config_get_config", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "caddy_manager_reload_caddy", "to": "https_config_get_config", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "caddy_manager_rationale_1", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "caddy_manager_rationale_37", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "caddy_manager_rationale_41", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "caddy_manager_rationale_83", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "caddy_manager_rationale_99", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "caddy_manager_rationale_231", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "caddy_manager_rationale_250", "to": "https_config_httpsconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "home_scheianu_digiserver_v2_app_utils_group_player_management_py", "to": "group_player_management_get_player_status_info", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_group_player_management_py", "to": "group_player_management_get_group_statistics", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_group_player_management_py", "to": "group_player_management_assign_player_to_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_group_player_management_py", "to": "group_player_management_bulk_assign_players_to_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_group_player_management_py", "to": "group_player_management_get_online_players_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_group_player_management_py", "to": "group_player_management_get_players_by_status", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_group_player_management_py", "to": "group_player_management_format_time_ago", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_group_player_management_py", "to": "group_player_management_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "group_player_management_get_player_status_info", "to": "group_player_management_format_time_ago", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "group_player_management_get_player_status_info", "to": "group_player_management_rationale_11", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "group_player_management_get_player_status_info", "to": "blueprint_groups_manage_group", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "group_player_management_get_player_status_info", "to": "blueprint_groups_group_fullscreen", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "group_player_management_get_group_statistics", "to": "group_player_management_rationale_55", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "group_player_management_get_group_statistics", "to": "blueprint_groups_groups_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "group_player_management_get_group_statistics", "to": "blueprint_groups_group_stats", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "group_player_management_assign_player_to_group", "to": "group_player_management_rationale_99", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "group_player_management_assign_player_to_group", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "group_player_management_bulk_assign_players_to_group", "to": "group_player_management_rationale_134", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "group_player_management_bulk_assign_players_to_group", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "group_player_management_get_online_players_count", "to": "group_player_management_rationale_169", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "group_player_management_get_players_by_status", "to": "group_player_management_rationale_179", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "group_player_management_format_time_ago", "to": "group_player_management_rationale_191", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_ssh_deploy_py", "to": "ssh_deploy_get_local_player_code_status", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_ssh_deploy_py", "to": "ssh_deploy_test_ssh_connection", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_ssh_deploy_py", "to": "ssh_deploy_generate_player_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_ssh_deploy_py", "to": "ssh_deploy_detect_server_ip", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_ssh_deploy_py", "to": "ssh_deploy_parse_server_address", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_ssh_deploy_py", "to": "ssh_deploy_generate_app_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_ssh_deploy_py", "to": "ssh_deploy_deploy_player_to_host", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_ssh_deploy_py", "to": "ssh_deploy_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ssh_deploy_get_local_player_code_status", "to": "ssh_deploy_deploy_player_to_host", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ssh_deploy_get_local_player_code_status", "to": "ssh_deploy_rationale_16", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ssh_deploy_test_ssh_connection", "to": "ssh_deploy_deploy_player_to_host", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ssh_deploy_test_ssh_connection", "to": "ssh_deploy_rationale_86", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ssh_deploy_generate_player_config", "to": "ssh_deploy_rationale_156", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ssh_deploy_detect_server_ip", "to": "ssh_deploy_rationale_209", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ssh_deploy_parse_server_address", "to": "ssh_deploy_deploy_player_to_host", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ssh_deploy_parse_server_address", "to": "ssh_deploy_rationale_242", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ssh_deploy_generate_app_config", "to": "ssh_deploy_deploy_player_to_host", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ssh_deploy_generate_app_config", "to": "ssh_deploy_rationale_277", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ssh_deploy_generate_app_config", "to": "player_build_write_base_config", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "ssh_deploy_deploy_player_to_host", "to": "ssh_deploy_rationale_326", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ssh_deploy_deploy_player_to_host", "to": "background_tasks_background_player_deployment", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "home_scheianu_digiserver_v2_app_utils_pptx_converter_py", "to": "pptx_converter_cleanup_libreoffice_processes", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_pptx_converter_py", "to": "pptx_converter_pptx_to_pdf_libreoffice", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_pptx_converter_py", "to": "pptx_converter_validate_pptx_file", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_pptx_converter_py", "to": "pptx_converter_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pptx_converter_cleanup_libreoffice_processes", "to": "pptx_converter_pptx_to_pdf_libreoffice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pptx_converter_cleanup_libreoffice_processes", "to": "pptx_converter_rationale_12", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pptx_converter_pptx_to_pdf_libreoffice", "to": "pptx_converter_rationale_21", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pptx_converter_validate_pptx_file", "to": "pptx_converter_rationale_87", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_uploads_py", "to": "uploads_get_upload_progress", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_uploads_py", "to": "uploads_set_upload_progress", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_uploads_py", "to": "uploads_clear_upload_progress", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_uploads_py", "to": "uploads_save_uploaded_file", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_uploads_py", "to": "uploads_process_video_file", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_uploads_py", "to": "uploads_process_pdf_file", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_uploads_py", "to": "uploads_get_file_size", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_uploads_py", "to": "uploads_delete_file", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_uploads_py", "to": "uploads_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "uploads_get_upload_progress", "to": "uploads_rationale_18", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "uploads_set_upload_progress", "to": "uploads_process_video_file", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "uploads_set_upload_progress", "to": "uploads_process_pdf_file", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "uploads_set_upload_progress", "to": "uploads_rationale_35", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "uploads_clear_upload_progress", "to": "uploads_rationale_51", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "uploads_save_uploaded_file", "to": "uploads_rationale_62", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "uploads_save_uploaded_file", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "uploads_process_video_file", "to": "uploads_rationale_95", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "uploads_process_video_file", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "uploads_process_pdf_file", "to": "uploads_rationale_177", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "uploads_process_pdf_file", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "uploads_get_file_size", "to": "uploads_rationale_210", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "uploads_delete_file", "to": "uploads_rationale_225", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "uploads_delete_file", "to": "logger_log_action", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "home_scheianu_digiserver_v2_app_utils_logger_py", "to": "logger_log_action", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_logger_py", "to": "logger_get_recent_logs", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_logger_py", "to": "logger_clear_old_logs", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_logger_py", "to": "logger_log_info", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_logger_py", "to": "logger_log_warning", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_logger_py", "to": "logger_log_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_logger_py", "to": "logger_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "logger_log_action", "to": "logger_clear_old_logs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "logger_log_action", "to": "logger_log_info", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "logger_log_action", "to": "logger_log_warning", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "logger_log_action", "to": "logger_log_error", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "logger_log_action", "to": "logger_rationale_10", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "logger_log_action", "to": "server_log_serverlog", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_log_action", "to": "background_tasks_background_player_deployment", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_log_action", "to": "blueprint_groups_groups_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_log_action", "to": "blueprint_groups_create_group", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_log_action", "to": "blueprint_groups_edit_group", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_log_action", "to": "blueprint_groups_delete_group", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_log_action", "to": "blueprint_groups_manage_group", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_log_action", "to": "blueprint_groups_group_fullscreen", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_log_action", "to": "blueprint_groups_add_player_to_group", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_log_action", "to": "blueprint_groups_remove_player_from_group", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_log_action", "to": "blueprint_groups_add_content_to_group", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_log_action", "to": "blueprint_groups_remove_content_from_group", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_log_action", "to": "blueprint_groups_reorder_group_content", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_log_action", "to": "blueprint_groups_group_stats", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_get_recent_logs", "to": "logger_rationale_27", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "logger_clear_old_logs", "to": "logger_rationale_45", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "logger_log_info", "to": "logger_rationale_67", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "logger_log_warning", "to": "logger_rationale_72", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "logger_log_error", "to": "logger_rationale_77", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "logger_rationale_1", "to": "server_log_serverlog", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_rationale_10", "to": "server_log_serverlog", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_rationale_27", "to": "server_log_serverlog", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_rationale_45", "to": "server_log_serverlog", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_rationale_67", "to": "server_log_serverlog", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_rationale_72", "to": "server_log_serverlog", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "logger_rationale_77", "to": "server_log_serverlog", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "home_scheianu_digiserver_v2_app_utils_player_build_py", "to": "player_build_run_git", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_player_build_py", "to": "player_build_get_short_head", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_player_build_py", "to": "player_build_build_player_files", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_player_build_py", "to": "player_build_write_base_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_player_build_py", "to": "player_build_load_build_settings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_player_build_py", "to": "player_build_save_build_settings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_player_build_py", "to": "player_build_get_player_server_settings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_player_build_py", "to": "player_build_make_build_record", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_player_build_py", "to": "player_build_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_build_run_git", "to": "player_build_get_short_head", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_build_run_git", "to": "player_build_build_player_files", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_build_get_short_head", "to": "player_build_build_player_files", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_build_get_short_head", "to": "player_build_rationale_39", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_build_build_player_files", "to": "player_build_rationale_50", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_build_write_base_config", "to": "player_build_rationale_137", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_build_load_build_settings", "to": "player_build_get_player_server_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_build_load_build_settings", "to": "player_build_rationale_166", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_build_save_build_settings", "to": "player_build_rationale_177", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_build_get_player_server_settings", "to": "player_build_rationale_189", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_build_make_build_record", "to": "player_build_rationale_210", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_nginx_config_reader_py", "to": "nginx_config_reader_nginxconfigreader", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_nginx_config_reader_py", "to": "nginx_config_reader_get_nginx_status", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_nginx_config_reader_py", "to": "nginx_config_reader_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader", "to": "nginx_config_reader_nginxconfigreader_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader", "to": "nginx_config_reader_nginxconfigreader_get_status", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader", "to": "nginx_config_reader_nginxconfigreader_check_ssl_enabled", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader", "to": "nginx_config_reader_nginxconfigreader_extract_http_ports", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader", "to": "nginx_config_reader_nginxconfigreader_extract_https_ports", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader", "to": "nginx_config_reader_nginxconfigreader_extract_upstream_servers", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader", "to": "nginx_config_reader_nginxconfigreader_extract_server_names", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader", "to": "nginx_config_reader_nginxconfigreader_extract_ssl_protocols", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader", "to": "nginx_config_reader_nginxconfigreader_extract_client_max_body_size", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader", "to": "nginx_config_reader_nginxconfigreader_check_gzip_enabled", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader", "to": "nginx_config_reader_get_nginx_status", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader", "to": "nginx_config_reader_rationale_8", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_init", "to": "nginx_config_reader_rationale_11", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_get_status", "to": "nginx_config_reader_nginxconfigreader_check_ssl_enabled", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_get_status", "to": "nginx_config_reader_nginxconfigreader_extract_http_ports", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_get_status", "to": "nginx_config_reader_nginxconfigreader_extract_https_ports", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_get_status", "to": "nginx_config_reader_nginxconfigreader_extract_upstream_servers", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_get_status", "to": "nginx_config_reader_nginxconfigreader_extract_server_names", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_get_status", "to": "nginx_config_reader_nginxconfigreader_extract_ssl_protocols", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_get_status", "to": "nginx_config_reader_nginxconfigreader_extract_client_max_body_size", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_get_status", "to": "nginx_config_reader_nginxconfigreader_check_gzip_enabled", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_get_status", "to": "nginx_config_reader_get_nginx_status", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_get_status", "to": "nginx_config_reader_rationale_25", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_check_ssl_enabled", "to": "nginx_config_reader_rationale_48", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_extract_http_ports", "to": "nginx_config_reader_rationale_54", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_extract_https_ports", "to": "nginx_config_reader_rationale_62", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_extract_upstream_servers", "to": "nginx_config_reader_rationale_70", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_extract_upstream_servers", "to": "group_group", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "nginx_config_reader_nginxconfigreader_extract_server_names", "to": "nginx_config_reader_rationale_81", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_extract_ssl_protocols", "to": "nginx_config_reader_rationale_93", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_extract_ssl_protocols", "to": "group_group", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "nginx_config_reader_nginxconfigreader_extract_client_max_body_size", "to": "nginx_config_reader_rationale_103", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_nginxconfigreader_extract_client_max_body_size", "to": "group_group", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "nginx_config_reader_nginxconfigreader_check_gzip_enabled", "to": "nginx_config_reader_rationale_111", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "nginx_config_reader_get_nginx_status", "to": "nginx_config_reader_rationale_118", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_background_tasks_py", "to": "background_tasks_run_background_task", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_background_tasks_py", "to": "background_tasks_background_player_deployment", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_utils_background_tasks_py", "to": "background_tasks_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "background_tasks_run_background_task", "to": "background_tasks_rationale_10", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "background_tasks_background_player_deployment", "to": "background_tasks_rationale_43", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_player_feedback_py", "to": "player_feedback_playerfeedback", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_player_feedback_py", "to": "player_feedback_is_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_player_feedback_py", "to": "player_feedback_age_seconds", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_player_feedback_py", "to": "player_feedback_get_latest_for_player", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_player_feedback_py", "to": "player_feedback_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_feedback_playerfeedback", "to": "player_feedback_playerfeedback_repr", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_feedback_playerfeedback", "to": "player_feedback_rationale_9", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_feedback_playerfeedback_repr", "to": "player_feedback_rationale_38", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_https_config_py", "to": "https_config_httpsconfig", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_https_config_py", "to": "https_config_get_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_https_config_py", "to": "https_config_create_or_update", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_https_config_py", "to": "https_config_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "https_config_httpsconfig", "to": "https_config_httpsconfig_repr", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "https_config_httpsconfig", "to": "https_config_httpsconfig_to_dict", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "https_config_httpsconfig", "to": "https_config_rationale_9", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "https_config_httpsconfig_repr", "to": "https_config_rationale_38", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "https_config_get_config", "to": "https_config_create_or_update", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "https_config_httpsconfig_to_dict", "to": "https_config_rationale_88", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_user_py", "to": "user_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_user_py", "to": "user_is_admin", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_user_py", "to": "user_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "user_user", "to": "usermixin", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "user_user", "to": "user_user_repr", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "user_user", "to": "user_user_update_last_login", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "user_user", "to": "user_rationale_11", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "user_user_repr", "to": "user_rationale_33", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "user_user_update_last_login", "to": "user_rationale_42", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_player_py", "to": "player_player", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_player_py", "to": "player_is_online", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_player_py", "to": "player_authenticate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_player_py", "to": "player_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_player", "to": "player_player_repr", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_player", "to": "player_player_update_status", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_player", "to": "player_player_set_password", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_player", "to": "player_player_check_password", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_player", "to": "player_player_set_quickconnect_code", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_player", "to": "player_player_check_quickconnect_code", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_player", "to": "player_rationale_9", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_player_repr", "to": "player_rationale_56", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_player_update_status", "to": "player_rationale_68", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_player_set_password", "to": "player_rationale_77", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_player_check_password", "to": "player_authenticate", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_player_check_password", "to": "player_rationale_86", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_player_set_quickconnect_code", "to": "player_rationale_98", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_player_check_quickconnect_code", "to": "player_authenticate", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_player_check_quickconnect_code", "to": "player_rationale_107", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_server_log_py", "to": "server_log_serverlog", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_server_log_py", "to": "server_log_log_info", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_server_log_py", "to": "server_log_log_warning", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_server_log_py", "to": "server_log_log_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_server_log_py", "to": "server_log_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "server_log_serverlog", "to": "server_log_serverlog_repr", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "server_log_serverlog", "to": "server_log_rationale_9", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "server_log_serverlog_repr", "to": "server_log_rationale_26", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_player_user_py", "to": "player_user_playeruser", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_player_user_py", "to": "player_user_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_user_playeruser", "to": "player_user_playeruser_repr", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_user_playeruser", "to": "player_user_playeruser_to_dict", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_user_playeruser", "to": "player_user_rationale_8", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_user_playeruser_repr", "to": "player_user_rationale_26", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_user_playeruser_to_dict", "to": "player_user_rationale_30", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_group_py", "to": "group_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_group_py", "to": "group_content_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_group_py", "to": "group_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "group_group", "to": "group_group_repr", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "group_group", "to": "group_group_add_player", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "group_group", "to": "group_group_remove_player", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "group_group", "to": "group_rationale_16", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "group_group", "to": "blueprint_groups_create_group", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "group_group_repr", "to": "group_rationale_39", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "group_group_add_player", "to": "group_rationale_50", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "group_group_remove_player", "to": "group_rationale_59", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_content_py", "to": "content_content", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_content_py", "to": "content_file_size_mb", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_content_py", "to": "content_group_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_content_py", "to": "content_original_display_name", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_content_py", "to": "content_original_media_path", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_content_py", "to": "content_current_media_path", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_content_py", "to": "content_has_player_edits", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_content", "to": "content_content_repr", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_content", "to": "content_content_is_image", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_content", "to": "content_content_is_video", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_content", "to": "content_content_is_pdf", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_content", "to": "content_content_is_weblink", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_content", "to": "content_rationale_9", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_content", "to": "playlist_playlist", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_content", "to": "playlist_rationale_20", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_content", "to": "playlist_rationale_49", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_content", "to": "playlist_rationale_54", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_content", "to": "playlist_rationale_59", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_content", "to": "playlist_rationale_64", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_content", "to": "playlist_rationale_71", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_content", "to": "playlist_rationale_76", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "content_content_repr", "to": "content_rationale_45", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_content_is_image", "to": "content_rationale_83", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_content_is_video", "to": "content_rationale_87", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_content_is_pdf", "to": "content_rationale_91", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "content_content_is_weblink", "to": "content_rationale_95", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_player_edit_py", "to": "player_edit_playeredit", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_player_edit_py", "to": "player_edit_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_edit_playeredit", "to": "player_edit_playeredit_repr", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_edit_playeredit", "to": "player_edit_playeredit_to_dict", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_edit_playeredit", "to": "player_edit_rationale_9", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_edit_playeredit_repr", "to": "player_edit_rationale_43", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "player_edit_playeredit_to_dict", "to": "player_edit_rationale_47", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_playlist_py", "to": "playlist_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_playlist_py", "to": "playlist_player_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_playlist_py", "to": "playlist_content_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_app_models_playlist_py", "to": "playlist_total_duration", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "playlist_playlist", "to": "playlist_playlist_repr", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "playlist_playlist", "to": "playlist_playlist_increment_version", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "playlist_playlist", "to": "playlist_playlist_get_content_ordered", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "playlist_playlist", "to": "playlist_rationale_20", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "playlist_playlist_repr", "to": "playlist_rationale_49", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "playlist_playlist_increment_version", "to": "playlist_rationale_71", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "playlist_playlist_get_content_ordered", "to": "playlist_rationale_76", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_fix_player_user_schema_py", "to": "fix_player_user_schema_main", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_simple_py", "to": "test_edit_media_simple_test_edit_media_endpoint", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_simple_test_edit_media_endpoint", "to": "test_edit_media_simple_rationale_20", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py", "to": "test_edit_media_api_colors", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py", "to": "test_edit_media_api_print_section", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py", "to": "test_edit_media_api_print_success", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py", "to": "test_edit_media_api_print_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py", "to": "test_edit_media_api_print_info", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py", "to": "test_edit_media_api_print_warning", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py", "to": "test_edit_media_api_test_server_health", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py", "to": "test_edit_media_api_test_endpoint_exists", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py", "to": "test_edit_media_api_get_player_auth_code", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py", "to": "test_edit_media_api_get_sample_content", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py", "to": "test_edit_media_api_test_authentication", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py", "to": "test_edit_media_api_test_full_upload", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py", "to": "test_edit_media_api_check_database_integrity", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py", "to": "test_edit_media_api_main", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_section", "to": "test_edit_media_api_test_server_health", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_section", "to": "test_edit_media_api_test_endpoint_exists", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_section", "to": "test_edit_media_api_get_player_auth_code", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_section", "to": "test_edit_media_api_get_sample_content", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_section", "to": "test_edit_media_api_test_authentication", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_section", "to": "test_edit_media_api_test_full_upload", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_section", "to": "test_edit_media_api_check_database_integrity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_section", "to": "test_edit_media_api_main", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_section", "to": "test_edit_media_api_rationale_26", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_success", "to": "test_edit_media_api_test_server_health", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_success", "to": "test_edit_media_api_test_endpoint_exists", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_success", "to": "test_edit_media_api_get_player_auth_code", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_success", "to": "test_edit_media_api_get_sample_content", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_success", "to": "test_edit_media_api_test_authentication", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_success", "to": "test_edit_media_api_test_full_upload", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_success", "to": "test_edit_media_api_check_database_integrity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_error", "to": "test_edit_media_api_test_server_health", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_error", "to": "test_edit_media_api_test_endpoint_exists", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_error", "to": "test_edit_media_api_get_player_auth_code", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_error", "to": "test_edit_media_api_get_sample_content", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_error", "to": "test_edit_media_api_test_authentication", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_error", "to": "test_edit_media_api_test_full_upload", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_error", "to": "test_edit_media_api_check_database_integrity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_error", "to": "test_edit_media_api_main", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_info", "to": "test_edit_media_api_test_endpoint_exists", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_info", "to": "test_edit_media_api_get_player_auth_code", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_info", "to": "test_edit_media_api_test_full_upload", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_info", "to": "test_edit_media_api_check_database_integrity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_info", "to": "test_edit_media_api_main", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_warning", "to": "test_edit_media_api_test_endpoint_exists", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_warning", "to": "test_edit_media_api_get_player_auth_code", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_warning", "to": "test_edit_media_api_get_sample_content", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_warning", "to": "test_edit_media_api_test_authentication", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_print_warning", "to": "test_edit_media_api_main", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_test_server_health", "to": "test_edit_media_api_main", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_test_server_health", "to": "test_edit_media_api_rationale_44", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_test_endpoint_exists", "to": "test_edit_media_api_main", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_test_endpoint_exists", "to": "test_edit_media_api_rationale_66", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_get_player_auth_code", "to": "test_edit_media_api_main", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_get_player_auth_code", "to": "test_edit_media_api_rationale_98", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_get_sample_content", "to": "test_edit_media_api_main", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_get_sample_content", "to": "test_edit_media_api_rationale_138", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_test_authentication", "to": "test_edit_media_api_main", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_test_authentication", "to": "test_edit_media_api_rationale_172", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_test_full_upload", "to": "test_edit_media_api_main", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_test_full_upload", "to": "test_edit_media_api_rationale_203", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_check_database_integrity", "to": "test_edit_media_api_main", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_check_database_integrity", "to": "test_edit_media_api_rationale_272", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "test_edit_media_api_main", "to": "test_edit_media_api_rationale_310", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py", "to": "blueprint_groups_groups_list", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py", "to": "blueprint_groups_create_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py", "to": "blueprint_groups_edit_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py", "to": "blueprint_groups_delete_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py", "to": "blueprint_groups_manage_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py", "to": "blueprint_groups_group_fullscreen", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py", "to": "blueprint_groups_add_player_to_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py", "to": "blueprint_groups_remove_player_from_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py", "to": "blueprint_groups_add_content_to_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py", "to": "blueprint_groups_remove_content_from_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py", "to": "blueprint_groups_reorder_group_content", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py", "to": "blueprint_groups_group_stats", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py", "to": "blueprint_groups_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "blueprint_groups_groups_list", "to": "blueprint_groups_rationale_17", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "blueprint_groups_manage_group", "to": "blueprint_groups_rationale_176", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "blueprint_groups_group_fullscreen", "to": "blueprint_groups_rationale_215", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "blueprint_groups_add_player_to_group", "to": "blueprint_groups_rationale_240", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "blueprint_groups_remove_player_from_group", "to": "blueprint_groups_rationale_270", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "blueprint_groups_add_content_to_group", "to": "blueprint_groups_rationale_299", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "blueprint_groups_remove_content_from_group", "to": "blueprint_groups_rationale_336", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "blueprint_groups_reorder_group_content", "to": "blueprint_groups_rationale_366", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "blueprint_groups_group_stats", "to": "blueprint_groups_rationale_395", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_add_muted_column_py", "to": "add_muted_column_add_muted_column", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "add_muted_column_add_muted_column", "to": "add_muted_column_rationale_7", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_migrate_add_edit_enabled_py", "to": "migrate_add_edit_enabled_migrate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "home_scheianu_digiserver_v2_old_code_documentation_migrate_add_edit_enabled_py", "to": "migrate_add_edit_enabled_rationale_1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "migrate_add_edit_enabled_migrate", "to": "migrate_add_edit_enabled_rationale_8", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}];
const LEGEND = [{"cid": 0, "color": "#4E79A7", "label": "Community 0", "count": 90, "summary": ""}, {"cid": 1, "color": "#F28E2B", "label": "Community 1", "count": 80, "summary": ""}, {"cid": 10, "color": "#4E79A7", "label": "Community 10", "count": 20, "summary": ""}, {"cid": 11, "color": "#F28E2B", "label": "Community 11", "count": 19, "summary": ""}, {"cid": 12, "color": "#E15759", "label": "Community 12", "count": 8, "summary": ""}, {"cid": 13, "color": "#76B7B2", "label": "Community 13", "count": 4, "summary": ""}, {"cid": 14, "color": "#59A14F", "label": "Community 14", "count": 2, "summary": ""}, {"cid": 15, "color": "#EDC948", "label": "Community 15", "count": 2, "summary": ""}, {"cid": 16, "color": "#B07AA1", "label": "Community 16", "count": 2, "summary": ""}, {"cid": 17, "color": "#FF9DA7", "label": "Community 17", "count": 2, "summary": ""}, {"cid": 18, "color": "#9C755F", "label": "Community 18", "count": 2, "summary": ""}, {"cid": 19, "color": "#BAB0AC", "label": "Community 19", "count": 2, "summary": ""}, {"cid": 2, "color": "#E15759", "label": "Community 2", "count": 68, "summary": ""}, {"cid": 20, "color": "#4E79A7", "label": "Community 20", "count": 1, "summary": ""}, {"cid": 21, "color": "#F28E2B", "label": "Community 21", "count": 1, "summary": ""}, {"cid": 22, "color": "#E15759", "label": "Community 22", "count": 1, "summary": ""}, {"cid": 23, "color": "#76B7B2", "label": "Community 23", "count": 1, "summary": ""}, {"cid": 24, "color": "#59A14F", "label": "Community 24", "count": 1, "summary": ""}, {"cid": 25, "color": "#EDC948", "label": "Community 25", "count": 1, "summary": ""}, {"cid": 26, "color": "#B07AA1", "label": "Community 26", "count": 1, "summary": ""}, {"cid": 27, "color": "#FF9DA7", "label": "Community 27", "count": 1, "summary": ""}, {"cid": 28, "color": "#9C755F", "label": "Community 28", "count": 1, "summary": ""}, {"cid": 29, "color": "#BAB0AC", "label": "Community 29", "count": 1, "summary": ""}, {"cid": 3, "color": "#76B7B2", "label": "Community 3", "count": 62, "summary": ""}, {"cid": 30, "color": "#4E79A7", "label": "Community 30", "count": 1, "summary": ""}, {"cid": 31, "color": "#F28E2B", "label": "Community 31", "count": 1, "summary": ""}, {"cid": 32, "color": "#E15759", "label": "Community 32", "count": 1, "summary": ""}, {"cid": 33, "color": "#76B7B2", "label": "Community 33", "count": 1, "summary": ""}, {"cid": 34, "color": "#59A14F", "label": "Community 34", "count": 1, "summary": ""}, {"cid": 35, "color": "#EDC948", "label": "Community 35", "count": 1, "summary": ""}, {"cid": 36, "color": "#B07AA1", "label": "Community 36", "count": 1, "summary": ""}, {"cid": 37, "color": "#FF9DA7", "label": "Community 37", "count": 1, "summary": ""}, {"cid": 38, "color": "#9C755F", "label": "Community 38", "count": 1, "summary": ""}, {"cid": 39, "color": "#BAB0AC", "label": "Community 39", "count": 1, "summary": ""}, {"cid": 4, "color": "#59A14F", "label": "Community 4", "count": 55, "summary": ""}, {"cid": 40, "color": "#4E79A7", "label": "Community 40", "count": 1, "summary": ""}, {"cid": 5, "color": "#EDC948", "label": "Community 5", "count": 54, "summary": ""}, {"cid": 6, "color": "#B07AA1", "label": "Community 6", "count": 51, "summary": ""}, {"cid": 7, "color": "#FF9DA7", "label": "Community 7", "count": 42, "summary": ""}, {"cid": 8, "color": "#9C755F", "label": "Community 8", "count": 24, "summary": ""}, {"cid": 9, "color": "#BAB0AC", "label": "Community 9", "count": 21, "summary": ""}];
// HTML-escape helper — prevents XSS when injecting graph data into innerHTML
function esc(s) {
return String(s).replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;').replace(/'/g,'&#39;');
}
// Build vis datasets
let currentGranularity = 'low'; // default
let heatmapEnabled = false;
let fullDetailMode = false;
const nodesDS = new vis.DataSet(RAW_NODES.map(n => {
const nodeObj = {
id: n.id, label: n.label, color: n.color,
size: n.size,
shape: (n._type === 'STATE_STORE') ? 'hexagon' : (n.shape || 'dot'),
font: n.font, title: n.title,
hidden: n._granularity === 'high' && currentGranularity === 'low',
_community: n.community, _community_name: n.community_name,
_source_file: n.source_file, _file_type: n.file_type, _degree: n.degree,
_granularity: n._granularity, _level: n._level,
_heat: n.heat, _complexity: n.complexity, _loc: n.loc, _type: n._type,
_columns: n.columns || [],
_sim_ghosted: false
};
if (n.image) nodeObj.image = n.image;
if (n.shadow) nodeObj.shadow = { enabled: true, color: 'rgba(0,0,0,0.5)', size: 10, x: 5, y: 5 };
return nodeObj;
}));
const edgesDS = new vis.DataSet(RAW_EDGES.map((e, i) => ({
id: i, from: e.from, to: e.to,
label: '',
title: e.title,
dashes: e.dashes,
width: e.width,
color: e.color,
hidden: false,
arrows: { to: { enabled: true, scaleFactor: 0.5 } },
})));
function updateGranularity(mode) {
currentGranularity = mode;
updateZoomLevels();
}
let simulationModeEnabled = false;
function updateStats() {
const visibleNodes = nodesDS.get({ filter: n => !n.hidden && !n._sim_ghosted });
const visibleEdges = edgesDS.get({ filter: e => !e.hidden });
document.getElementById('stats').innerHTML = `${visibleNodes.length} nodes &middot; ${visibleEdges.length} edges &middot; (Simulation active)`;
}
function toggleSimulationMode(enabled) {
simulationModeEnabled = enabled;
if (!enabled) {
// Reset all ghosted nodes
nodesDS.update(RAW_NODES.map(n => ({ id: n.id, opacity: 1, _sim_ghosted: false })));
updateZoomLevels();
document.getElementById('stats').innerHTML = "%STATS%"; // Use the template original
}
document.getElementById('sim-hint').style.display = enabled ? 'block' : 'none';
}
function ghostNode(nodeId) {
const n = nodesDS.get(nodeId);
if (!n) return;
const isGhosted = !n._sim_ghosted;
nodesDS.update({ id: nodeId, _sim_ghosted: isGhosted, opacity: isGhosted ? 0.2 : 1 });
updateZoomLevels();
updateStats();
}
function updateZoomLevels() {
const scale = network.getScale();
// Thresholds:
// < 0.4: Only L0 (Global)
// < 0.8: L0 + L1 (Strategic)
// < 1.3: L0 + L1 + L2 (Implementation)
// >= 1.3: All (L3 Deep Dive)
const nodeUpdates = RAW_NODES.map(n => {
let shouldHide = false;
if (!fullDetailMode) {
if (scale < 0.4 && n._level > 0) shouldHide = true;
else if (scale < 0.8 && n._level > 1) shouldHide = true;
else if (scale < 1.3 && n._level > 2) shouldHide = true;
}
// Also respect the global granularity toggle
if (n._granularity === 'high' && currentGranularity === 'low') shouldHide = true;
return { id: n.id, hidden: shouldHide };
});
nodesDS.update(nodeUpdates);
// Sync edge visibility
const visibleNodeIds = new Set(nodesDS.get({ filter: n => !n.hidden }).map(n => n.id));
const edgeUpdates = RAW_EDGES.map((e, i) => ({
id: i,
hidden: !visibleNodeIds.has(e.from) || !visibleNodeIds.has(e.to)
}));
edgesDS.update(edgeUpdates);
}
const container = document.getElementById('graph');
const network = new vis.Network(container, { nodes: nodesDS, edges: edgesDS }, {
physics: {
enabled: true,
solver: 'forceAtlas2Based',
forceAtlas2Based: {
gravitationalConstant: -60,
centralGravity: 0.005,
springLength: 120,
springConstant: 0.08,
damping: 0.4,
avoidOverlap: 0.8,
},
stabilization: { iterations: 200, fit: true },
},
interaction: {
hover: true,
tooltipDelay: 100,
hideEdgesOnDrag: true,
navigationButtons: false,
keyboard: false,
},
nodes: { shape: 'dot', borderWidth: 1.5 },
edges: { smooth: { type: 'continuous', roundness: 0.2 }, selectionWidth: 3 },
});
network.once('stabilizationIterationsDone', () => {
network.setOptions({ physics: { enabled: false } });
updateZoomLevels(); // Initial sync
});
network.on('zoom', updateZoomLevels);
network.on('dragEnd', updateZoomLevels);
function showInfo(nodeId) {
const n = nodesDS.get(nodeId);
if (!n) return;
const neighborIds = network.getConnectedNodes(nodeId);
const neighborItems = neighborIds.map(nid => {
const nb = nodesDS.get(nid);
const color = nb ? nb.color.background : '#555';
return `<span class="neighbor-link" style="border-left-color:${esc(color)}" onclick="focusNode(${JSON.stringify(nid)})">${esc(nb ? nb.label : nid)}</span>`;
}).join('');
const heatClass = n._heat > 0.7 ? 'metric-high' : (n._heat > 0.4 ? 'metric-medium' : 'metric-low');
// Phase 5: Refactoring Strategist logic
let strategy = '';
if (n._heat > 0.5) {
const steps = [];
if (n._degree > 12) steps.push("<b>Decouple:</b> Node is a 'God Hub'. Extract interfaces to reduce coupling.");
if (n._complexity > 15) steps.push("<b>Decompose:</b> Logic density is high. Split into smaller sub-functions.");
if (n._granularity === 'low' && n._degree > 20) steps.push("<b>Domain Split:</b> This bridge node anchors too many communities. Split by domain.");
if (steps.length > 0) {
strategy = `<div style="margin-top:12px; padding:10px; background:#2a2a4e; border-radius:6px; border-left:3px solid #f59e0b;">
<div style="font-size:11px; color:#f59e0b; font-weight:bold; margin-bottom:5px;">🚀 REFACTORING STRATEGY</div>
<ul style="padding-left:15px; font-size:11px; color:#ccc;">
${steps.map(s => `<li style="margin-bottom:4px;">${s}</li>`).join('')}
</ul>
</div>`;
}
}
const typeLabel = n._type === 'DB_TABLE' ? 'DB Table' : (n._type === 'DB_COLLECTION' ? 'DB Collection' : (n._type === 'SCHEMA' ? 'Schema' : esc(n._file_type || 'unknown')));
document.getElementById('info-content').innerHTML = `
<div class="field"><b>${esc(n.label)}</b> ${n._type === 'STATE_STORE' ? '<span class="metric-badge" style="background:#8b5cf6">Store</span>' : ''}</div>
<div class="field">Type: <span style="color:#f1c40f; font-weight:bold">${typeLabel}</span></div>
<div class="field">Risk: <span class="metric-badge ${heatClass}">${(n._heat * 100).toFixed(0)}%</span></div>
<div class="field">Complexity: ${n._complexity || 1}</div>
<div class="field">LOC: ${n._loc || 1}</div>
${n._level !== undefined ? `<div class="field">Level: ${n._level}</div>` : ''}
<div class="field">Owner: <span class="metric-badge" style="background:#4b5563;color:#fff">${esc(n._owner || 'unowned')}</span></div>
${n._sensitivity === 'HIGH' ? '<div class="field">Sensitivity: <span class="metric-badge" style="background:#dc2626;color:#fff">⚠️ HIGH RISK</span></div>' : ''}
<div class="field">Community: ${esc(n._community_name)}</div>
<div class="field">Source: ${esc(n._source_file || '-')}</div>
<div class="field">Degree: ${n._degree}</div>
${n._columns && n._columns.length > 0 ? `
<button id="view-schema-btn" onclick="openSchemaModal(decodeURIComponent('${encodeURIComponent(n.id)}'))" style="margin-top:10px; width:100%; background:#f1c40f; color:#000; border:none; padding:10px; border-radius:6px; font-weight:bold; cursor:pointer; font-size:12px; box-shadow: 0 0 10px rgba(241, 196, 15, 0.3);">🔍 VIEW DETAILED SCHEMA</button>
` : ''}
${strategy}
${neighborIds.length ? `<div class="field" style="margin-top:8px;color:#aaa;font-size:11px">Neighbors (${neighborIds.length})</div><div id="neighbors-list">${neighborItems}</div>` : ''}
`;
}
function openSchemaModal(nodeId) {
const n = nodesDS.get(nodeId);
if (!n || !n._columns) return;
const modal = document.getElementById('schema-modal');
const title = document.getElementById('schema-title');
const body = document.getElementById('schema-body');
title.innerText = `Schema: ${n.label}`;
// Section 1: Table Schema
let html = `<div style="margin-bottom:20px;">
<h3 style="font-size:14px; color:#f1c40f; margin-bottom:10px; text-transform:uppercase;">📊 Table Structure</h3>
<table class="schema-table">
<thead>
<tr><th>Field</th><th>Type</th><th>Connections</th></tr>
</thead>
<tbody>`;
n._columns.forEach(col => {
const isPK = col.name === '_id' || col.name === 'id';
const fk = col.foreign_key ? `<span class="schema-fk">➔ ref ${esc(col.foreign_key)}</span>` : '';
html += `<tr>
<td class="${isPK ? 'schema-pk' : ''}">${esc(col.name)}${isPK ? ' (PK)' : ''}</td>
<td style="color:#888">${esc(col.type)}</td>
<td>${fk}</td>
</tr>`;
});
html += `</tbody></table></div>`;
// Section 2: Lineage (Who calls this?)
const connectedIds = network.getConnectedNodes(nodeId);
const callers = [];
const relatedDBs = [];
connectedIds.forEach(cid => {
const node = nodesDS.get(cid);
if (!node) return;
if (node._type === 'DB_TABLE' || node._type === 'DB_COLLECTION' || node._type === 'SCHEMA') {
relatedDBs.push(node);
} else {
callers.push(node);
}
});
if (callers.length > 0) {
html += `<div style="margin-bottom:20px;">
<h3 style="font-size:14px; color:#4E79A7; margin-bottom:10px; text-transform:uppercase;">🔗 Calling Functions & Logic</h3>
<div style="display:grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap:8px;">
${callers.map(c => `
<div class="lineage-item" onclick="closeSchemaModal(); focusNode('${c.id}')">
<span style="color:#ccc;">${esc(c.label)}</span>
<div style="font-size:9px; color:#666; margin-top:2px;">${esc(c._source_file)}</div>
</div>
`).join('')}
</div>
</div>`;
}
if (relatedDBs.length > 0) {
html += `<div style="margin-bottom:20px;">
<h3 style="font-size:14px; color:#9b59b6; margin-bottom:10px; text-transform:uppercase;">🗄️ Related Schemas (FK/Lineage)</h3>
<div style="display:grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap:8px;">
${relatedDBs.map(r => `
<div class="lineage-item" style="border-left-color:#f1c40f" onclick="closeSchemaModal(); focusNode('${r.id}')">
<span style="color:#f1c40f; font-weight:bold;">${esc(r.label)}</span>
<div style="font-size:9px; color:#666; margin-top:2px;">Type: ${esc(r._type)}</div>
</div>
`).join('')}
</div>
</div>`;
}
body.innerHTML = html;
modal.style.display = 'block';
}
function closeSchemaModal() {
document.getElementById('schema-modal').style.display = 'none';
}
function postToVSCode(msg) {
if (typeof vscode !== 'undefined') {
vscode.postMessage(msg);
} else {
// External browser mode: use URI handler
if (msg.command === 'focusNode') {
window.location.href = `vscode://AnytechieStudio.graphify-vscode/focusNode?id=${encodeURIComponent(msg.nodeId)}`;
} else if (msg.command === 'renameProject') {
// Deep linking rename might be complex, let's stick to focus for now
alert("Rename is only available inside VS Code.");
}
}
}
function focusNode(nodeId) {
network.focus(nodeId, { scale: 1.4, animation: true });
network.selectNodes([nodeId]);
showInfo(nodeId);
postToVSCode({ command: 'focusNode', nodeId: nodeId });
}
// Track hovered node — hover detection is more reliable than click params
let hoveredNodeId = null;
network.on('hoverNode', params => {
hoveredNodeId = params.node;
container.style.cursor = 'pointer';
});
network.on('blurNode', () => {
hoveredNodeId = null;
container.style.cursor = 'default';
});
container.addEventListener('click', () => {
if (hoveredNodeId !== null) {
showInfo(hoveredNodeId);
network.selectNodes([hoveredNodeId]);
}
});
network.on('click', params => {
if (params.nodes.length > 0) {
if (simulationModeEnabled) {
ghostNode(params.nodes[0]);
} else {
showInfo(params.nodes[0]);
}
} else if (hoveredNodeId === null) {
document.getElementById('info-content').innerHTML = '<span class="empty">Click a node to inspect it</span>';
}
});
const searchInput = document.getElementById('search');
const searchResults = document.getElementById('search-results');
searchInput.addEventListener('input', () => {
const q = searchInput.value.toLowerCase().trim();
searchResults.innerHTML = '';
if (!q) { searchResults.style.display = 'none'; return; }
const matches = RAW_NODES.filter(n => n.label.toLowerCase().includes(q)).slice(0, 20);
if (!matches.length) { searchResults.style.display = 'none'; return; }
searchResults.style.display = 'block';
matches.forEach(n => {
const el = document.createElement('div');
el.className = 'search-item';
el.textContent = n.label;
el.style.borderLeft = `3 solid ${n.color.background}`;
el.style.paddingLeft = '8px';
el.onclick = () => {
network.focus(n.id, { scale: 1.5, animation: true });
network.selectNodes([n.id]);
showInfo(n.id);
searchResults.style.display = 'none';
searchInput.value = '';
};
searchResults.appendChild(el);
});
});
document.addEventListener('click', e => {
if (!searchResults.contains(e.target) && e.target !== searchInput)
searchResults.style.display = 'none';
});
const hiddenCommunities = new Set();
const legendEl = document.getElementById('legend');
LEGEND.forEach(c => {
const item = document.createElement('div');
item.className = 'legend-item';
if (c.summary) item.title = c.summary;
item.innerHTML = `<div class="legend-dot" style="background:${c.color}"></div>
<span class="legend-label">${c.label}</span>
<span class="legend-count">${c.count}</span>`;
item.onclick = () => {
if (hiddenCommunities.has(c.cid)) {
hiddenCommunities.delete(c.cid);
item.classList.remove('dimmed');
} else {
hiddenCommunities.add(c.cid);
item.classList.add('dimmed');
}
const updates = RAW_NODES
.filter(n => n.community === c.cid)
.map(n => ({ id: n.id, hidden: hiddenCommunities.has(c.cid) }));
nodesDS.update(updates);
};
legendEl.appendChild(item);
});
</script>
<script>
function editProjectName() {
const current = document.getElementById('proj-name').innerText;
postToVSCode({ command: 'renameProject', currentName: current });
}
document.getElementById('granularity-toggle').addEventListener('change', (e) => {
updateGranularity(e.target.checked ? 'high' : 'low');
});
document.getElementById('heatmap-toggle').addEventListener('change', (e) => {
toggleHeatmap(e.target.checked);
});
document.getElementById('simulation-toggle').addEventListener('change', (e) => {
toggleSimulationMode(e.target.checked);
});
document.getElementById('full-detail-toggle').addEventListener('change', (e) => {
fullDetailMode = e.target.checked;
updateZoomLevels();
});
function toggleHeatmap(enabled) {
heatmapEnabled = enabled;
document.getElementById('heatmap-legend').style.display = enabled ? 'block' : 'none';
document.getElementById('legend-wrap').style.display = enabled ? 'none' : 'block';
const updates = RAW_NODES.map(n => {
if (enabled) {
// Color based on heat (Green -> Yellow -> Red)
const h = n.heat || 0;
const r = Math.floor(255 * Math.min(1, h * 2));
const g = Math.floor(255 * Math.min(1, (1-h) * 2));
const color = `rgb(${r},${g},0)`;
return {
id: n.id,
color: { background: color, border: '#fff' },
size: 15 + (h * 40)
};
} else {
return { id: n.id, color: n.color, size: n.size };
}
});
nodesDS.update(updates);
}
</script>
<script>
// Render hyperedges as shaded regions
const hyperedges = [];
// afterDrawing passes ctx already transformed to network coordinate space.
// Draw node positions raw — no manual pan/zoom/DPR math needed.
network.on('afterDrawing', function(ctx) {
hyperedges.forEach(h => {
const positions = h.nodes
.map(nid => network.getPositions([nid])[nid])
.filter(p => p !== undefined);
if (positions.length < 2) return;
ctx.save();
ctx.globalAlpha = 0.12;
ctx.fillStyle = '#6366f1';
ctx.strokeStyle = '#6366f1';
ctx.lineWidth = 2;
ctx.beginPath();
// Centroid and expanded hull in network coordinates
const cx = positions.reduce((s, p) => s + p.x, 0) / positions.length;
const cy = positions.reduce((s, p) => s + p.y, 0) / positions.length;
const expanded = positions.map(p => ({
x: cx + (p.x - cx) * 1.15,
y: cy + (p.y - cy) * 1.15
}));
ctx.moveTo(expanded[0].x, expanded[0].y);
expanded.slice(1).forEach(p => ctx.lineTo(p.x, p.y));
ctx.closePath();
ctx.fill();
ctx.globalAlpha = 0.4;
ctx.stroke();
// Label
ctx.globalAlpha = 0.8;
ctx.fillStyle = '#4f46e5';
ctx.font = 'bold 11px sans-serif';
ctx.textAlign = 'center';
ctx.fillText(h.label, cx, cy - 5);
ctx.restore();
});
});
</script>
<div id="schema-modal">
<div id="schema-modal-content">
<div id="schema-modal-header">
<h2 id="schema-title">Schema Details</h2>
<span class="close-modal" onclick="closeSchemaModal()">&times;</span>
</div>
<div id="schema-body"></div>
</div>
</div>
<script>
window.onclick = function(event) {
const modal = document.getElementById('schema-modal');
if (event.target == modal) {
modal.style.display = "none";
}
}
</script>
</body>
</html>