n home_scheianu_digiserver_v2_migrations_add_player_user_table_py FUNCTION add_player_user_table.py n add_player_user_table_rationale_1 UNKNOWN Add_player_user_table_for_user_code_mappings. n home_scheianu_digiserver_v2_migrations_migrate_player_user_global_py FUNCTION migrate_player_user_global.py n migrate_player_user_global_rationale_1 UNKNOWN Migrate_player_user_table_to_remove_player_id_and_make_user_code_unique_globally n home_scheianu_digiserver_v2_migrations_add_original_filename_to_content_py FUNCTION add_original_filename_to_content.py n add_original_filename_to_content_rationale_1 UNKNOWN Add_original_filename_column_to_content_table.__This_preserves_the_pristine_uplo n home_scheianu_digiserver_v2_migrations_add_url_to_content_py FUNCTION add_url_to_content.py n add_url_to_content_rationale_1 UNKNOWN Add_url_column_to_content_table_for_weblink_support. n home_scheianu_digiserver_v2_migrations_add_https_config_table_py FUNCTION add_https_config_table.py n add_https_config_table_rationale_1 UNKNOWN Add_https_config_table_for_HTTPS_configuration_management. n home_scheianu_digiserver_v2_migrations_add_deployment_fields_to_player_py FUNCTION add_deployment_fields_to_player.py n add_deployment_fields_to_player_rationale_1 UNKNOWN Add_deployment_tracking_columns_to_player_table. n home_scheianu_digiserver_v2_migrations_add_email_to_https_config_py FUNCTION add_email_to_https_config.py n add_email_to_https_config_rationale_1 UNKNOWN Add_email_field_to_https_config_table. n home_scheianu_digiserver_v2_app_config_py FUNCTION config.py n config_config CLASS Config n config_developmentconfig CLASS DevelopmentConfig n config_productionconfig CLASS ProductionConfig n config_testingconfig CLASS TestingConfig n config_get_config FUNCTION get_config() n config_rationale_1 UNKNOWN Configuration_settings_for_DigiServer_v2_Environment-based_configuration_with_se n config_rationale_57 UNKNOWN Development_configuration n config_rationale_79 UNKNOWN Production_configuration n config_rationale_103 UNKNOWN Testing_configuration n config_rationale_128 UNKNOWN Get_configuration_based_on_environment n home_scheianu_digiserver_v2_app_extensions_py FUNCTION extensions.py n extensions_rationale_1 UNKNOWN Flask_extensions_initialization_Centralized_extension_management_for_the_applica n home_scheianu_digiserver_v2_app_app_py FUNCTION app.py n app_create_app FUNCTION create_app() n app_register_blueprints FUNCTION register_blueprints() n app_configure_login_manager FUNCTION configure_login_manager() n app_register_error_handlers FUNCTION register_error_handlers() n app_register_commands FUNCTION register_commands() n app_register_context_processors FUNCTION register_context_processors() n app_register_template_filters FUNCTION register_template_filters() n app_rationale_1 UNKNOWN DigiServer_v2_-_Application_Factory_Modern_Flask_application_with_blueprint_arch n app_rationale_18 UNKNOWN Application_factory_pattern__________Args:_________config_name:_Configuration_en n app_rationale_91 UNKNOWN Register_application_blueprints n app_rationale_111 UNKNOWN Configure_Flask-Login n app_rationale_124 UNKNOWN Register_error_handlers n app_rationale_149 UNKNOWN Register_CLI_commands n app_rationale_190 UNKNOWN Register_context_processors_for_templates n app_rationale_214 UNKNOWN Register_custom_Jinja2_template_filters n home_scheianu_digiserver_v2_app_blueprints_admin_py FUNCTION admin.py n admin_admin_required FUNCTION admin_required() n admin_admin_panel FUNCTION admin_panel() n admin_create_user FUNCTION create_user() n admin_change_user_role FUNCTION change_user_role() n admin_delete_user FUNCTION delete_user() n admin_change_theme FUNCTION change_theme() n admin_upload_logo FUNCTION upload_logo() n admin_clear_logs FUNCTION clear_logs() n admin_user_management FUNCTION user_management() n admin_reset_user_password FUNCTION reset_user_password() n admin_system_info FUNCTION system_info() n admin_leftover_media FUNCTION leftover_media() n admin_delete_leftover_images FUNCTION delete_leftover_images() n admin_delete_leftover_videos FUNCTION delete_leftover_videos() n admin_delete_single_leftover FUNCTION delete_single_leftover() n admin_dependencies FUNCTION dependencies() n admin_install_libreoffice FUNCTION install_libreoffice() n admin_install_emoji_fonts FUNCTION install_emoji_fonts() n admin_customize_logos FUNCTION customize_logos() n admin_upload_header_logo FUNCTION upload_header_logo() n admin_upload_login_logo FUNCTION upload_login_logo() n admin_manage_editing_users FUNCTION manage_editing_users() n admin_update_editing_user FUNCTION update_editing_user() n admin_delete_editing_user FUNCTION delete_editing_user() n admin_https_config FUNCTION https_config() n admin_update_https_config FUNCTION update_https_config() n admin_https_config_status FUNCTION https_config_status() n admin_player_build_meta_path FUNCTION _player_build_meta_path() n admin_build_player FUNCTION build_player() n admin_build_player_action FUNCTION build_player_action() n admin_rationale_1 UNKNOWN Admin_blueprint_for_user_management_and_system_settings. n admin_rationale_19 UNKNOWN Decorator_to_require_admin_role_for_route_access. n admin_rationale_36 UNKNOWN Display_admin_panel_with_system_overview. n admin_rationale_80 UNKNOWN Create_a_new_user_account. n admin_rationale_126 UNKNOWN Change_user_role_between_user_and_admin. n admin_rationale_160 UNKNOWN Delete_a_user_account. n admin_rationale_188 UNKNOWN Change_application_theme. n admin_rationale_212 UNKNOWN Upload_custom_logo_for_application. n admin_rationale_254 UNKNOWN Clear_all_server_logs. n admin_rationale_274 UNKNOWN Display_user_management_page. n admin_rationale_323 UNKNOWN Get_system_information_as_JSON. n admin_rationale_355 UNKNOWN Display_leftover_media_files_not_assigned_to_any_playlist. n admin_rationale_407 UNKNOWN Delete_all_leftover_images_that_are_not_part_of_any_playlist n admin_rationale_462 UNKNOWN Delete_all_leftover_videos_that_are_not_part_of_any_playlist n admin_rationale_517 UNKNOWN Delete_a_single_leftover_content_file n admin_rationale_554 UNKNOWN Show_system_dependencies_status. n admin_rationale_635 UNKNOWN Install_LibreOffice_for_PPTX_conversion. n admin_rationale_672 UNKNOWN Install_Emoji_Fonts_for_better_UI_display. n admin_rationale_709 UNKNOWN Logo_customization_page. n admin_rationale_749 UNKNOWN Upload_login_page_logo. n admin_rationale_779 UNKNOWN Display_and_manage_users_that_edit_images_on_players. n admin_rationale_805 UNKNOWN Update_editing_user_name. n admin_rationale_857 UNKNOWN Display_HTTPS_configuration_management_page. n admin_rationale_887 UNKNOWN Update_HTTPS_configuration. n admin_rationale_996 UNKNOWN Get_current_HTTPS_configuration_status_as_JSON. n admin_rationale_1020 UNKNOWN Path_to_the_persisted_player-build_settings_(in_the_instance_folder). n admin_rationale_1029 UNKNOWN Display_the_'Build_player_files_for_deployment'_admin_page. n admin_rationale_1075 UNKNOWN Build/refresh_the_staged_player_code_and/or_write_its_base_config. n home_scheianu_digiserver_v2_app_blueprints_content_old_py FUNCTION content_old.py n content_old_content_list FUNCTION content_list() n content_old_upload_content FUNCTION upload_content() n content_old_edit_content FUNCTION edit_content() n content_old_delete_content FUNCTION delete_content() n content_old_delete_by_filename FUNCTION delete_by_filename() n content_old_bulk_delete_content FUNCTION bulk_delete_content() n content_old_upload_progress_status FUNCTION upload_progress_status() n content_old_preview_content FUNCTION preview_content() n content_old_download_content FUNCTION download_content() n content_old_content_statistics FUNCTION content_statistics() n content_old_check_duplicates FUNCTION check_duplicates() n content_old_content_groups_info FUNCTION content_groups_info() n content_old_rationale_1 UNKNOWN Content_blueprint_for_media_upload_and_management. n content_old_rationale_31 UNKNOWN Display_list_of_all_content. n content_old_rationale_225 UNKNOWN Edit_content_metadata. n content_old_rationale_259 UNKNOWN Delete_content_and_associated_file. n content_old_rationale_290 UNKNOWN Delete_all_content_entries_with_a_specific_filename. n content_old_rationale_338 UNKNOWN Delete_multiple_content_items_at_once. n content_old_rationale_375 UNKNOWN Get_upload_progress_for_a_specific_upload. n content_old_rationale_383 UNKNOWN Preview_content_in_browser. n content_old_rationale_401 UNKNOWN Download_content_file. n content_old_rationale_420 UNKNOWN Get_content_statistics. n content_old_rationale_454 UNKNOWN Check_for_duplicate_filenames. n content_old_rationale_479 UNKNOWN Get_groups_that_contain_this_content. n home_scheianu_digiserver_v2_app_blueprints_content_py FUNCTION content.py n content_content_list FUNCTION content_list() n content_media_library FUNCTION media_library() n content_delete_media FUNCTION delete_media() n content_create_playlist FUNCTION create_playlist() n content_delete_playlist FUNCTION delete_playlist() n content_manage_playlist_content FUNCTION manage_playlist_content() n content_add_content_to_playlist FUNCTION add_content_to_playlist() n content_add_weblink FUNCTION add_weblink() n content_add_weblink_to_playlist FUNCTION add_weblink_to_playlist() n content_remove_content_from_playlist FUNCTION remove_content_from_playlist() n content_bulk_remove_from_playlist FUNCTION bulk_remove_from_playlist() n content_reorder_playlist_content FUNCTION reorder_playlist_content() n content_update_playlist_content_muted FUNCTION update_playlist_content_muted() n content_update_playlist_content_edit_enabled FUNCTION update_playlist_content_edit_enabled() n content_update_playlist_content_duration FUNCTION update_playlist_content_duration() n content_upload_media_page FUNCTION upload_media_page() n content_process_image_file FUNCTION process_image_file() n content_process_video_file_extended FUNCTION process_video_file_extended() n content_process_pdf_file FUNCTION process_pdf_file() n content_process_file_in_background FUNCTION process_file_in_background() n content_process_presentation_file FUNCTION process_presentation_file() n content_create_fullhd_image FUNCTION create_fullhd_image() n content_resize_image_to_fullhd FUNCTION resize_image_to_fullhd() n content_optimize_image_to_fullhd FUNCTION optimize_image_to_fullhd() n content_upload_media FUNCTION upload_media() n content_assign_player_to_playlist FUNCTION assign_player_to_playlist() n content_rationale_1 UNKNOWN Content_model_for_media_files. n content_rationale_28 UNKNOWN Main_playlist_management_page. n content_rationale_44 UNKNOWN View_all_media_files_in_the_library. n content_rationale_72 UNKNOWN Delete_a_media_file_and_remove_it_from_all_playlists. n content_rationale_136 UNKNOWN Create_a_new_playlist. n content_rationale_201 UNKNOWN Manage_content_in_a_specific_playlist. n content_rationale_223 UNKNOWN Add_content_to_playlist. n content_rationale_273 UNKNOWN Create_a_web_link_content_item_from_the_Upload_Media_page.______Optionally_adds n content_rationale_353 UNKNOWN Create_a_web_link_content_item_and_add_it_to_the_playlist. n content_rationale_419 UNKNOWN Remove_content_from_playlist. n content_rationale_456 UNKNOWN Remove_multiple_content_items_from_playlist. n content_rationale_498 UNKNOWN Reorder_content_in_playlist. n content_rationale_539 UNKNOWN Update_content_muted_setting_in_playlist. n content_rationale_580 UNKNOWN Update_content_edit_on_player_enabled_setting_in_playlist. n content_rationale_621 UNKNOWN Update_content_duration_in_playlist. n content_rationale_671 UNKNOWN Display_upload_media_page. n content_rationale_677 UNKNOWN Process_and_optimize_image_files. n content_rationale_703 UNKNOWN Process_and_optimize_video_files_for_Raspberry_Pi_playback. n content_rationale_728 UNKNOWN Process_PDF_files_by_converting_each_page_to_PNG_images. n content_rationale_800 UNKNOWN Process_large_files_(PDF,_PPTX,_Video)_in_background_thread. n content_rationale_978 UNKNOWN Process_PowerPoint_presentation_files_by_converting_slides_to_images. n content_rationale_1121 UNKNOWN Create_a_Full_HD_(1920x1080)_image_from_PIL_Image_object,_centered_on_white_back n content_rationale_1146 UNKNOWN Resize_image_to_exactly_Full_HD_(1920x1080)_maintaining_aspect_ratio_with_center n content_rationale_1204 UNKNOWN Optimize_and_resize_image_file_to_Full_HD_(1920x1080)_maintaining_aspect_ratio. n content_rationale_1221 UNKNOWN Upload_media_files_to_library_with_type-specific_processing. n content_rationale_1495 UNKNOWN Assign_a_player_to_a_playlist. n home_scheianu_digiserver_v2_app_blueprints_init_py FUNCTION __init__.py n init_rationale_1 UNKNOWN Models_package_for_digiserver-v2. n home_scheianu_digiserver_v2_app_blueprints_api_py FUNCTION api.py n api_rate_limit FUNCTION rate_limit() n api_verify_player_auth FUNCTION verify_player_auth() n api_health_check FUNCTION health_check() n api_get_server_certificate FUNCTION get_server_certificate() n api_authenticate_player FUNCTION authenticate_player() n api_verify_auth_code FUNCTION verify_auth_code() n api_get_playlist_by_quickconnect FUNCTION get_playlist_by_quickconnect() n api_get_player_playlist FUNCTION get_player_playlist() n api_get_playlist_version FUNCTION get_playlist_version() n api_get_cached_playlist FUNCTION get_cached_playlist() n api_receive_player_feedback FUNCTION receive_player_feedback() n api_get_player_status FUNCTION get_player_status() n api_get_upload_progress FUNCTION get_upload_progress() n api_system_info FUNCTION system_info() n api_list_content FUNCTION list_content() n api_get_logs FUNCTION get_logs() n api_receive_edited_media FUNCTION receive_edited_media() n api_test_ssh_connection FUNCTION test_ssh_connection() n api_deploy_player FUNCTION deploy_player() n api_api_not_found FUNCTION api_not_found() n api_method_not_allowed FUNCTION method_not_allowed() n api_internal_error FUNCTION internal_error() n api_rationale_1 UNKNOWN API_blueprint_for_REST_endpoints_and_player_communication. n api_rationale_22 UNKNOWN Rate_limiting_decorator.__________Args:_________max_requests:_Maximum_number_of n api_rationale_65 UNKNOWN Decorator_to_verify_player_authentication_via_auth_code. n api_rationale_91 UNKNOWN API_health_check_endpoint. n api_rationale_101 UNKNOWN Get_server_SSL_certificate. n api_rationale_108 UNKNOWN Authenticate_a_player_and_return_auth_code_and_configuration.__________Request_J n api_rationale_164 UNKNOWN Verify_an_auth_code_and_return_player_information.__________Request_JSON: n api_rationale_208 UNKNOWN Get_playlist_using_hostname_and_quickconnect_code_(Kivy_player_compatible). n api_rationale_306 UNKNOWN Get_playlist_for_a_specific_player.__________Requires_player_authentication_via n api_rationale_350 UNKNOWN Get_current_playlist_version_for_a_player.__________Lightweight_endpoint_for_pla n api_rationale_379 UNKNOWN Get_cached_playlist_for_a_player_based_on_assigned_playlist. n api_rationale_430 UNKNOWN Receive_feedback/status_updates_from_players_(Kivy_player_compatible). n api_rationale_541 UNKNOWN Get_current_status_of_a_player_(public_endpoint_for_monitoring). n api_rationale_578 UNKNOWN Get_progress_of_a_file_upload. n api_rationale_592 UNKNOWN Get_system_information_and_statistics. n api_rationale_656 UNKNOWN List_all_content_with_basic_information. n api_rationale_685 UNKNOWN Get_recent_server_logs.__________Query_parameters:_________limit:_Number_of_logs n api_rationale_737 UNKNOWN Receive_edited_media_from_player.__________Expected_multipart/form-data:_____-_i n api_rationale_937 UNKNOWN Test_SSH_connection_to_a_remote_host.__________Request_JSON:_________hostname:_T n api_rationale_981 UNKNOWN Deploy_player_code_to_a_remote_host_via_SSH.__________Request_JSON:_________host n api_rationale_1050 UNKNOWN Handle_404_errors_in_API. n api_rationale_1056 UNKNOWN Handle_405_errors_in_API. n api_rationale_1062 UNKNOWN Handle_500_errors_in_API. n home_scheianu_digiserver_v2_app_blueprints_players_py FUNCTION players.py n players_list FUNCTION list() n players_add_player FUNCTION add_player() n players_edit_player FUNCTION edit_player() n players_delete_player FUNCTION delete_player() n players_regenerate_auth_code FUNCTION regenerate_auth_code() n players_player_page FUNCTION player_page() n players_manage_player FUNCTION manage_player() n players_edited_media FUNCTION edited_media() n players_edited_media_report FUNCTION edited_media_report() n players_player_fullscreen FUNCTION player_fullscreen() n players_get_player_playlist FUNCTION get_player_playlist() n players_reorder_content FUNCTION reorder_content() n players_bulk_delete_players FUNCTION bulk_delete_players() n players_bulk_assign_playlist FUNCTION bulk_assign_playlist() n players_deployment_status FUNCTION deployment_status() n players_reorder_playlist FUNCTION reorder_playlist() n players_remove_from_playlist FUNCTION remove_from_playlist() n players_rationale_1 UNKNOWN Players_blueprint_for_player_management_and_display. n players_rationale_20 UNKNOWN Display_list_of_all_players. n players_rationale_57 UNKNOWN Add_a_new_player_with_optional_SSH_deployment. n players_rationale_299 UNKNOWN Regenerate_authentication_code_for_a_player. n players_rationale_322 UNKNOWN Redirect_to_manage_player_page_(combined_view). n players_rationale_329 UNKNOWN Manage_player_-_edit_credentials,_assign_playlist,_view_logs. n players_rationale_446 UNKNOWN Display_all_edited_media_files_from_this_player. n players_rationale_490 UNKNOWN Display_a_tabular_report_of_all_edited_media_from_this_player. n players_rationale_523 UNKNOWN Display_player_fullscreen_view_(no_authentication_required_for_players). n players_rationale_546 UNKNOWN Get_playlist_for_a_player_based_on_their_assigned_playlist.__________Args: n players_rationale_591 UNKNOWN Legacy_endpoint_-_Content_reordering_now_handled_in_playlist_management. n players_rationale_601 UNKNOWN Delete_multiple_players_at_once. n players_rationale_633 UNKNOWN Assign_multiple_players_to_a_playlist. n players_rationale_670 UNKNOWN Return_deployment_status_for_all_players_(used_by_polling_JS). n players_rationale_694 UNKNOWN Reorder_items_in_player's_playlist. n players_rationale_747 UNKNOWN Remove_content_from_player's_playlist. n home_scheianu_digiserver_v2_app_blueprints_auth_py FUNCTION auth.py n auth_login FUNCTION login() n auth_logout FUNCTION logout() n auth_register FUNCTION register() n auth_change_password FUNCTION change_password() n auth_rationale_1 UNKNOWN Authentication_Blueprint_-_Login,_Logout,_Register n home_scheianu_digiserver_v2_app_blueprints_playlist_py FUNCTION playlist.py n playlist_manage_playlist FUNCTION manage_playlist() n playlist_add_to_playlist FUNCTION add_to_playlist() n playlist_remove_from_playlist FUNCTION remove_from_playlist() n playlist_reorder_playlist FUNCTION reorder_playlist() n playlist_update_duration FUNCTION update_duration() n playlist_update_muted FUNCTION update_muted() n playlist_clear_playlist FUNCTION clear_playlist() n playlist_rationale_1 UNKNOWN Playlist_model_for_managing_content_collections. n playlist_rationale_19 UNKNOWN Legacy_route_-_redirect_to_new_content_management_area. n playlist_rationale_34 UNKNOWN Add_content_to_player's_playlist. n playlist_rationale_89 UNKNOWN Remove_content_from_player's_playlist. n playlist_rationale_144 UNKNOWN Reorder_playlist_items. n playlist_rationale_191 UNKNOWN Update_content_duration_in_playlist. n playlist_rationale_236 UNKNOWN Update_content_muted_setting_in_playlist. n playlist_rationale_279 UNKNOWN Clear_all_content_from_player's_playlist. n home_scheianu_digiserver_v2_app_blueprints_main_py FUNCTION main.py n main_dashboard FUNCTION dashboard() n main_health FUNCTION health() n main_rationale_1 UNKNOWN Main_Blueprint_-_Dashboard_and_Home_Routes n main_rationale_50 UNKNOWN Health_check_endpoint n home_scheianu_digiserver_v2_app_utils_script_name_fix_py FUNCTION script_name_fix.py n script_name_fix_scriptnamefix CLASS ScriptNameFix n script_name_fix_scriptnamefix_init FUNCTION .__init__() n script_name_fix_scriptnamefix_call FUNCTION .__call__() n script_name_fix_rationale_1 UNKNOWN ScriptNameFix_WSGI_middleware.__When_nginx_strips_the_path_prefix_before_forward n home_scheianu_digiserver_v2_app_utils_portal_sso_py FUNCTION portal_sso.py n portal_sso_init_portal_sso FUNCTION init_portal_sso() n portal_sso_get_or_create_user FUNCTION _get_or_create_user() n portal_sso_rationale_1 UNKNOWN Portal_SSO_middleware_for_DigiServer_v2.__When_the_umbrella_nginx_verifies_the_p n portal_sso_rationale_18 UNKNOWN Register_the_SSO_before_request_handler_on_the_given_Flask_app. n home_scheianu_digiserver_v2_app_utils_caddy_manager_py FUNCTION caddy_manager.py n caddy_manager_caddyconfiggenerator CLASS CaddyConfigGenerator n caddy_manager_generate_caddyfile FUNCTION generate_caddyfile() n caddy_manager_write_caddyfile FUNCTION write_caddyfile() n caddy_manager_reload_caddy FUNCTION reload_caddy() n caddy_manager_rationale_1 UNKNOWN Caddy_configuration_generator_and_manager. n caddy_manager_rationale_37 UNKNOWN Generate_Caddyfile_configuration_based_on_HTTPSConfig. n caddy_manager_rationale_41 UNKNOWN Generate_a_complete_Caddyfile.__________Behaviour:_________-_HTTPS_disabled_/_no n caddy_manager_rationale_83 UNKNOWN Write_Caddyfile_to_disk.__________The_default_path_is_/etc/caddy/Caddyfile_—_the n caddy_manager_rationale_99 UNKNOWN Push_the_current_Caddyfile_to_Caddy_via_its_admin_API_(/load).__________Caddy_ap n caddy_manager_rationale_231 UNKNOWN Write_Caddyfile_to_disk.__________________Args:_____________caddyfile_content:_C n caddy_manager_rationale_250 UNKNOWN Reload_Caddy_configuration_without_restart.__________________Note:_Caddy_monitor n home_scheianu_digiserver_v2_app_utils_group_player_management_py FUNCTION group_player_management.py n group_player_management_get_player_status_info FUNCTION get_player_status_info() n group_player_management_get_group_statistics FUNCTION get_group_statistics() n group_player_management_assign_player_to_group FUNCTION assign_player_to_group() n group_player_management_bulk_assign_players_to_group FUNCTION bulk_assign_players_to_group() n group_player_management_get_online_players_count FUNCTION get_online_players_count() n group_player_management_get_players_by_status FUNCTION get_players_by_status() n group_player_management_format_time_ago FUNCTION _format_time_ago() n group_player_management_rationale_1 UNKNOWN Group_and_player_management_utilities. n group_player_management_rationale_11 UNKNOWN Get_comprehensive_status_information_for_a_player.__________Args:_________player n group_player_management_rationale_55 UNKNOWN Get_statistics_for_a_group.__________Args:_________group_id:_Group_ID_to_query n group_player_management_rationale_99 UNKNOWN Assign_a_player_to_a_group_or_unassign_if_group_id_is_None.__________Args: n group_player_management_rationale_134 UNKNOWN Assign_multiple_players_to_a_group.__________Args:_________player_ids:_List_of_p n group_player_management_rationale_169 UNKNOWN Get_count_of_online_players_(seen_in_last_5_minutes).__________Returns: n group_player_management_rationale_179 UNKNOWN Get_all_players_with_a_specific_status.__________Args:_________status:_Status_to n group_player_management_rationale_191 UNKNOWN Format_datetime_as_'time_ago'_string.__________Args:_________dt:_Datetime_to_for n home_scheianu_digiserver_v2_app_utils_ssh_deploy_py FUNCTION ssh_deploy.py n ssh_deploy_get_local_player_code_status FUNCTION get_local_player_code_status() n ssh_deploy_test_ssh_connection FUNCTION test_ssh_connection() n ssh_deploy_generate_player_config FUNCTION generate_player_config() n ssh_deploy_detect_server_ip FUNCTION detect_server_ip() n ssh_deploy_parse_server_address FUNCTION parse_server_address() n ssh_deploy_generate_app_config FUNCTION generate_app_config() n ssh_deploy_deploy_player_to_host FUNCTION deploy_player_to_host() n ssh_deploy_rationale_1 UNKNOWN SSH_deployment_utilities_for_player_provisioning. n ssh_deploy_rationale_16 UNKNOWN Check_status_of_pre-staged_player_code.______Args:_________player_code_dir:_Opti n ssh_deploy_rationale_86 UNKNOWN Test_SSH_connection_to_a_remote_host.__________Args:_________hostname:_Target_ho n ssh_deploy_rationale_156 UNKNOWN Generate_player_configuration_JSON_for_connecting_to_DigiServer.__________Args: n ssh_deploy_rationale_209 UNKNOWN Best-effort_detection_of_this_server's_primary_LAN_IP_address.______Opens_a_UDP n ssh_deploy_rationale_242 UNKNOWN Derive_the_values_the_player_needs_from_a_DigiServer_URL.______The_player's_conf n ssh_deploy_rationale_277 UNKNOWN Generate_the_config/app_config.json_the_player_actually_reads.______This_is_what n ssh_deploy_rationale_326 UNKNOWN Deploy_player_code_to_remote_host.__________Args:_________hostname:_Target_hostn n home_scheianu_digiserver_v2_app_utils_init_py FUNCTION __init__.py n home_scheianu_digiserver_v2_app_utils_pptx_converter_py FUNCTION pptx_converter.py n pptx_converter_cleanup_libreoffice_processes FUNCTION cleanup_libreoffice_processes() n pptx_converter_pptx_to_pdf_libreoffice FUNCTION pptx_to_pdf_libreoffice() n pptx_converter_validate_pptx_file FUNCTION validate_pptx_file() n pptx_converter_rationale_1 UNKNOWN PowerPoint_to_PDF_converter_using_LibreOffice. n pptx_converter_rationale_12 UNKNOWN Clean_up_any_hanging_LibreOffice_processes. n pptx_converter_rationale_21 UNKNOWN Convert_PPTX_to_PDF_using_LibreOffice_for_highest_quality.__________This_functio n pptx_converter_rationale_87 UNKNOWN Validate_if_file_is_a_valid_PowerPoint_file.__________Args:_________filepath:_Pa n home_scheianu_digiserver_v2_app_utils_uploads_py FUNCTION uploads.py n uploads_get_upload_progress FUNCTION get_upload_progress() n uploads_set_upload_progress FUNCTION set_upload_progress() n uploads_clear_upload_progress FUNCTION clear_upload_progress() n uploads_save_uploaded_file FUNCTION save_uploaded_file() n uploads_process_video_file FUNCTION process_video_file() n uploads_process_pdf_file FUNCTION process_pdf_file() n uploads_get_file_size FUNCTION get_file_size() n uploads_delete_file FUNCTION delete_file() n uploads_rationale_1 UNKNOWN Upload_utilities_for_handling_file_uploads_and_processing. n uploads_rationale_18 UNKNOWN Get_upload_progress_for_a_specific_upload_ID.__________Args:_________upload_id: n uploads_rationale_35 UNKNOWN Set_upload_progress_for_a_specific_upload_ID.__________Args:_________upload_id: n uploads_rationale_51 UNKNOWN Clear_upload_progress_for_a_specific_upload_ID.__________Args:_________upload_id n uploads_rationale_62 UNKNOWN Save_an_uploaded_file_to_the_upload_folder.__________Args:_________file:_FileSto n uploads_rationale_95 UNKNOWN Process_video_file_for_optimization_(H.264,_30fps,_max_1080p).__________Args: n uploads_rationale_177 UNKNOWN Process_PDF_file_(convert_to_images_for_display).__________Args:_________filepat n uploads_rationale_210 UNKNOWN Get_file_size_in_bytes.__________Args:_________filepath:_Path_to_file n uploads_rationale_225 UNKNOWN Delete_a_file_from_disk.__________Args:_________filepath:_Path_to_file n home_scheianu_digiserver_v2_app_utils_logger_py FUNCTION logger.py n logger_log_action FUNCTION log_action() n logger_get_recent_logs FUNCTION get_recent_logs() n logger_clear_old_logs FUNCTION clear_old_logs() n logger_log_info FUNCTION log_info() n logger_log_warning FUNCTION log_warning() n logger_log_error FUNCTION log_error() n logger_rationale_1 UNKNOWN Logging_utility_for_tracking_system_events. n logger_rationale_10 UNKNOWN Log_an_action_to_the_database_with_specified_level.__________Args:_________level n logger_rationale_27 UNKNOWN Get_the_most_recent_log_entries.__________Args:_________limit:_Maximum_number_of n logger_rationale_45 UNKNOWN Delete_logs_older_than_specified_days.__________Args:_________days:_Number_of_da n logger_rationale_67 UNKNOWN Log_an_info_level_message. n logger_rationale_72 UNKNOWN Log_a_warning_level_message. n logger_rationale_77 UNKNOWN Log_an_error_level_message. n home_scheianu_digiserver_v2_app_utils_player_build_py FUNCTION player_build.py n player_build_run_git FUNCTION _run_git() n player_build_get_short_head FUNCTION get_short_head() n player_build_build_player_files FUNCTION build_player_files() n player_build_write_base_config FUNCTION write_base_config() n player_build_load_build_settings FUNCTION load_build_settings() n player_build_save_build_settings FUNCTION save_build_settings() n player_build_get_player_server_settings FUNCTION get_player_server_settings() n player_build_make_build_record FUNCTION make_build_record() n player_build_rationale_1 UNKNOWN Utilities_for_building/staging_the_player_files_on_the_server.__Admins_use_the_" n player_build_rationale_39 UNKNOWN Return_the_short_git_commit_of_the_staged_code,_or_'unknown'. n player_build_rationale_50 UNKNOWN Clone_or_refresh_the_player_source_into_``player_code_dir``.______If_the_directo n player_build_rationale_137 UNKNOWN Write_a_base_``config/app_config.json``_into_the_staged_player_code.______``scre n player_build_rationale_166 UNKNOWN Load_saved_build_settings_from_``meta_path``_(or_None_if_absent/invalid). n player_build_rationale_177 UNKNOWN Persist_build_settings_to_``meta_path``. n player_build_rationale_189 UNKNOWN Return_the_saved_server_address_settings_for_deployment,_if_available.______Retu n player_build_rationale_210 UNKNOWN Assemble_the_metadata_record_to_persist_after_a_build. n home_scheianu_digiserver_v2_app_utils_nginx_config_reader_py FUNCTION nginx_config_reader.py n nginx_config_reader_nginxconfigreader CLASS NginxConfigReader n nginx_config_reader_nginxconfigreader_init FUNCTION .__init__() n nginx_config_reader_nginxconfigreader_get_status FUNCTION .get_status() n nginx_config_reader_nginxconfigreader_check_ssl_enabled FUNCTION ._check_ssl_enabled() n nginx_config_reader_nginxconfigreader_extract_http_ports FUNCTION ._extract_http_ports() n nginx_config_reader_nginxconfigreader_extract_https_ports FUNCTION ._extract_https_ports() n nginx_config_reader_nginxconfigreader_extract_upstream_servers FUNCTION ._extract_upstream_servers() n nginx_config_reader_nginxconfigreader_extract_server_names FUNCTION ._extract_server_names() n nginx_config_reader_nginxconfigreader_extract_ssl_protocols FUNCTION ._extract_ssl_protocols() n nginx_config_reader_nginxconfigreader_extract_client_max_body_size FUNCTION ._extract_client_max_body_size() n nginx_config_reader_nginxconfigreader_check_gzip_enabled FUNCTION ._check_gzip_enabled() n nginx_config_reader_get_nginx_status FUNCTION get_nginx_status() n nginx_config_reader_rationale_1 UNKNOWN Nginx_configuration_reader_utility. n nginx_config_reader_rationale_8 UNKNOWN Read_and_parse_Nginx_configuration_files. n nginx_config_reader_rationale_11 UNKNOWN Initialize_Nginx_config_reader. n nginx_config_reader_rationale_25 UNKNOWN Get_Nginx_configuration_status. n nginx_config_reader_rationale_48 UNKNOWN Check_if_SSL_is_enabled. n nginx_config_reader_rationale_54 UNKNOWN Extract_HTTP_listening_ports. n nginx_config_reader_rationale_62 UNKNOWN Extract_HTTPS_listening_ports. n nginx_config_reader_rationale_70 UNKNOWN Extract_upstream_servers. n nginx_config_reader_rationale_81 UNKNOWN Extract_server_names. n nginx_config_reader_rationale_93 UNKNOWN Extract_SSL_protocols. n nginx_config_reader_rationale_103 UNKNOWN Extract_client_max_body_size. n nginx_config_reader_rationale_111 UNKNOWN Check_if_gzip_is_enabled. n nginx_config_reader_rationale_118 UNKNOWN Get_Nginx_configuration_status. n home_scheianu_digiserver_v2_app_utils_background_tasks_py FUNCTION background_tasks.py n background_tasks_run_background_task FUNCTION run_background_task() n background_tasks_background_player_deployment FUNCTION background_player_deployment() n background_tasks_rationale_1 UNKNOWN Background_task_execution_for_long-running_operations. n background_tasks_rationale_10 UNKNOWN Run_a_function_in_a_background_thread,_with_a_Flask_app_context_pushed. n background_tasks_rationale_43 UNKNOWN Deploy_player_code_to_host_in_background.__________Args:_________hostname:_SSH_h n home_scheianu_digiserver_v2_app_models_player_feedback_py FUNCTION player_feedback.py n player_feedback_playerfeedback CLASS PlayerFeedback n player_feedback_playerfeedback_repr FUNCTION .__repr__() n player_feedback_is_error FUNCTION is_error() n player_feedback_age_seconds FUNCTION age_seconds() n player_feedback_get_latest_for_player FUNCTION get_latest_for_player() n player_feedback_rationale_1 UNKNOWN Player_feedback_model_for_tracking_player_status_and_errors. n player_feedback_rationale_9 UNKNOWN Player_feedback_model_for_tracking_player_status_updates.__________Attributes: n player_feedback_rationale_38 UNKNOWN String_representation_of_PlayerFeedback. n player_feedback_rationale_43 UNKNOWN Check_if_feedback_indicates_an_error. n player_feedback_rationale_48 UNKNOWN Get_age_of_feedback_in_seconds. n player_feedback_rationale_54 UNKNOWN Get_most_recent_feedback_for_a_player.__________________Args:_____________player n home_scheianu_digiserver_v2_app_models_https_config_py FUNCTION https_config.py n https_config_httpsconfig CLASS HTTPSConfig n https_config_httpsconfig_repr FUNCTION .__repr__() n https_config_get_config FUNCTION get_config() n https_config_create_or_update FUNCTION create_or_update() n https_config_httpsconfig_to_dict FUNCTION .to_dict() n https_config_rationale_1 UNKNOWN HTTPS_Configuration_model. n https_config_rationale_9 UNKNOWN HTTPS_configuration_model_for_managing_secure_connections.__________Attributes: n https_config_rationale_38 UNKNOWN String_representation_of_HTTPSConfig. n https_config_rationale_44 UNKNOWN Get_the_current_HTTPS_configuration.__________________Returns:_____________HTTPS n https_config_rationale_56 UNKNOWN Create_or_update_HTTPS_configuration.__________________Args:_____________https_e n https_config_rationale_88 UNKNOWN Convert_configuration_to_dictionary.__________________Returns:_____________Dicti n home_scheianu_digiserver_v2_app_models_user_py FUNCTION user.py n user_user CLASS User n usermixin UNKNOWN UserMixin n user_user_repr FUNCTION .__repr__() n user_is_admin FUNCTION is_admin() n user_user_update_last_login FUNCTION .update_last_login() n user_rationale_1 UNKNOWN User_model_for_authentication_and_authorization. n user_rationale_11 UNKNOWN User_model_for_application_authentication.__________Attributes:_________id:_Prim n user_rationale_33 UNKNOWN String_representation_of_User. n user_rationale_38 UNKNOWN Check_if_user_has_admin_role. n user_rationale_42 UNKNOWN Update_last_login_timestamp. n home_scheianu_digiserver_v2_app_models_player_py FUNCTION player.py n player_player CLASS Player n player_player_repr FUNCTION .__repr__() n player_is_online FUNCTION is_online() n player_player_update_status FUNCTION .update_status() n player_player_set_password FUNCTION .set_password() n player_player_check_password FUNCTION .check_password() n player_player_set_quickconnect_code FUNCTION .set_quickconnect_code() n player_player_check_quickconnect_code FUNCTION .check_quickconnect_code() n player_authenticate FUNCTION authenticate() n player_rationale_1 UNKNOWN Player_model_for_digital_signage_players. n player_rationale_9 UNKNOWN Player_model_representing_a_digital_signage_device.__________Attributes: n player_rationale_56 UNKNOWN String_representation_of_Player. n player_rationale_61 UNKNOWN Check_if_player_is_online_(seen_in_last_5_minutes). n player_rationale_68 UNKNOWN Update_player_status_and_last_seen_timestamp.__________________Args: n player_rationale_77 UNKNOWN Set_player_password_with_bcrypt_hashing.__________________Args:_____________pass n player_rationale_86 UNKNOWN Verify_player_password.__________________Args:_____________password:_Plain_text n player_rationale_98 UNKNOWN Set_quick_connect_code_with_bcrypt_hashing.__________________Args:_____________c n player_rationale_107 UNKNOWN Verify_quick_connect_code.__________________Args:_____________code:_Plain_text_c n player_rationale_122 UNKNOWN Authenticate_a_player_by_hostname_and_password_or_quickconnect_code. n home_scheianu_digiserver_v2_app_models_server_log_py FUNCTION server_log.py n server_log_serverlog CLASS ServerLog n server_log_serverlog_repr FUNCTION .__repr__() n server_log_log_info FUNCTION log_info() n server_log_log_warning FUNCTION log_warning() n server_log_log_error FUNCTION log_error() n server_log_rationale_1 UNKNOWN Server_log_model_for_audit_trail. n server_log_rationale_9 UNKNOWN Server_log_model_for_tracking_system_events.__________Attributes:_________id:_Pr n server_log_rationale_26 UNKNOWN String_representation_of_ServerLog. n server_log_rationale_31 UNKNOWN Create_an_info_level_log_entry.__________________Args:_____________message:_Log n server_log_rationale_46 UNKNOWN Create_a_warning_level_log_entry.__________________Args:_____________message:_Lo n server_log_rationale_61 UNKNOWN Create_an_error_level_log_entry.__________________Args:_____________message:_Log n home_scheianu_digiserver_v2_app_models_player_user_py FUNCTION player_user.py n player_user_playeruser CLASS PlayerUser n player_user_playeruser_repr FUNCTION .__repr__() n player_user_playeruser_to_dict FUNCTION .to_dict() n player_user_rationale_1 UNKNOWN Player_user_model_for_managing_user_codes_and_names. n player_user_rationale_8 UNKNOWN Player_user_model_for_managing_user_codes_and_names_globally.__________Attribute n player_user_rationale_26 UNKNOWN String_representation_of_PlayerUser. n player_user_rationale_30 UNKNOWN Convert_to_dictionary_for_API_responses. n home_scheianu_digiserver_v2_app_models_group_py FUNCTION group.py n group_group CLASS Group n group_group_repr FUNCTION .__repr__() n group_content_count FUNCTION content_count() n group_group_add_player FUNCTION .add_player() n group_group_remove_player FUNCTION .remove_player() n group_rationale_1 UNKNOWN Group_model_for_organizing_players_and_content. n group_rationale_16 UNKNOWN Group_model_for_organizing_players_with_shared_content.__________Attributes: n group_rationale_39 UNKNOWN String_representation_of_Group. n group_rationale_46 UNKNOWN Get_number_of_content_items_in_this_group. n group_rationale_50 UNKNOWN Add_a_player_to_this_group.__________________Args:_____________player:_Player_in n group_rationale_59 UNKNOWN Remove_a_player_from_this_group.__________________Args:_____________player:_Play n home_scheianu_digiserver_v2_app_models_content_py FUNCTION content.py n content_content CLASS Content n content_content_repr FUNCTION .__repr__() n content_file_size_mb FUNCTION file_size_mb() n content_group_count FUNCTION group_count() n content_original_display_name FUNCTION original_display_name() n content_original_media_path FUNCTION original_media_path() n content_current_media_path FUNCTION current_media_path() n content_content_is_image FUNCTION .is_image() n content_content_is_video FUNCTION .is_video() n content_content_is_pdf FUNCTION .is_pdf() n content_content_is_weblink FUNCTION .is_weblink() n content_has_player_edits FUNCTION has_player_edits() n content_rationale_9 UNKNOWN Content_model_representing_media_files_for_display.__________Attributes: n content_rationale_45 UNKNOWN String_representation_of_Content. n content_rationale_50 UNKNOWN Get_file_size_in_megabytes. n content_rationale_57 UNKNOWN Get_number_of_groups_containing_this_content. n content_rationale_62 UNKNOWN Name_of_the_original_(unedited)_file_for_display_purposes. n content_rationale_67 UNKNOWN Path_(relative_to_uploads/)_where_the_original_unedited_file_lives.__________Whe n content_rationale_79 UNKNOWN Path_(relative_to_uploads/)_of_the_current/latest_version_to_display. n content_rationale_83 UNKNOWN Check_if_content_is_an_image. n content_rationale_87 UNKNOWN Check_if_content_is_a_video. n content_rationale_91 UNKNOWN Check_if_content_is_a_PDF. n content_rationale_95 UNKNOWN Check_if_content_is_a_web_link_(URL)_rather_than_an_uploaded_file. n content_rationale_100 UNKNOWN Whether_this_content_has_been_edited_on_a_player. n content_rationale_105 UNKNOWN Display_name_of_the_original_(unedited)_file. n content_rationale_110 UNKNOWN uploads/-relative_path_of_the_pristine_original_file.__________After_a_player_ed n home_scheianu_digiserver_v2_app_models_init_py FUNCTION __init__.py n home_scheianu_digiserver_v2_app_models_player_edit_py FUNCTION player_edit.py n player_edit_playeredit CLASS PlayerEdit n player_edit_playeredit_repr FUNCTION .__repr__() n player_edit_playeredit_to_dict FUNCTION .to_dict() n player_edit_rationale_1 UNKNOWN Player_edit_model_for_tracking_media_edited_on_players. n player_edit_rationale_9 UNKNOWN Player_edit_model_for_tracking_media_files_edited_on_player_devices.__________At n player_edit_rationale_43 UNKNOWN String_representation_of_PlayerEdit. n player_edit_rationale_47 UNKNOWN Convert_to_dictionary_for_API_responses. n home_scheianu_digiserver_v2_app_models_playlist_py FUNCTION playlist.py n playlist_playlist CLASS Playlist n playlist_playlist_repr FUNCTION .__repr__() n playlist_player_count FUNCTION player_count() n playlist_content_count FUNCTION content_count() n playlist_total_duration FUNCTION total_duration() n playlist_playlist_increment_version FUNCTION .increment_version() n playlist_playlist_get_content_ordered FUNCTION .get_content_ordered() n playlist_rationale_20 UNKNOWN Playlist_model_representing_a_collection_of_content.__________Attributes: n playlist_rationale_49 UNKNOWN String_representation_of_Playlist. n playlist_rationale_54 UNKNOWN Get_number_of_players_assigned_to_this_playlist. n playlist_rationale_59 UNKNOWN Get_number_of_content_items_in_this_playlist. n playlist_rationale_64 UNKNOWN Calculate_total_duration_of_all_content_in_seconds. n playlist_rationale_71 UNKNOWN Increment_playlist_version_for_sync_detection. n playlist_rationale_76 UNKNOWN Get_content_items_ordered_by_position. n home_scheianu_digiserver_v2_old_code_documentation_fix_player_user_schema_py FUNCTION fix_player_user_schema.py n fix_player_user_schema_main FUNCTION main() n home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_simple_py FUNCTION test_edit_media_simple.py n test_edit_media_simple_test_edit_media_endpoint FUNCTION test_edit_media_endpoint() n test_edit_media_simple_rationale_20 UNKNOWN Test_the_edit_media_endpoint_using_Flask_test_client n home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py FUNCTION test_edit_media_api.py n test_edit_media_api_colors CLASS Colors n test_edit_media_api_print_section FUNCTION print_section() n test_edit_media_api_print_success FUNCTION print_success() n test_edit_media_api_print_error FUNCTION print_error() n test_edit_media_api_print_info FUNCTION print_info() n test_edit_media_api_print_warning FUNCTION print_warning() n test_edit_media_api_test_server_health FUNCTION test_server_health() n test_edit_media_api_test_endpoint_exists FUNCTION test_endpoint_exists() n test_edit_media_api_get_player_auth_code FUNCTION get_player_auth_code() n test_edit_media_api_get_sample_content FUNCTION get_sample_content() n test_edit_media_api_test_authentication FUNCTION test_authentication() n test_edit_media_api_test_full_upload FUNCTION test_full_upload() n test_edit_media_api_check_database_integrity FUNCTION check_database_integrity() n test_edit_media_api_main FUNCTION main() n test_edit_media_api_rationale_26 UNKNOWN Print_a_section_header n test_edit_media_api_rationale_44 UNKNOWN Test_if_server_is_accessible n test_edit_media_api_rationale_66 UNKNOWN Test_if_the_endpoint_is_available n test_edit_media_api_rationale_98 UNKNOWN Get_a_valid_player_auth_code_from_the_database n test_edit_media_api_rationale_138 UNKNOWN Get_a_sample_content_file_to_use_for_testing n test_edit_media_api_rationale_172 UNKNOWN Test_if_authentication_works n test_edit_media_api_rationale_203 UNKNOWN Test_a_full_media_upload n test_edit_media_api_rationale_272 UNKNOWN Check_database_tables_and_records n test_edit_media_api_rationale_310 UNKNOWN Run_all_diagnostic_tests n home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py FUNCTION blueprint_groups.py n blueprint_groups_groups_list FUNCTION groups_list() n blueprint_groups_create_group FUNCTION create_group() n blueprint_groups_edit_group FUNCTION edit_group() n blueprint_groups_delete_group FUNCTION delete_group() n blueprint_groups_manage_group FUNCTION manage_group() n blueprint_groups_group_fullscreen FUNCTION group_fullscreen() n blueprint_groups_add_player_to_group FUNCTION add_player_to_group() n blueprint_groups_remove_player_from_group FUNCTION remove_player_from_group() n blueprint_groups_add_content_to_group FUNCTION add_content_to_group() n blueprint_groups_remove_content_from_group FUNCTION remove_content_from_group() n blueprint_groups_reorder_group_content FUNCTION reorder_group_content() n blueprint_groups_group_stats FUNCTION group_stats() n blueprint_groups_rationale_1 UNKNOWN Groups_blueprint_for_group_management_and_player_assignments. n blueprint_groups_rationale_17 UNKNOWN Display_list_of_all_groups. n blueprint_groups_rationale_176 UNKNOWN Manage_group_with_player_status_cards_and_content. n blueprint_groups_rationale_215 UNKNOWN Display_group_fullscreen_view_with_all_player_status_cards. n blueprint_groups_rationale_240 UNKNOWN Add_a_player_to_a_group. n blueprint_groups_rationale_270 UNKNOWN Remove_a_player_from_a_group. n blueprint_groups_rationale_299 UNKNOWN Add_content_to_a_group. n blueprint_groups_rationale_336 UNKNOWN Remove_content_from_a_group. n blueprint_groups_rationale_366 UNKNOWN Reorder_content_within_a_group. n blueprint_groups_rationale_395 UNKNOWN Get_group_statistics_as_JSON. n home_scheianu_digiserver_v2_old_code_documentation_add_muted_column_py FUNCTION add_muted_column.py n add_muted_column_add_muted_column FUNCTION add_muted_column() n add_muted_column_rationale_7 UNKNOWN Add_muted_column_to_playlist_content_association_table. n home_scheianu_digiserver_v2_old_code_documentation_check_fix_player_py FUNCTION check_fix_player.py n home_scheianu_digiserver_v2_old_code_documentation_migrate_add_edit_enabled_py FUNCTION migrate_add_edit_enabled.py n migrate_add_edit_enabled_migrate FUNCTION migrate() n migrate_add_edit_enabled_rationale_1 UNKNOWN Migration:_Add_edit_on_player_enabled_column_to_playlist_content_table. n migrate_add_edit_enabled_rationale_8 UNKNOWN Add_edit_on_player_enabled_column_to_playlist_content. e home_scheianu_digiserver_v2_migrations_add_player_user_table_py add_player_user_table_rationale_1 rationale_for e add_player_user_table_rationale_1 player_user_playeruser uses e home_scheianu_digiserver_v2_migrations_migrate_player_user_global_py migrate_player_user_global_rationale_1 rationale_for e home_scheianu_digiserver_v2_migrations_add_original_filename_to_content_py add_original_filename_to_content_rationale_1 rationale_for e home_scheianu_digiserver_v2_migrations_add_url_to_content_py add_url_to_content_rationale_1 rationale_for e home_scheianu_digiserver_v2_migrations_add_https_config_table_py add_https_config_table_rationale_1 rationale_for e add_https_config_table_rationale_1 https_config_httpsconfig uses e home_scheianu_digiserver_v2_migrations_add_deployment_fields_to_player_py add_deployment_fields_to_player_rationale_1 rationale_for e home_scheianu_digiserver_v2_migrations_add_email_to_https_config_py add_email_to_https_config_rationale_1 rationale_for e home_scheianu_digiserver_v2_app_config_py config_config contains e home_scheianu_digiserver_v2_app_config_py config_developmentconfig contains e home_scheianu_digiserver_v2_app_config_py config_productionconfig contains e home_scheianu_digiserver_v2_app_config_py config_testingconfig contains e home_scheianu_digiserver_v2_app_config_py config_get_config contains e home_scheianu_digiserver_v2_app_config_py config_rationale_1 rationale_for e config_config config_developmentconfig inherits e config_config config_productionconfig inherits e config_config config_testingconfig inherits e config_developmentconfig config_rationale_57 rationale_for e config_developmentconfig app_rationale_1 uses e config_developmentconfig app_rationale_18 uses e config_developmentconfig app_rationale_91 uses e config_developmentconfig app_rationale_111 uses e config_developmentconfig app_rationale_124 uses e config_developmentconfig app_rationale_149 uses e config_developmentconfig app_rationale_190 uses e config_developmentconfig app_rationale_214 uses e config_productionconfig config_rationale_79 rationale_for e config_productionconfig app_rationale_1 uses e config_productionconfig app_rationale_18 uses e config_productionconfig app_rationale_91 uses e config_productionconfig app_rationale_111 uses e config_productionconfig app_rationale_124 uses e config_productionconfig app_rationale_149 uses e config_productionconfig app_rationale_190 uses e config_productionconfig app_rationale_214 uses e config_testingconfig config_rationale_103 rationale_for e config_testingconfig app_rationale_1 uses e config_testingconfig app_rationale_18 uses e config_testingconfig app_rationale_91 uses e config_testingconfig app_rationale_111 uses e config_testingconfig app_rationale_124 uses e config_testingconfig app_rationale_149 uses e config_testingconfig app_rationale_190 uses e config_testingconfig app_rationale_214 uses e config_get_config config_rationale_128 rationale_for e home_scheianu_digiserver_v2_app_extensions_py extensions_rationale_1 rationale_for e home_scheianu_digiserver_v2_app_app_py app_create_app contains e home_scheianu_digiserver_v2_app_app_py app_register_blueprints contains e home_scheianu_digiserver_v2_app_app_py app_configure_login_manager contains e home_scheianu_digiserver_v2_app_app_py app_register_error_handlers contains e home_scheianu_digiserver_v2_app_app_py app_register_commands contains e home_scheianu_digiserver_v2_app_app_py app_register_context_processors contains e home_scheianu_digiserver_v2_app_app_py app_register_template_filters contains e home_scheianu_digiserver_v2_app_app_py app_rationale_1 rationale_for e app_create_app app_configure_login_manager calls e app_create_app app_register_blueprints calls e app_create_app app_register_error_handlers calls e app_create_app app_register_commands calls e app_create_app app_register_context_processors calls e app_create_app app_register_template_filters calls e app_create_app app_rationale_18 rationale_for e app_create_app script_name_fix_scriptnamefix calls e app_create_app portal_sso_init_portal_sso calls e app_create_app fix_player_user_schema_main calls e app_create_app test_edit_media_simple_test_edit_media_endpoint calls e app_create_app add_muted_column_add_muted_column calls e app_register_blueprints app_rationale_91 rationale_for e app_configure_login_manager app_rationale_111 rationale_for e app_register_error_handlers app_rationale_124 rationale_for e app_register_commands app_rationale_149 rationale_for e app_register_context_processors app_rationale_190 rationale_for e app_register_template_filters app_rationale_214 rationale_for e app_rationale_1 script_name_fix_scriptnamefix uses e app_rationale_1 user_user uses e app_rationale_18 script_name_fix_scriptnamefix uses e app_rationale_18 user_user uses e app_rationale_91 script_name_fix_scriptnamefix uses e app_rationale_91 user_user uses e app_rationale_111 script_name_fix_scriptnamefix uses e app_rationale_111 user_user uses e app_rationale_124 script_name_fix_scriptnamefix uses e app_rationale_124 user_user uses e app_rationale_149 script_name_fix_scriptnamefix uses e app_rationale_149 user_user uses e app_rationale_190 script_name_fix_scriptnamefix uses e app_rationale_190 user_user uses e app_rationale_214 script_name_fix_scriptnamefix uses e app_rationale_214 user_user uses e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_admin_required contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_admin_panel contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_create_user contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_change_user_role contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_delete_user contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_change_theme contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_upload_logo contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_clear_logs contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_user_management contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_reset_user_password contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_system_info contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_leftover_media contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_delete_leftover_images contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_delete_leftover_videos contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_delete_single_leftover contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_dependencies contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_install_libreoffice contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_install_emoji_fonts contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_customize_logos contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_upload_header_logo contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_upload_login_logo contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_manage_editing_users contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_update_editing_user contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_delete_editing_user contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_https_config contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_update_https_config contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_https_config_status contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_player_build_meta_path contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_build_player contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_build_player_action contains e home_scheianu_digiserver_v2_app_blueprints_admin_py admin_rationale_1 rationale_for e admin_admin_required admin_rationale_19 rationale_for e admin_admin_panel admin_rationale_36 rationale_for e admin_admin_panel logger_log_action calls e admin_create_user admin_rationale_80 rationale_for e admin_create_user user_user calls e admin_create_user logger_log_action calls e admin_change_user_role admin_rationale_126 rationale_for e admin_change_user_role logger_log_action calls e admin_delete_user admin_rationale_160 rationale_for e admin_delete_user logger_log_action calls e admin_change_theme admin_rationale_188 rationale_for e admin_change_theme logger_log_action calls e admin_upload_logo admin_rationale_212 rationale_for e admin_upload_logo logger_log_action calls e admin_clear_logs admin_rationale_254 rationale_for e admin_clear_logs logger_log_action calls e admin_user_management admin_rationale_274 rationale_for e admin_user_management logger_log_action calls e admin_reset_user_password logger_log_action calls e admin_system_info admin_rationale_323 rationale_for e admin_system_info logger_log_action calls e admin_leftover_media admin_rationale_355 rationale_for e admin_leftover_media logger_log_action calls e admin_delete_leftover_images admin_rationale_407 rationale_for e admin_delete_leftover_videos admin_rationale_462 rationale_for e admin_delete_single_leftover admin_rationale_517 rationale_for e admin_dependencies admin_rationale_554 rationale_for e admin_install_libreoffice admin_rationale_635 rationale_for e admin_install_libreoffice logger_log_action calls e admin_install_emoji_fonts admin_rationale_672 rationale_for e admin_install_emoji_fonts logger_log_action calls e admin_customize_logos admin_rationale_709 rationale_for e admin_upload_header_logo logger_log_action calls e admin_upload_login_logo admin_rationale_749 rationale_for e admin_upload_login_logo logger_log_action calls e admin_manage_editing_users admin_rationale_779 rationale_for e admin_manage_editing_users logger_log_action calls e admin_update_editing_user admin_rationale_805 rationale_for e admin_update_editing_user logger_log_action calls e admin_delete_editing_user logger_log_action calls e admin_https_config admin_rationale_857 rationale_for e admin_https_config https_config_get_config calls e admin_https_config logger_log_action calls e admin_update_https_config admin_rationale_887 rationale_for e admin_update_https_config https_config_create_or_update calls e admin_update_https_config caddy_manager_generate_caddyfile calls e admin_update_https_config caddy_manager_write_caddyfile calls e admin_update_https_config caddy_manager_reload_caddy calls e admin_update_https_config logger_log_action calls e admin_https_config_status admin_rationale_996 rationale_for e admin_https_config_status https_config_get_config calls e admin_https_config_status player_edit_playeredit_to_dict calls e admin_https_config_status logger_log_action calls e admin_player_build_meta_path admin_build_player calls e admin_player_build_meta_path admin_build_player_action calls e admin_player_build_meta_path admin_rationale_1020 rationale_for e admin_build_player admin_rationale_1029 rationale_for e admin_build_player player_build_load_build_settings calls e admin_build_player https_config_get_config calls e admin_build_player ssh_deploy_detect_server_ip calls e admin_build_player ssh_deploy_get_local_player_code_status calls e admin_build_player_action admin_rationale_1075 rationale_for e admin_build_player_action player_build_build_player_files calls e admin_build_player_action logger_log_action calls e admin_build_player_action player_build_write_base_config calls e admin_build_player_action player_build_get_short_head calls e admin_build_player_action player_build_save_build_settings calls e admin_build_player_action player_build_make_build_record calls e admin_rationale_1 caddy_manager_caddyconfiggenerator uses e admin_rationale_1 player_edit_playeredit uses e admin_rationale_1 player_user_playeruser uses e admin_rationale_19 caddy_manager_caddyconfiggenerator uses e admin_rationale_19 player_edit_playeredit uses e admin_rationale_19 player_user_playeruser uses e admin_rationale_36 caddy_manager_caddyconfiggenerator uses e admin_rationale_36 player_edit_playeredit uses e admin_rationale_36 player_user_playeruser uses e admin_rationale_80 caddy_manager_caddyconfiggenerator uses e admin_rationale_80 player_edit_playeredit uses e admin_rationale_80 player_user_playeruser uses e admin_rationale_126 caddy_manager_caddyconfiggenerator uses e admin_rationale_126 player_edit_playeredit uses e admin_rationale_126 player_user_playeruser uses e admin_rationale_160 caddy_manager_caddyconfiggenerator uses e admin_rationale_160 player_edit_playeredit uses e admin_rationale_160 player_user_playeruser uses e admin_rationale_188 caddy_manager_caddyconfiggenerator uses e admin_rationale_188 player_edit_playeredit uses e admin_rationale_188 player_user_playeruser uses e admin_rationale_212 caddy_manager_caddyconfiggenerator uses e admin_rationale_212 player_edit_playeredit uses e admin_rationale_212 player_user_playeruser uses e admin_rationale_254 caddy_manager_caddyconfiggenerator uses e admin_rationale_254 player_edit_playeredit uses e admin_rationale_254 player_user_playeruser uses e admin_rationale_274 caddy_manager_caddyconfiggenerator uses e admin_rationale_274 player_edit_playeredit uses e admin_rationale_274 player_user_playeruser uses e admin_rationale_323 caddy_manager_caddyconfiggenerator uses e admin_rationale_323 player_edit_playeredit uses e admin_rationale_323 player_user_playeruser uses e admin_rationale_355 caddy_manager_caddyconfiggenerator uses e admin_rationale_355 player_edit_playeredit uses e admin_rationale_355 player_user_playeruser uses e admin_rationale_407 caddy_manager_caddyconfiggenerator uses e admin_rationale_407 player_edit_playeredit uses e admin_rationale_407 player_user_playeruser uses e admin_rationale_462 caddy_manager_caddyconfiggenerator uses e admin_rationale_462 player_edit_playeredit uses e admin_rationale_462 player_user_playeruser uses e admin_rationale_517 caddy_manager_caddyconfiggenerator uses e admin_rationale_517 player_edit_playeredit uses e admin_rationale_517 player_user_playeruser uses e admin_rationale_554 caddy_manager_caddyconfiggenerator uses e admin_rationale_554 player_edit_playeredit uses e admin_rationale_554 player_user_playeruser uses e admin_rationale_635 caddy_manager_caddyconfiggenerator uses e admin_rationale_635 player_edit_playeredit uses e admin_rationale_635 player_user_playeruser uses e admin_rationale_672 caddy_manager_caddyconfiggenerator uses e admin_rationale_672 player_edit_playeredit uses e admin_rationale_672 player_user_playeruser uses e admin_rationale_709 caddy_manager_caddyconfiggenerator uses e admin_rationale_709 player_edit_playeredit uses e admin_rationale_709 player_user_playeruser uses e admin_rationale_749 caddy_manager_caddyconfiggenerator uses e admin_rationale_749 player_edit_playeredit uses e admin_rationale_749 player_user_playeruser uses e admin_rationale_779 caddy_manager_caddyconfiggenerator uses e admin_rationale_779 player_edit_playeredit uses e admin_rationale_779 player_user_playeruser uses e admin_rationale_805 caddy_manager_caddyconfiggenerator uses e admin_rationale_805 player_edit_playeredit uses e admin_rationale_805 player_user_playeruser uses e admin_rationale_857 caddy_manager_caddyconfiggenerator uses e admin_rationale_857 player_edit_playeredit uses e admin_rationale_857 player_user_playeruser uses e admin_rationale_887 caddy_manager_caddyconfiggenerator uses e admin_rationale_887 player_edit_playeredit uses e admin_rationale_887 player_user_playeruser uses e admin_rationale_996 caddy_manager_caddyconfiggenerator uses e admin_rationale_996 player_edit_playeredit uses e admin_rationale_996 player_user_playeruser uses e admin_rationale_1020 caddy_manager_caddyconfiggenerator uses e admin_rationale_1020 player_edit_playeredit uses e admin_rationale_1020 player_user_playeruser uses e admin_rationale_1029 caddy_manager_caddyconfiggenerator uses e admin_rationale_1029 player_edit_playeredit uses e admin_rationale_1029 player_user_playeruser uses e admin_rationale_1075 caddy_manager_caddyconfiggenerator uses e admin_rationale_1075 player_edit_playeredit uses e admin_rationale_1075 player_user_playeruser uses e home_scheianu_digiserver_v2_app_blueprints_content_old_py content_old_content_list contains e home_scheianu_digiserver_v2_app_blueprints_content_old_py content_old_upload_content contains e home_scheianu_digiserver_v2_app_blueprints_content_old_py content_old_edit_content contains e home_scheianu_digiserver_v2_app_blueprints_content_old_py content_old_delete_content contains e home_scheianu_digiserver_v2_app_blueprints_content_old_py content_old_delete_by_filename contains e home_scheianu_digiserver_v2_app_blueprints_content_old_py content_old_bulk_delete_content contains e home_scheianu_digiserver_v2_app_blueprints_content_old_py content_old_upload_progress_status contains e home_scheianu_digiserver_v2_app_blueprints_content_old_py content_old_preview_content contains e home_scheianu_digiserver_v2_app_blueprints_content_old_py content_old_download_content contains e home_scheianu_digiserver_v2_app_blueprints_content_old_py content_old_content_statistics contains e home_scheianu_digiserver_v2_app_blueprints_content_old_py content_old_check_duplicates contains e home_scheianu_digiserver_v2_app_blueprints_content_old_py content_old_content_groups_info contains e home_scheianu_digiserver_v2_app_blueprints_content_old_py content_old_rationale_1 rationale_for e content_old_content_list content_old_rationale_31 rationale_for e content_old_content_list logger_log_action calls e content_old_upload_content uploads_set_upload_progress calls e content_old_upload_content uploads_process_video_file calls e content_old_upload_content logger_log_action calls e content_old_upload_content content_content calls e content_old_edit_content content_old_rationale_225 rationale_for e content_old_edit_content logger_log_action calls e content_old_delete_content content_old_rationale_259 rationale_for e content_old_delete_content logger_log_action calls e content_old_delete_by_filename content_old_rationale_290 rationale_for e content_old_delete_by_filename logger_log_action calls e content_old_bulk_delete_content content_old_rationale_338 rationale_for e content_old_bulk_delete_content logger_log_action calls e content_old_upload_progress_status content_old_rationale_375 rationale_for e content_old_upload_progress_status uploads_get_upload_progress calls e content_old_preview_content content_old_rationale_383 rationale_for e content_old_preview_content logger_log_action calls e content_old_download_content content_old_rationale_401 rationale_for e content_old_download_content logger_log_action calls e content_old_content_statistics content_old_rationale_420 rationale_for e content_old_content_statistics logger_log_action calls e content_old_check_duplicates content_old_rationale_454 rationale_for e content_old_check_duplicates logger_log_action calls e content_old_content_groups_info content_old_rationale_479 rationale_for e content_old_content_groups_info logger_log_action calls e home_scheianu_digiserver_v2_app_blueprints_content_py content_content_list contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_media_library contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_delete_media contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_create_playlist contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_delete_playlist contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_manage_playlist_content contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_add_content_to_playlist contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_add_weblink contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_add_weblink_to_playlist contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_remove_content_from_playlist contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_bulk_remove_from_playlist contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_reorder_playlist_content contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_update_playlist_content_muted contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_update_playlist_content_edit_enabled contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_update_playlist_content_duration contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_upload_media_page contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_process_image_file contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_process_video_file_extended contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_process_pdf_file contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_process_file_in_background contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_process_presentation_file contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_create_fullhd_image contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_resize_image_to_fullhd contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_optimize_image_to_fullhd contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_upload_media contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_assign_player_to_playlist contains e home_scheianu_digiserver_v2_app_blueprints_content_py content_rationale_1 rationale_for e content_content_list content_rationale_28 rationale_for e content_media_library content_rationale_44 rationale_for e content_delete_media content_rationale_72 rationale_for e content_delete_media players_list calls e content_delete_media logger_log_action calls e content_create_playlist content_rationale_136 rationale_for e content_create_playlist playlist_playlist calls e content_create_playlist logger_log_action calls e content_delete_playlist logger_log_action calls e content_manage_playlist_content content_rationale_201 rationale_for e content_manage_playlist_content playlist_playlist_get_content_ordered calls e content_add_content_to_playlist content_rationale_223 rationale_for e content_add_content_to_playlist playlist_playlist_increment_version calls e content_add_content_to_playlist logger_log_action calls e content_add_weblink content_rationale_273 rationale_for e content_add_weblink content_content calls e content_add_weblink playlist_playlist_increment_version calls e content_add_weblink logger_log_action calls e content_add_weblink_to_playlist content_rationale_353 rationale_for e content_add_weblink_to_playlist content_content calls e content_add_weblink_to_playlist playlist_playlist_increment_version calls e content_add_weblink_to_playlist logger_log_action calls e content_remove_content_from_playlist content_rationale_419 rationale_for e content_remove_content_from_playlist playlist_playlist_increment_version calls e content_remove_content_from_playlist logger_log_action calls e content_bulk_remove_from_playlist content_rationale_456 rationale_for e content_bulk_remove_from_playlist playlist_playlist_increment_version calls e content_bulk_remove_from_playlist logger_log_action calls e content_reorder_playlist_content content_rationale_498 rationale_for e content_reorder_playlist_content playlist_playlist_increment_version calls e content_reorder_playlist_content logger_log_action calls e content_update_playlist_content_muted content_rationale_539 rationale_for e content_update_playlist_content_muted playlist_playlist_increment_version calls e content_update_playlist_content_muted logger_log_action calls e content_update_playlist_content_edit_enabled content_rationale_580 rationale_for e content_update_playlist_content_edit_enabled playlist_playlist_increment_version calls e content_update_playlist_content_edit_enabled logger_log_action calls e content_update_playlist_content_duration content_rationale_621 rationale_for e content_update_playlist_content_duration playlist_playlist_increment_version calls e content_update_playlist_content_duration logger_log_action calls e content_upload_media_page content_rationale_671 rationale_for e content_process_image_file content_upload_media calls e content_process_image_file content_rationale_677 rationale_for e content_process_image_file logger_log_action calls e content_process_video_file_extended content_process_file_in_background calls e content_process_video_file_extended content_upload_media calls e content_process_video_file_extended content_rationale_703 rationale_for e content_process_video_file_extended logger_log_action calls e content_process_pdf_file content_process_file_in_background calls e content_process_pdf_file content_upload_media calls e content_process_pdf_file content_rationale_728 rationale_for e content_process_pdf_file logger_log_action calls e content_process_file_in_background content_process_presentation_file calls e content_process_file_in_background content_rationale_800 rationale_for e content_process_file_in_background content_content calls e content_process_file_in_background logger_log_action calls e content_process_presentation_file content_resize_image_to_fullhd calls e content_process_presentation_file content_upload_media calls e content_process_presentation_file content_rationale_978 rationale_for e content_process_presentation_file logger_log_action calls e content_process_presentation_file players_list calls e content_create_fullhd_image content_optimize_image_to_fullhd calls e content_create_fullhd_image content_rationale_1121 rationale_for e content_resize_image_to_fullhd content_rationale_1146 rationale_for e content_resize_image_to_fullhd logger_log_action calls e content_optimize_image_to_fullhd content_rationale_1204 rationale_for e content_optimize_image_to_fullhd logger_log_action calls e content_upload_media content_rationale_1221 rationale_for e content_upload_media logger_log_action calls e content_upload_media content_content calls e content_upload_media playlist_playlist_increment_version calls e content_assign_player_to_playlist content_rationale_1495 rationale_for e content_assign_player_to_playlist logger_log_action calls e content_rationale_1 home_scheianu_digiserver_v2_app_models_content_py rationale_for e content_rationale_1 player_edit_playeredit uses e content_rationale_28 player_edit_playeredit uses e content_rationale_44 player_edit_playeredit uses e content_rationale_72 player_edit_playeredit uses e content_rationale_136 player_edit_playeredit uses e content_rationale_201 player_edit_playeredit uses e content_rationale_223 player_edit_playeredit uses e content_rationale_273 player_edit_playeredit uses e content_rationale_353 player_edit_playeredit uses e content_rationale_419 player_edit_playeredit uses e content_rationale_456 player_edit_playeredit uses e content_rationale_498 player_edit_playeredit uses e content_rationale_539 player_edit_playeredit uses e content_rationale_580 player_edit_playeredit uses e content_rationale_621 player_edit_playeredit uses e content_rationale_671 player_edit_playeredit uses e content_rationale_677 player_edit_playeredit uses e content_rationale_703 player_edit_playeredit uses e content_rationale_728 player_edit_playeredit uses e content_rationale_800 player_edit_playeredit uses e content_rationale_978 player_edit_playeredit uses e content_rationale_1121 player_edit_playeredit uses e content_rationale_1146 player_edit_playeredit uses e content_rationale_1204 player_edit_playeredit uses e content_rationale_1221 player_edit_playeredit uses e content_rationale_1495 player_edit_playeredit uses e home_scheianu_digiserver_v2_app_blueprints_init_py init_rationale_1 rationale_for e init_rationale_1 home_scheianu_digiserver_v2_app_utils_init_py rationale_for e init_rationale_1 home_scheianu_digiserver_v2_app_models_init_py rationale_for e init_rationale_1 user_user uses e init_rationale_1 player_player uses e init_rationale_1 group_group uses e init_rationale_1 playlist_playlist uses e init_rationale_1 content_content uses e init_rationale_1 server_log_serverlog uses e init_rationale_1 player_feedback_playerfeedback uses e init_rationale_1 player_edit_playeredit uses e init_rationale_1 player_user_playeruser uses e init_rationale_1 https_config_httpsconfig uses e home_scheianu_digiserver_v2_app_blueprints_api_py api_rate_limit contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_verify_player_auth contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_health_check contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_get_server_certificate contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_authenticate_player contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_verify_auth_code contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_get_playlist_by_quickconnect contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_get_player_playlist contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_get_playlist_version contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_get_cached_playlist contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_receive_player_feedback contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_get_player_status contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_get_upload_progress contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_system_info contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_list_content contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_get_logs contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_receive_edited_media contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_test_ssh_connection contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_deploy_player contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_api_not_found contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_method_not_allowed contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_internal_error contains e home_scheianu_digiserver_v2_app_blueprints_api_py api_rationale_1 rationale_for e api_rate_limit api_rationale_22 rationale_for e api_verify_player_auth api_rationale_65 rationale_for e api_health_check api_rationale_91 rationale_for e api_get_server_certificate api_rationale_101 rationale_for e api_authenticate_player api_rationale_108 rationale_for e api_authenticate_player player_authenticate calls e api_authenticate_player logger_log_action calls e api_authenticate_player player_player_update_status calls e api_verify_auth_code api_rationale_164 rationale_for e api_verify_auth_code player_player_update_status calls e api_get_playlist_by_quickconnect api_get_cached_playlist calls e api_get_playlist_by_quickconnect api_rationale_208 rationale_for e api_get_playlist_by_quickconnect logger_log_action calls e api_get_playlist_by_quickconnect player_player_check_quickconnect_code calls e api_get_player_playlist api_get_cached_playlist calls e api_get_player_playlist api_rationale_306 rationale_for e api_get_player_playlist logger_log_action calls e api_get_playlist_version api_rationale_350 rationale_for e api_get_playlist_version logger_log_action calls e api_get_cached_playlist api_rationale_379 rationale_for e api_get_cached_playlist playlist_playlist_get_content_ordered calls e api_receive_player_feedback api_rationale_430 rationale_for e api_receive_player_feedback logger_log_action calls e api_receive_player_feedback player_player_check_quickconnect_code calls e api_receive_player_feedback player_feedback_playerfeedback calls e api_get_player_status api_rationale_541 rationale_for e api_get_player_status logger_log_action calls e api_get_upload_progress api_rationale_578 rationale_for e api_get_upload_progress logger_log_action calls e api_system_info api_rationale_592 rationale_for e api_system_info logger_log_action calls e api_list_content api_rationale_656 rationale_for e api_list_content logger_log_action calls e api_get_logs api_rationale_685 rationale_for e api_get_logs logger_log_action calls e api_receive_edited_media api_rationale_737 rationale_for e api_receive_edited_media group_group calls e api_receive_edited_media logger_log_action calls e api_receive_edited_media player_user_playeruser calls e api_receive_edited_media player_edit_playeredit calls e api_test_ssh_connection api_rationale_937 rationale_for e api_test_ssh_connection logger_log_action calls e api_deploy_player api_rationale_981 rationale_for e api_deploy_player ssh_deploy_deploy_player_to_host calls e api_deploy_player logger_log_action calls e api_api_not_found api_rationale_1050 rationale_for e api_method_not_allowed api_rationale_1056 rationale_for e api_internal_error api_rationale_1062 rationale_for e api_rationale_1 player_edit_playeredit uses e api_rationale_1 player_user_playeruser uses e api_rationale_1 playlist_playlist uses e api_rationale_22 player_edit_playeredit uses e api_rationale_22 player_user_playeruser uses e api_rationale_22 playlist_playlist uses e api_rationale_65 player_edit_playeredit uses e api_rationale_65 player_user_playeruser uses e api_rationale_65 playlist_playlist uses e api_rationale_91 player_edit_playeredit uses e api_rationale_91 player_user_playeruser uses e api_rationale_91 playlist_playlist uses e api_rationale_101 player_edit_playeredit uses e api_rationale_101 player_user_playeruser uses e api_rationale_101 playlist_playlist uses e api_rationale_108 player_edit_playeredit uses e api_rationale_108 player_user_playeruser uses e api_rationale_108 playlist_playlist uses e api_rationale_164 player_edit_playeredit uses e api_rationale_164 player_user_playeruser uses e api_rationale_164 playlist_playlist uses e api_rationale_208 player_edit_playeredit uses e api_rationale_208 player_user_playeruser uses e api_rationale_208 playlist_playlist uses e api_rationale_306 player_edit_playeredit uses e api_rationale_306 player_user_playeruser uses e api_rationale_306 playlist_playlist uses e api_rationale_350 player_edit_playeredit uses e api_rationale_350 player_user_playeruser uses e api_rationale_350 playlist_playlist uses e api_rationale_379 player_edit_playeredit uses e api_rationale_379 player_user_playeruser uses e api_rationale_379 playlist_playlist uses e api_rationale_430 player_edit_playeredit uses e api_rationale_430 player_user_playeruser uses e api_rationale_430 playlist_playlist uses e api_rationale_541 player_edit_playeredit uses e api_rationale_541 player_user_playeruser uses e api_rationale_541 playlist_playlist uses e api_rationale_578 player_edit_playeredit uses e api_rationale_578 player_user_playeruser uses e api_rationale_578 playlist_playlist uses e api_rationale_592 player_edit_playeredit uses e api_rationale_592 player_user_playeruser uses e api_rationale_592 playlist_playlist uses e api_rationale_656 player_edit_playeredit uses e api_rationale_656 player_user_playeruser uses e api_rationale_656 playlist_playlist uses e api_rationale_685 player_edit_playeredit uses e api_rationale_685 player_user_playeruser uses e api_rationale_685 playlist_playlist uses e api_rationale_737 player_edit_playeredit uses e api_rationale_737 player_user_playeruser uses e api_rationale_737 playlist_playlist uses e api_rationale_937 player_edit_playeredit uses e api_rationale_937 player_user_playeruser uses e api_rationale_937 playlist_playlist uses e api_rationale_981 player_edit_playeredit uses e api_rationale_981 player_user_playeruser uses e api_rationale_981 playlist_playlist uses e api_rationale_1050 player_edit_playeredit uses e api_rationale_1050 player_user_playeruser uses e api_rationale_1050 playlist_playlist uses e api_rationale_1056 player_edit_playeredit uses e api_rationale_1056 player_user_playeruser uses e api_rationale_1056 playlist_playlist uses e api_rationale_1062 player_edit_playeredit uses e api_rationale_1062 player_user_playeruser uses e api_rationale_1062 playlist_playlist uses e home_scheianu_digiserver_v2_app_blueprints_players_py players_list contains e home_scheianu_digiserver_v2_app_blueprints_players_py players_add_player contains e home_scheianu_digiserver_v2_app_blueprints_players_py players_edit_player contains e home_scheianu_digiserver_v2_app_blueprints_players_py players_delete_player contains e home_scheianu_digiserver_v2_app_blueprints_players_py players_regenerate_auth_code contains e home_scheianu_digiserver_v2_app_blueprints_players_py players_player_page contains e home_scheianu_digiserver_v2_app_blueprints_players_py players_manage_player contains e home_scheianu_digiserver_v2_app_blueprints_players_py players_edited_media contains e home_scheianu_digiserver_v2_app_blueprints_players_py players_edited_media_report contains e home_scheianu_digiserver_v2_app_blueprints_players_py players_player_fullscreen contains e home_scheianu_digiserver_v2_app_blueprints_players_py players_get_player_playlist contains e home_scheianu_digiserver_v2_app_blueprints_players_py players_reorder_content contains e home_scheianu_digiserver_v2_app_blueprints_players_py players_bulk_delete_players contains e home_scheianu_digiserver_v2_app_blueprints_players_py players_bulk_assign_playlist contains e home_scheianu_digiserver_v2_app_blueprints_players_py players_deployment_status contains e home_scheianu_digiserver_v2_app_blueprints_players_py players_reorder_playlist contains e home_scheianu_digiserver_v2_app_blueprints_players_py players_remove_from_playlist contains e home_scheianu_digiserver_v2_app_blueprints_players_py players_rationale_1 rationale_for e players_list players_rationale_20 rationale_for e players_list group_player_management_get_player_status_info calls e players_list logger_log_action calls e players_list nginx_config_reader_nginxconfigreader_extract_http_ports calls e players_list nginx_config_reader_nginxconfigreader_extract_https_ports calls e players_list test_edit_media_api_get_sample_content calls e players_add_player players_rationale_57 rationale_for e players_add_player player_player calls e players_add_player player_player_set_password calls e players_add_player player_player_set_quickconnect_code calls e players_add_player logger_log_action calls e players_add_player player_build_get_player_server_settings calls e players_add_player https_config_get_config calls e players_add_player ssh_deploy_detect_server_ip calls e players_add_player background_tasks_run_background_task calls e players_edit_player logger_log_action calls e players_delete_player logger_log_action calls e players_regenerate_auth_code players_rationale_299 rationale_for e players_regenerate_auth_code logger_log_action calls e players_player_page players_rationale_322 rationale_for e players_manage_player players_rationale_329 rationale_for e players_manage_player player_player_set_password calls e players_manage_player logger_log_action calls e players_manage_player player_player_set_quickconnect_code calls e players_manage_player group_player_management_get_player_status_info calls e players_edited_media players_rationale_446 rationale_for e players_edited_media logger_log_action calls e players_edited_media_report players_rationale_490 rationale_for e players_edited_media_report logger_log_action calls e players_player_fullscreen players_get_player_playlist calls e players_player_fullscreen players_rationale_523 rationale_for e players_player_fullscreen logger_log_action calls e players_get_player_playlist players_rationale_546 rationale_for e players_get_player_playlist playlist_playlist_get_content_ordered calls e players_reorder_content players_rationale_591 rationale_for e players_bulk_delete_players players_rationale_601 rationale_for e players_bulk_delete_players logger_log_action calls e players_bulk_assign_playlist players_rationale_633 rationale_for e players_bulk_assign_playlist logger_log_action calls e players_deployment_status players_rationale_670 rationale_for e players_deployment_status logger_log_action calls e players_reorder_playlist players_rationale_694 rationale_for e players_reorder_playlist logger_log_action calls e players_remove_from_playlist players_rationale_747 rationale_for e players_remove_from_playlist logger_log_action calls e players_rationale_1 https_config_httpsconfig uses e players_rationale_1 player_edit_playeredit uses e players_rationale_1 player_user_playeruser uses e players_rationale_20 https_config_httpsconfig uses e players_rationale_20 player_edit_playeredit uses e players_rationale_20 player_user_playeruser uses e players_rationale_57 https_config_httpsconfig uses e players_rationale_57 player_edit_playeredit uses e players_rationale_57 player_user_playeruser uses e players_rationale_299 https_config_httpsconfig uses e players_rationale_299 player_edit_playeredit uses e players_rationale_299 player_user_playeruser uses e players_rationale_322 https_config_httpsconfig uses e players_rationale_322 player_edit_playeredit uses e players_rationale_322 player_user_playeruser uses e players_rationale_329 https_config_httpsconfig uses e players_rationale_329 player_edit_playeredit uses e players_rationale_329 player_user_playeruser uses e players_rationale_446 https_config_httpsconfig uses e players_rationale_446 player_edit_playeredit uses e players_rationale_446 player_user_playeruser uses e players_rationale_490 https_config_httpsconfig uses e players_rationale_490 player_edit_playeredit uses e players_rationale_490 player_user_playeruser uses e players_rationale_523 https_config_httpsconfig uses e players_rationale_523 player_edit_playeredit uses e players_rationale_523 player_user_playeruser uses e players_rationale_546 https_config_httpsconfig uses e players_rationale_546 player_edit_playeredit uses e players_rationale_546 player_user_playeruser uses e players_rationale_591 https_config_httpsconfig uses e players_rationale_591 player_edit_playeredit uses e players_rationale_591 player_user_playeruser uses e players_rationale_601 https_config_httpsconfig uses e players_rationale_601 player_edit_playeredit uses e players_rationale_601 player_user_playeruser uses e players_rationale_633 https_config_httpsconfig uses e players_rationale_633 player_edit_playeredit uses e players_rationale_633 player_user_playeruser uses e players_rationale_670 https_config_httpsconfig uses e players_rationale_670 player_edit_playeredit uses e players_rationale_670 player_user_playeruser uses e players_rationale_694 https_config_httpsconfig uses e players_rationale_694 player_edit_playeredit uses e players_rationale_694 player_user_playeruser uses e players_rationale_747 https_config_httpsconfig uses e players_rationale_747 player_edit_playeredit uses e players_rationale_747 player_user_playeruser uses e home_scheianu_digiserver_v2_app_blueprints_auth_py auth_login contains e home_scheianu_digiserver_v2_app_blueprints_auth_py auth_logout contains e home_scheianu_digiserver_v2_app_blueprints_auth_py auth_register contains e home_scheianu_digiserver_v2_app_blueprints_auth_py auth_change_password contains e home_scheianu_digiserver_v2_app_blueprints_auth_py auth_rationale_1 rationale_for e auth_login logger_log_action calls e auth_logout logger_log_action calls e auth_register user_user calls e auth_change_password logger_log_action calls e home_scheianu_digiserver_v2_app_blueprints_playlist_py playlist_manage_playlist contains e home_scheianu_digiserver_v2_app_blueprints_playlist_py playlist_add_to_playlist contains e home_scheianu_digiserver_v2_app_blueprints_playlist_py playlist_remove_from_playlist contains e home_scheianu_digiserver_v2_app_blueprints_playlist_py playlist_reorder_playlist contains e home_scheianu_digiserver_v2_app_blueprints_playlist_py playlist_update_duration contains e home_scheianu_digiserver_v2_app_blueprints_playlist_py playlist_update_muted contains e home_scheianu_digiserver_v2_app_blueprints_playlist_py playlist_clear_playlist contains e home_scheianu_digiserver_v2_app_blueprints_playlist_py playlist_rationale_1 rationale_for e playlist_manage_playlist playlist_rationale_19 rationale_for e playlist_add_to_playlist playlist_rationale_34 rationale_for e playlist_add_to_playlist playlist_playlist_increment_version calls e playlist_add_to_playlist logger_log_action calls e playlist_remove_from_playlist playlist_rationale_89 rationale_for e playlist_remove_from_playlist playlist_playlist_increment_version calls e playlist_remove_from_playlist logger_log_action calls e playlist_reorder_playlist playlist_rationale_144 rationale_for e playlist_reorder_playlist playlist_playlist_increment_version calls e playlist_reorder_playlist logger_log_action calls e playlist_update_duration playlist_rationale_191 rationale_for e playlist_update_duration playlist_playlist_increment_version calls e playlist_update_duration logger_log_action calls e playlist_update_muted playlist_rationale_236 rationale_for e playlist_update_muted playlist_playlist_increment_version calls e playlist_update_muted logger_log_action calls e playlist_clear_playlist playlist_rationale_279 rationale_for e playlist_clear_playlist playlist_playlist_increment_version calls e playlist_clear_playlist logger_log_action calls e playlist_rationale_1 home_scheianu_digiserver_v2_app_models_playlist_py rationale_for e playlist_rationale_1 content_content uses e home_scheianu_digiserver_v2_app_blueprints_main_py main_dashboard contains e home_scheianu_digiserver_v2_app_blueprints_main_py main_health contains e home_scheianu_digiserver_v2_app_blueprints_main_py main_rationale_1 rationale_for e main_dashboard logger_get_recent_logs calls e main_health main_rationale_50 rationale_for e main_rationale_1 player_player uses e main_rationale_1 playlist_playlist uses e main_rationale_1 content_content uses e main_rationale_50 player_player uses e main_rationale_50 playlist_playlist uses e main_rationale_50 content_content uses e home_scheianu_digiserver_v2_app_utils_script_name_fix_py script_name_fix_scriptnamefix contains e home_scheianu_digiserver_v2_app_utils_script_name_fix_py script_name_fix_rationale_1 rationale_for e script_name_fix_scriptnamefix script_name_fix_scriptnamefix_init method e script_name_fix_scriptnamefix script_name_fix_scriptnamefix_call method e home_scheianu_digiserver_v2_app_utils_portal_sso_py portal_sso_init_portal_sso contains e home_scheianu_digiserver_v2_app_utils_portal_sso_py portal_sso_get_or_create_user contains e home_scheianu_digiserver_v2_app_utils_portal_sso_py portal_sso_rationale_1 rationale_for e portal_sso_init_portal_sso portal_sso_rationale_18 rationale_for e portal_sso_get_or_create_user user_user calls e portal_sso_rationale_1 user_user uses e portal_sso_rationale_18 user_user uses e home_scheianu_digiserver_v2_app_utils_caddy_manager_py caddy_manager_caddyconfiggenerator contains e home_scheianu_digiserver_v2_app_utils_caddy_manager_py caddy_manager_generate_caddyfile contains e home_scheianu_digiserver_v2_app_utils_caddy_manager_py caddy_manager_write_caddyfile contains e home_scheianu_digiserver_v2_app_utils_caddy_manager_py caddy_manager_reload_caddy contains e home_scheianu_digiserver_v2_app_utils_caddy_manager_py caddy_manager_rationale_1 rationale_for e caddy_manager_caddyconfiggenerator caddy_manager_rationale_37 rationale_for e caddy_manager_caddyconfiggenerator https_config_httpsconfig uses e caddy_manager_generate_caddyfile https_config_get_config calls e caddy_manager_reload_caddy https_config_get_config calls e caddy_manager_rationale_1 https_config_httpsconfig uses e caddy_manager_rationale_37 https_config_httpsconfig uses e caddy_manager_rationale_41 https_config_httpsconfig uses e caddy_manager_rationale_83 https_config_httpsconfig uses e caddy_manager_rationale_99 https_config_httpsconfig uses e caddy_manager_rationale_231 https_config_httpsconfig uses e caddy_manager_rationale_250 https_config_httpsconfig uses e home_scheianu_digiserver_v2_app_utils_group_player_management_py group_player_management_get_player_status_info contains e home_scheianu_digiserver_v2_app_utils_group_player_management_py group_player_management_get_group_statistics contains e home_scheianu_digiserver_v2_app_utils_group_player_management_py group_player_management_assign_player_to_group contains e home_scheianu_digiserver_v2_app_utils_group_player_management_py group_player_management_bulk_assign_players_to_group contains e home_scheianu_digiserver_v2_app_utils_group_player_management_py group_player_management_get_online_players_count contains e home_scheianu_digiserver_v2_app_utils_group_player_management_py group_player_management_get_players_by_status contains e home_scheianu_digiserver_v2_app_utils_group_player_management_py group_player_management_format_time_ago contains e home_scheianu_digiserver_v2_app_utils_group_player_management_py group_player_management_rationale_1 rationale_for e group_player_management_get_player_status_info group_player_management_format_time_ago calls e group_player_management_get_player_status_info group_player_management_rationale_11 rationale_for e group_player_management_get_player_status_info blueprint_groups_manage_group calls e group_player_management_get_player_status_info blueprint_groups_group_fullscreen calls e group_player_management_get_group_statistics group_player_management_rationale_55 rationale_for e group_player_management_get_group_statistics blueprint_groups_groups_list calls e group_player_management_get_group_statistics blueprint_groups_group_stats calls e group_player_management_assign_player_to_group group_player_management_rationale_99 rationale_for e group_player_management_assign_player_to_group logger_log_action calls e group_player_management_bulk_assign_players_to_group group_player_management_rationale_134 rationale_for e group_player_management_bulk_assign_players_to_group logger_log_action calls e group_player_management_get_online_players_count group_player_management_rationale_169 rationale_for e group_player_management_get_players_by_status group_player_management_rationale_179 rationale_for e group_player_management_format_time_ago group_player_management_rationale_191 rationale_for e home_scheianu_digiserver_v2_app_utils_ssh_deploy_py ssh_deploy_get_local_player_code_status contains e home_scheianu_digiserver_v2_app_utils_ssh_deploy_py ssh_deploy_test_ssh_connection contains e home_scheianu_digiserver_v2_app_utils_ssh_deploy_py ssh_deploy_generate_player_config contains e home_scheianu_digiserver_v2_app_utils_ssh_deploy_py ssh_deploy_detect_server_ip contains e home_scheianu_digiserver_v2_app_utils_ssh_deploy_py ssh_deploy_parse_server_address contains e home_scheianu_digiserver_v2_app_utils_ssh_deploy_py ssh_deploy_generate_app_config contains e home_scheianu_digiserver_v2_app_utils_ssh_deploy_py ssh_deploy_deploy_player_to_host contains e home_scheianu_digiserver_v2_app_utils_ssh_deploy_py ssh_deploy_rationale_1 rationale_for e ssh_deploy_get_local_player_code_status ssh_deploy_deploy_player_to_host calls e ssh_deploy_get_local_player_code_status ssh_deploy_rationale_16 rationale_for e ssh_deploy_test_ssh_connection ssh_deploy_deploy_player_to_host calls e ssh_deploy_test_ssh_connection ssh_deploy_rationale_86 rationale_for e ssh_deploy_generate_player_config ssh_deploy_rationale_156 rationale_for e ssh_deploy_detect_server_ip ssh_deploy_rationale_209 rationale_for e ssh_deploy_parse_server_address ssh_deploy_deploy_player_to_host calls e ssh_deploy_parse_server_address ssh_deploy_rationale_242 rationale_for e ssh_deploy_generate_app_config ssh_deploy_deploy_player_to_host calls e ssh_deploy_generate_app_config ssh_deploy_rationale_277 rationale_for e ssh_deploy_generate_app_config player_build_write_base_config calls e ssh_deploy_deploy_player_to_host ssh_deploy_rationale_326 rationale_for e ssh_deploy_deploy_player_to_host background_tasks_background_player_deployment calls e home_scheianu_digiserver_v2_app_utils_pptx_converter_py pptx_converter_cleanup_libreoffice_processes contains e home_scheianu_digiserver_v2_app_utils_pptx_converter_py pptx_converter_pptx_to_pdf_libreoffice contains e home_scheianu_digiserver_v2_app_utils_pptx_converter_py pptx_converter_validate_pptx_file contains e home_scheianu_digiserver_v2_app_utils_pptx_converter_py pptx_converter_rationale_1 rationale_for e pptx_converter_cleanup_libreoffice_processes pptx_converter_pptx_to_pdf_libreoffice calls e pptx_converter_cleanup_libreoffice_processes pptx_converter_rationale_12 rationale_for e pptx_converter_pptx_to_pdf_libreoffice pptx_converter_rationale_21 rationale_for e pptx_converter_validate_pptx_file pptx_converter_rationale_87 rationale_for e home_scheianu_digiserver_v2_app_utils_uploads_py uploads_get_upload_progress contains e home_scheianu_digiserver_v2_app_utils_uploads_py uploads_set_upload_progress contains e home_scheianu_digiserver_v2_app_utils_uploads_py uploads_clear_upload_progress contains e home_scheianu_digiserver_v2_app_utils_uploads_py uploads_save_uploaded_file contains e home_scheianu_digiserver_v2_app_utils_uploads_py uploads_process_video_file contains e home_scheianu_digiserver_v2_app_utils_uploads_py uploads_process_pdf_file contains e home_scheianu_digiserver_v2_app_utils_uploads_py uploads_get_file_size contains e home_scheianu_digiserver_v2_app_utils_uploads_py uploads_delete_file contains e home_scheianu_digiserver_v2_app_utils_uploads_py uploads_rationale_1 rationale_for e uploads_get_upload_progress uploads_rationale_18 rationale_for e uploads_set_upload_progress uploads_process_video_file calls e uploads_set_upload_progress uploads_process_pdf_file calls e uploads_set_upload_progress uploads_rationale_35 rationale_for e uploads_clear_upload_progress uploads_rationale_51 rationale_for e uploads_save_uploaded_file uploads_rationale_62 rationale_for e uploads_save_uploaded_file logger_log_action calls e uploads_process_video_file uploads_rationale_95 rationale_for e uploads_process_video_file logger_log_action calls e uploads_process_pdf_file uploads_rationale_177 rationale_for e uploads_process_pdf_file logger_log_action calls e uploads_get_file_size uploads_rationale_210 rationale_for e uploads_delete_file uploads_rationale_225 rationale_for e uploads_delete_file logger_log_action calls e home_scheianu_digiserver_v2_app_utils_logger_py logger_log_action contains e home_scheianu_digiserver_v2_app_utils_logger_py logger_get_recent_logs contains e home_scheianu_digiserver_v2_app_utils_logger_py logger_clear_old_logs contains e home_scheianu_digiserver_v2_app_utils_logger_py logger_log_info contains e home_scheianu_digiserver_v2_app_utils_logger_py logger_log_warning contains e home_scheianu_digiserver_v2_app_utils_logger_py logger_log_error contains e home_scheianu_digiserver_v2_app_utils_logger_py logger_rationale_1 rationale_for e logger_log_action logger_clear_old_logs calls e logger_log_action logger_log_info calls e logger_log_action logger_log_warning calls e logger_log_action logger_log_error calls e logger_log_action logger_rationale_10 rationale_for e logger_log_action server_log_serverlog calls e logger_log_action background_tasks_background_player_deployment calls e logger_log_action blueprint_groups_groups_list calls e logger_log_action blueprint_groups_create_group calls e logger_log_action blueprint_groups_edit_group calls e logger_log_action blueprint_groups_delete_group calls e logger_log_action blueprint_groups_manage_group calls e logger_log_action blueprint_groups_group_fullscreen calls e logger_log_action blueprint_groups_add_player_to_group calls e logger_log_action blueprint_groups_remove_player_from_group calls e logger_log_action blueprint_groups_add_content_to_group calls e logger_log_action blueprint_groups_remove_content_from_group calls e logger_log_action blueprint_groups_reorder_group_content calls e logger_log_action blueprint_groups_group_stats calls e logger_get_recent_logs logger_rationale_27 rationale_for e logger_clear_old_logs logger_rationale_45 rationale_for e logger_log_info logger_rationale_67 rationale_for e logger_log_warning logger_rationale_72 rationale_for e logger_log_error logger_rationale_77 rationale_for e logger_rationale_1 server_log_serverlog uses e logger_rationale_10 server_log_serverlog uses e logger_rationale_27 server_log_serverlog uses e logger_rationale_45 server_log_serverlog uses e logger_rationale_67 server_log_serverlog uses e logger_rationale_72 server_log_serverlog uses e logger_rationale_77 server_log_serverlog uses e home_scheianu_digiserver_v2_app_utils_player_build_py player_build_run_git contains e home_scheianu_digiserver_v2_app_utils_player_build_py player_build_get_short_head contains e home_scheianu_digiserver_v2_app_utils_player_build_py player_build_build_player_files contains e home_scheianu_digiserver_v2_app_utils_player_build_py player_build_write_base_config contains e home_scheianu_digiserver_v2_app_utils_player_build_py player_build_load_build_settings contains e home_scheianu_digiserver_v2_app_utils_player_build_py player_build_save_build_settings contains e home_scheianu_digiserver_v2_app_utils_player_build_py player_build_get_player_server_settings contains e home_scheianu_digiserver_v2_app_utils_player_build_py player_build_make_build_record contains e home_scheianu_digiserver_v2_app_utils_player_build_py player_build_rationale_1 rationale_for e player_build_run_git player_build_get_short_head calls e player_build_run_git player_build_build_player_files calls e player_build_get_short_head player_build_build_player_files calls e player_build_get_short_head player_build_rationale_39 rationale_for e player_build_build_player_files player_build_rationale_50 rationale_for e player_build_write_base_config player_build_rationale_137 rationale_for e player_build_load_build_settings player_build_get_player_server_settings calls e player_build_load_build_settings player_build_rationale_166 rationale_for e player_build_save_build_settings player_build_rationale_177 rationale_for e player_build_get_player_server_settings player_build_rationale_189 rationale_for e player_build_make_build_record player_build_rationale_210 rationale_for e home_scheianu_digiserver_v2_app_utils_nginx_config_reader_py nginx_config_reader_nginxconfigreader contains e home_scheianu_digiserver_v2_app_utils_nginx_config_reader_py nginx_config_reader_get_nginx_status contains e home_scheianu_digiserver_v2_app_utils_nginx_config_reader_py nginx_config_reader_rationale_1 rationale_for e nginx_config_reader_nginxconfigreader nginx_config_reader_nginxconfigreader_init method e nginx_config_reader_nginxconfigreader nginx_config_reader_nginxconfigreader_get_status method e nginx_config_reader_nginxconfigreader nginx_config_reader_nginxconfigreader_check_ssl_enabled method e nginx_config_reader_nginxconfigreader nginx_config_reader_nginxconfigreader_extract_http_ports method e nginx_config_reader_nginxconfigreader nginx_config_reader_nginxconfigreader_extract_https_ports method e nginx_config_reader_nginxconfigreader nginx_config_reader_nginxconfigreader_extract_upstream_servers method e nginx_config_reader_nginxconfigreader nginx_config_reader_nginxconfigreader_extract_server_names method e nginx_config_reader_nginxconfigreader nginx_config_reader_nginxconfigreader_extract_ssl_protocols method e nginx_config_reader_nginxconfigreader nginx_config_reader_nginxconfigreader_extract_client_max_body_size method e nginx_config_reader_nginxconfigreader nginx_config_reader_nginxconfigreader_check_gzip_enabled method e nginx_config_reader_nginxconfigreader nginx_config_reader_get_nginx_status calls e nginx_config_reader_nginxconfigreader nginx_config_reader_rationale_8 rationale_for e nginx_config_reader_nginxconfigreader_init nginx_config_reader_rationale_11 rationale_for e nginx_config_reader_nginxconfigreader_get_status nginx_config_reader_nginxconfigreader_check_ssl_enabled calls e nginx_config_reader_nginxconfigreader_get_status nginx_config_reader_nginxconfigreader_extract_http_ports calls e nginx_config_reader_nginxconfigreader_get_status nginx_config_reader_nginxconfigreader_extract_https_ports calls e nginx_config_reader_nginxconfigreader_get_status nginx_config_reader_nginxconfigreader_extract_upstream_servers calls e nginx_config_reader_nginxconfigreader_get_status nginx_config_reader_nginxconfigreader_extract_server_names calls e nginx_config_reader_nginxconfigreader_get_status nginx_config_reader_nginxconfigreader_extract_ssl_protocols calls e nginx_config_reader_nginxconfigreader_get_status nginx_config_reader_nginxconfigreader_extract_client_max_body_size calls e nginx_config_reader_nginxconfigreader_get_status nginx_config_reader_nginxconfigreader_check_gzip_enabled calls e nginx_config_reader_nginxconfigreader_get_status nginx_config_reader_get_nginx_status calls e nginx_config_reader_nginxconfigreader_get_status nginx_config_reader_rationale_25 rationale_for e nginx_config_reader_nginxconfigreader_check_ssl_enabled nginx_config_reader_rationale_48 rationale_for e nginx_config_reader_nginxconfigreader_extract_http_ports nginx_config_reader_rationale_54 rationale_for e nginx_config_reader_nginxconfigreader_extract_https_ports nginx_config_reader_rationale_62 rationale_for e nginx_config_reader_nginxconfigreader_extract_upstream_servers nginx_config_reader_rationale_70 rationale_for e nginx_config_reader_nginxconfigreader_extract_upstream_servers group_group calls e nginx_config_reader_nginxconfigreader_extract_server_names nginx_config_reader_rationale_81 rationale_for e nginx_config_reader_nginxconfigreader_extract_ssl_protocols nginx_config_reader_rationale_93 rationale_for e nginx_config_reader_nginxconfigreader_extract_ssl_protocols group_group calls e nginx_config_reader_nginxconfigreader_extract_client_max_body_size nginx_config_reader_rationale_103 rationale_for e nginx_config_reader_nginxconfigreader_extract_client_max_body_size group_group calls e nginx_config_reader_nginxconfigreader_check_gzip_enabled nginx_config_reader_rationale_111 rationale_for e nginx_config_reader_get_nginx_status nginx_config_reader_rationale_118 rationale_for e home_scheianu_digiserver_v2_app_utils_background_tasks_py background_tasks_run_background_task contains e home_scheianu_digiserver_v2_app_utils_background_tasks_py background_tasks_background_player_deployment contains e home_scheianu_digiserver_v2_app_utils_background_tasks_py background_tasks_rationale_1 rationale_for e background_tasks_run_background_task background_tasks_rationale_10 rationale_for e background_tasks_background_player_deployment background_tasks_rationale_43 rationale_for e home_scheianu_digiserver_v2_app_models_player_feedback_py player_feedback_playerfeedback contains e home_scheianu_digiserver_v2_app_models_player_feedback_py player_feedback_is_error contains e home_scheianu_digiserver_v2_app_models_player_feedback_py player_feedback_age_seconds contains e home_scheianu_digiserver_v2_app_models_player_feedback_py player_feedback_get_latest_for_player contains e home_scheianu_digiserver_v2_app_models_player_feedback_py player_feedback_rationale_1 rationale_for e player_feedback_playerfeedback player_feedback_playerfeedback_repr method e player_feedback_playerfeedback player_feedback_rationale_9 rationale_for e player_feedback_playerfeedback_repr player_feedback_rationale_38 rationale_for e home_scheianu_digiserver_v2_app_models_https_config_py https_config_httpsconfig contains e home_scheianu_digiserver_v2_app_models_https_config_py https_config_get_config contains e home_scheianu_digiserver_v2_app_models_https_config_py https_config_create_or_update contains e home_scheianu_digiserver_v2_app_models_https_config_py https_config_rationale_1 rationale_for e https_config_httpsconfig https_config_httpsconfig_repr method e https_config_httpsconfig https_config_httpsconfig_to_dict method e https_config_httpsconfig https_config_rationale_9 rationale_for e https_config_httpsconfig_repr https_config_rationale_38 rationale_for e https_config_get_config https_config_create_or_update calls e https_config_httpsconfig_to_dict https_config_rationale_88 rationale_for e home_scheianu_digiserver_v2_app_models_user_py user_user contains e home_scheianu_digiserver_v2_app_models_user_py user_is_admin contains e home_scheianu_digiserver_v2_app_models_user_py user_rationale_1 rationale_for e user_user usermixin inherits e user_user user_user_repr method e user_user user_user_update_last_login method e user_user user_rationale_11 rationale_for e user_user_repr user_rationale_33 rationale_for e user_user_update_last_login user_rationale_42 rationale_for e home_scheianu_digiserver_v2_app_models_player_py player_player contains e home_scheianu_digiserver_v2_app_models_player_py player_is_online contains e home_scheianu_digiserver_v2_app_models_player_py player_authenticate contains e home_scheianu_digiserver_v2_app_models_player_py player_rationale_1 rationale_for e player_player player_player_repr method e player_player player_player_update_status method e player_player player_player_set_password method e player_player player_player_check_password method e player_player player_player_set_quickconnect_code method e player_player player_player_check_quickconnect_code method e player_player player_rationale_9 rationale_for e player_player_repr player_rationale_56 rationale_for e player_player_update_status player_rationale_68 rationale_for e player_player_set_password player_rationale_77 rationale_for e player_player_check_password player_authenticate calls e player_player_check_password player_rationale_86 rationale_for e player_player_set_quickconnect_code player_rationale_98 rationale_for e player_player_check_quickconnect_code player_authenticate calls e player_player_check_quickconnect_code player_rationale_107 rationale_for e home_scheianu_digiserver_v2_app_models_server_log_py server_log_serverlog contains e home_scheianu_digiserver_v2_app_models_server_log_py server_log_log_info contains e home_scheianu_digiserver_v2_app_models_server_log_py server_log_log_warning contains e home_scheianu_digiserver_v2_app_models_server_log_py server_log_log_error contains e home_scheianu_digiserver_v2_app_models_server_log_py server_log_rationale_1 rationale_for e server_log_serverlog server_log_serverlog_repr method e server_log_serverlog server_log_rationale_9 rationale_for e server_log_serverlog_repr server_log_rationale_26 rationale_for e home_scheianu_digiserver_v2_app_models_player_user_py player_user_playeruser contains e home_scheianu_digiserver_v2_app_models_player_user_py player_user_rationale_1 rationale_for e player_user_playeruser player_user_playeruser_repr method e player_user_playeruser player_user_playeruser_to_dict method e player_user_playeruser player_user_rationale_8 rationale_for e player_user_playeruser_repr player_user_rationale_26 rationale_for e player_user_playeruser_to_dict player_user_rationale_30 rationale_for e home_scheianu_digiserver_v2_app_models_group_py group_group contains e home_scheianu_digiserver_v2_app_models_group_py group_content_count contains e home_scheianu_digiserver_v2_app_models_group_py group_rationale_1 rationale_for e group_group group_group_repr method e group_group group_group_add_player method e group_group group_group_remove_player method e group_group group_rationale_16 rationale_for e group_group blueprint_groups_create_group calls e group_group_repr group_rationale_39 rationale_for e group_group_add_player group_rationale_50 rationale_for e group_group_remove_player group_rationale_59 rationale_for e home_scheianu_digiserver_v2_app_models_content_py content_content contains e home_scheianu_digiserver_v2_app_models_content_py content_file_size_mb contains e home_scheianu_digiserver_v2_app_models_content_py content_group_count contains e home_scheianu_digiserver_v2_app_models_content_py content_original_display_name contains e home_scheianu_digiserver_v2_app_models_content_py content_original_media_path contains e home_scheianu_digiserver_v2_app_models_content_py content_current_media_path contains e home_scheianu_digiserver_v2_app_models_content_py content_has_player_edits contains e content_content content_content_repr method e content_content content_content_is_image method e content_content content_content_is_video method e content_content content_content_is_pdf method e content_content content_content_is_weblink method e content_content content_rationale_9 rationale_for e content_content playlist_playlist uses e content_content playlist_rationale_20 uses e content_content playlist_rationale_49 uses e content_content playlist_rationale_54 uses e content_content playlist_rationale_59 uses e content_content playlist_rationale_64 uses e content_content playlist_rationale_71 uses e content_content playlist_rationale_76 uses e content_content_repr content_rationale_45 rationale_for e content_content_is_image content_rationale_83 rationale_for e content_content_is_video content_rationale_87 rationale_for e content_content_is_pdf content_rationale_91 rationale_for e content_content_is_weblink content_rationale_95 rationale_for e home_scheianu_digiserver_v2_app_models_player_edit_py player_edit_playeredit contains e home_scheianu_digiserver_v2_app_models_player_edit_py player_edit_rationale_1 rationale_for e player_edit_playeredit player_edit_playeredit_repr method e player_edit_playeredit player_edit_playeredit_to_dict method e player_edit_playeredit player_edit_rationale_9 rationale_for e player_edit_playeredit_repr player_edit_rationale_43 rationale_for e player_edit_playeredit_to_dict player_edit_rationale_47 rationale_for e home_scheianu_digiserver_v2_app_models_playlist_py playlist_playlist contains e home_scheianu_digiserver_v2_app_models_playlist_py playlist_player_count contains e home_scheianu_digiserver_v2_app_models_playlist_py playlist_content_count contains e home_scheianu_digiserver_v2_app_models_playlist_py playlist_total_duration contains e playlist_playlist playlist_playlist_repr method e playlist_playlist playlist_playlist_increment_version method e playlist_playlist playlist_playlist_get_content_ordered method e playlist_playlist playlist_rationale_20 rationale_for e playlist_playlist_repr playlist_rationale_49 rationale_for e playlist_playlist_increment_version playlist_rationale_71 rationale_for e playlist_playlist_get_content_ordered playlist_rationale_76 rationale_for e home_scheianu_digiserver_v2_old_code_documentation_fix_player_user_schema_py fix_player_user_schema_main contains e home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_simple_py test_edit_media_simple_test_edit_media_endpoint contains e test_edit_media_simple_test_edit_media_endpoint test_edit_media_simple_rationale_20 rationale_for e home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py test_edit_media_api_colors contains e home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py test_edit_media_api_print_section contains e home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py test_edit_media_api_print_success contains e home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py test_edit_media_api_print_error contains e home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py test_edit_media_api_print_info contains e home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py test_edit_media_api_print_warning contains e home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py test_edit_media_api_test_server_health contains e home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py test_edit_media_api_test_endpoint_exists contains e home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py test_edit_media_api_get_player_auth_code contains e home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py test_edit_media_api_get_sample_content contains e home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py test_edit_media_api_test_authentication contains e home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py test_edit_media_api_test_full_upload contains e home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py test_edit_media_api_check_database_integrity contains e home_scheianu_digiserver_v2_old_code_documentation_test_edit_media_api_py test_edit_media_api_main contains e test_edit_media_api_print_section test_edit_media_api_test_server_health calls e test_edit_media_api_print_section test_edit_media_api_test_endpoint_exists calls e test_edit_media_api_print_section test_edit_media_api_get_player_auth_code calls e test_edit_media_api_print_section test_edit_media_api_get_sample_content calls e test_edit_media_api_print_section test_edit_media_api_test_authentication calls e test_edit_media_api_print_section test_edit_media_api_test_full_upload calls e test_edit_media_api_print_section test_edit_media_api_check_database_integrity calls e test_edit_media_api_print_section test_edit_media_api_main calls e test_edit_media_api_print_section test_edit_media_api_rationale_26 rationale_for e test_edit_media_api_print_success test_edit_media_api_test_server_health calls e test_edit_media_api_print_success test_edit_media_api_test_endpoint_exists calls e test_edit_media_api_print_success test_edit_media_api_get_player_auth_code calls e test_edit_media_api_print_success test_edit_media_api_get_sample_content calls e test_edit_media_api_print_success test_edit_media_api_test_authentication calls e test_edit_media_api_print_success test_edit_media_api_test_full_upload calls e test_edit_media_api_print_success test_edit_media_api_check_database_integrity calls e test_edit_media_api_print_error test_edit_media_api_test_server_health calls e test_edit_media_api_print_error test_edit_media_api_test_endpoint_exists calls e test_edit_media_api_print_error test_edit_media_api_get_player_auth_code calls e test_edit_media_api_print_error test_edit_media_api_get_sample_content calls e test_edit_media_api_print_error test_edit_media_api_test_authentication calls e test_edit_media_api_print_error test_edit_media_api_test_full_upload calls e test_edit_media_api_print_error test_edit_media_api_check_database_integrity calls e test_edit_media_api_print_error test_edit_media_api_main calls e test_edit_media_api_print_info test_edit_media_api_test_endpoint_exists calls e test_edit_media_api_print_info test_edit_media_api_get_player_auth_code calls e test_edit_media_api_print_info test_edit_media_api_test_full_upload calls e test_edit_media_api_print_info test_edit_media_api_check_database_integrity calls e test_edit_media_api_print_info test_edit_media_api_main calls e test_edit_media_api_print_warning test_edit_media_api_test_endpoint_exists calls e test_edit_media_api_print_warning test_edit_media_api_get_player_auth_code calls e test_edit_media_api_print_warning test_edit_media_api_get_sample_content calls e test_edit_media_api_print_warning test_edit_media_api_test_authentication calls e test_edit_media_api_print_warning test_edit_media_api_main calls e test_edit_media_api_test_server_health test_edit_media_api_main calls e test_edit_media_api_test_server_health test_edit_media_api_rationale_44 rationale_for e test_edit_media_api_test_endpoint_exists test_edit_media_api_main calls e test_edit_media_api_test_endpoint_exists test_edit_media_api_rationale_66 rationale_for e test_edit_media_api_get_player_auth_code test_edit_media_api_main calls e test_edit_media_api_get_player_auth_code test_edit_media_api_rationale_98 rationale_for e test_edit_media_api_get_sample_content test_edit_media_api_main calls e test_edit_media_api_get_sample_content test_edit_media_api_rationale_138 rationale_for e test_edit_media_api_test_authentication test_edit_media_api_main calls e test_edit_media_api_test_authentication test_edit_media_api_rationale_172 rationale_for e test_edit_media_api_test_full_upload test_edit_media_api_main calls e test_edit_media_api_test_full_upload test_edit_media_api_rationale_203 rationale_for e test_edit_media_api_check_database_integrity test_edit_media_api_main calls e test_edit_media_api_check_database_integrity test_edit_media_api_rationale_272 rationale_for e test_edit_media_api_main test_edit_media_api_rationale_310 rationale_for e home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py blueprint_groups_groups_list contains e home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py blueprint_groups_create_group contains e home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py blueprint_groups_edit_group contains e home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py blueprint_groups_delete_group contains e home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py blueprint_groups_manage_group contains e home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py blueprint_groups_group_fullscreen contains e home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py blueprint_groups_add_player_to_group contains e home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py blueprint_groups_remove_player_from_group contains e home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py blueprint_groups_add_content_to_group contains e home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py blueprint_groups_remove_content_from_group contains e home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py blueprint_groups_reorder_group_content contains e home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py blueprint_groups_group_stats contains e home_scheianu_digiserver_v2_old_code_documentation_blueprint_groups_py blueprint_groups_rationale_1 rationale_for e blueprint_groups_groups_list blueprint_groups_rationale_17 rationale_for e blueprint_groups_manage_group blueprint_groups_rationale_176 rationale_for e blueprint_groups_group_fullscreen blueprint_groups_rationale_215 rationale_for e blueprint_groups_add_player_to_group blueprint_groups_rationale_240 rationale_for e blueprint_groups_remove_player_from_group blueprint_groups_rationale_270 rationale_for e blueprint_groups_add_content_to_group blueprint_groups_rationale_299 rationale_for e blueprint_groups_remove_content_from_group blueprint_groups_rationale_336 rationale_for e blueprint_groups_reorder_group_content blueprint_groups_rationale_366 rationale_for e blueprint_groups_group_stats blueprint_groups_rationale_395 rationale_for e home_scheianu_digiserver_v2_old_code_documentation_add_muted_column_py add_muted_column_add_muted_column contains e add_muted_column_add_muted_column add_muted_column_rationale_7 rationale_for e home_scheianu_digiserver_v2_old_code_documentation_migrate_add_edit_enabled_py migrate_add_edit_enabled_migrate contains e home_scheianu_digiserver_v2_old_code_documentation_migrate_add_edit_enabled_py migrate_add_edit_enabled_rationale_1 rationale_for e migrate_add_edit_enabled_migrate migrate_add_edit_enabled_rationale_8 rationale_for