| app/aircraft/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/aircraft/co_owner_form_parsing.py |
_parse_decimal |
|
5 |
0 |
0 |
|
100% |
| app/aircraft/co_owner_form_parsing.py |
_exceeds_two_decimal_places |
|
2 |
0 |
0 |
|
100% |
| app/aircraft/co_owner_form_parsing.py |
parse_owners_form |
|
50 |
0 |
0 |
|
100% |
| app/aircraft/co_owner_form_parsing.py |
parse_reserve_fields |
|
18 |
0 |
0 |
|
100% |
| app/aircraft/co_owner_form_parsing.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
_load_airports |
|
16 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
_reset_airports_cache |
|
1 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
_haversine_km |
|
7 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
detect_format |
|
10 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
classify_track |
|
14 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
_extract_icao_hints |
|
4 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
_parse_gpx |
|
29 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
_parse_garmin_csv |
|
47 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
_parse_kml |
|
54 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
parse_gps_file |
|
6 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
merge_and_sort |
|
6 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
_split_into_raw_groups |
|
31 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
_count_landings |
|
8 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
detect_segments |
|
23 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
resolve_icao |
|
10 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
round_flight_time |
|
6 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
downsample_track |
|
8 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
build_geojson |
|
2 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
score_gps_candidates |
|
3 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
_score_gps_candidate |
|
9 |
0 |
0 |
|
100% |
| app/aircraft/gps_import.py |
(no function) |
|
80 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_tenant_id |
|
4 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_get_aircraft_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_get_tenant_aircraft_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_shared_ownership_enabled |
|
4 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_registration_taken |
|
5 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_get_component_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
list_aircraft |
|
20 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
new_aircraft |
|
3 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
detail |
|
46 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
edit_aircraft |
|
4 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_save_aircraft |
|
118 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
manage_owners |
|
36 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_co_owner_billing_period |
|
11 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
owners_billing |
|
55 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_get_current_owner_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
owner_record_payment |
|
34 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
owner_reverse_entry |
|
18 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
record_valuation_snapshot |
|
23 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
owner_account |
|
11 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
owner_statement_csv |
|
15 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
my_share |
|
12 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
my_share_statement_csv |
|
16 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
archive_aircraft |
|
8 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
unarchive_aircraft |
|
7 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
delete_aircraft |
|
7 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
quick_add_components |
|
13 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
new_component |
|
4 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
edit_component |
|
5 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_save_component |
|
75 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_save_component._parse_date |
|
7 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
delete_component |
|
8 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_point_in_polygon |
|
16 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
wb_config |
|
70 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
wb_config._f |
|
8 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
wb_list |
|
6 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
wb_entry |
|
76 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
wb_entry_delete |
|
10 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_gps_tmp_dir |
|
4 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_segment_to_dict |
|
1 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_linked_pilot_entries |
|
11 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_gps_candidate_str |
|
6 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_gps_candidate_dict |
|
1 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_load_segment_geojson |
|
5 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_segment_for_session |
|
9 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
gps_import_upload |
|
51 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
gps_import_review |
|
62 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_gps_import_create_segment |
|
54 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_gps_cleanup |
|
12 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
gps_import_confirm_one |
|
93 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
gps_import_prefill_segment |
|
21 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
gps_import_history |
|
3 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
gps_import_rollback |
|
12 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
flight_detail |
|
7 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
flight_tracks |
|
7 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
flight_tracks_gif |
|
17 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_photo_folder |
|
2 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_save_photo_file |
|
10 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_trash_photo_file |
|
15 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
_renumber_photos |
|
17 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
upload_photo |
|
27 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
serve_photo |
|
11 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
delete_photo |
|
16 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
reorder_photos |
|
17 |
0 |
0 |
|
100% |
| app/aircraft/routes.py |
(no function) |
|
188 |
0 |
0 |
|
100% |
| app/airworthiness/routes.py |
_tenant_id |
|
4 |
0 |
0 |
|
100% |
| app/airworthiness/routes.py |
_get_aircraft_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/airworthiness/routes.py |
_get_node_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/airworthiness/routes.py |
_get_doc_or_404 |
|
7 |
0 |
0 |
|
100% |
| app/airworthiness/routes.py |
_get_stc_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/airworthiness/routes.py |
_status_for |
|
1 |
0 |
0 |
|
100% |
| app/airworthiness/routes.py |
dashboard |
|
24 |
0 |
0 |
|
100% |
| app/airworthiness/routes.py |
trigger_sync |
|
11 |
0 |
0 |
|
100% |
| app/airworthiness/routes.py |
add_node |
|
14 |
0 |
0 |
|
100% |
| app/airworthiness/routes.py |
delete_node |
|
6 |
0 |
0 |
|
100% |
| app/airworthiness/routes.py |
add_document |
|
18 |
0 |
0 |
|
100% |
| app/airworthiness/routes.py |
delete_document |
|
9 |
0 |
0 |
|
100% |
| app/airworthiness/routes.py |
update_status |
|
20 |
0 |
0 |
|
100% |
| app/airworthiness/routes.py |
add_stc |
|
9 |
0 |
0 |
|
100% |
| app/airworthiness/routes.py |
delete_stc |
|
6 |
0 |
0 |
|
100% |
| app/airworthiness/routes.py |
(no function) |
|
53 |
0 |
0 |
|
100% |
| app/airworthiness_sync.py |
_build_tree_path |
|
1 |
0 |
0 |
|
100% |
| app/airworthiness_sync.py |
_fetch_references |
|
11 |
0 |
0 |
|
100% |
| app/airworthiness_sync.py |
_easa_doc_url |
|
2 |
0 |
0 |
|
100% |
| app/airworthiness_sync.py |
_process_node |
|
23 |
0 |
0 |
|
100% |
| app/airworthiness_sync.py |
sync_aircraft |
|
13 |
0 |
0 |
|
100% |
| app/airworthiness_sync.py |
sync_all_nodes |
|
37 |
0 |
0 |
|
100% |
| app/airworthiness_sync.py |
(no function) |
|
21 |
0 |
0 |
|
100% |
| app/auth/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_sl |
|
1 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_ip_backoff_delay |
|
4 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_increment_ip_failures |
|
3 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_clear_ip_failures |
|
1 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_check_account_locked |
|
9 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_increment_account_failures |
|
3 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_lock_account |
|
4 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_clear_account_failures |
|
2 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_no_users |
|
1 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_is_demo |
|
1 |
0 |
0 |
|
100% |
| app/auth/routes.py |
login |
|
14 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_login_post |
|
6 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_login_credentials |
|
51 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_login_totp |
|
22 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_login_totp_enrol |
|
21 |
0 |
0 |
|
100% |
| app/auth/routes.py |
logout |
|
5 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_wizard_phase |
|
7 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_next_step |
|
7 |
0 |
9 |
|
100% |
| app/auth/routes.py |
setup |
|
52 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_setup_account |
|
20 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_setup_totp |
|
16 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_setup_operating_model |
|
11 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_setup_aircraft_count |
|
17 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_setup_org_name |
|
9 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_setup_co_owners |
|
14 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_setup_finish |
|
55 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_clear_setup_session |
|
2 |
0 |
0 |
|
100% |
| app/auth/routes.py |
profile |
|
18 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_profile_update_name |
|
5 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_profile_change_password |
|
17 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_profile_setup_totp |
|
5 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_profile_confirm_totp |
|
16 |
0 |
0 |
|
100% |
| app/auth/routes.py |
_profile_disable_totp |
|
13 |
0 |
0 |
|
100% |
| app/auth/routes.py |
reset_password |
|
24 |
0 |
3 |
|
100% |
| app/auth/routes.py |
(no function) |
|
70 |
0 |
0 |
|
100% |
| app/config/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/config/routes.py |
_derive_key |
|
3 |
0 |
0 |
|
100% |
| app/config/routes.py |
_encrypt_bytes |
|
5 |
0 |
0 |
|
100% |
| app/config/routes.py |
_get_alembic_head |
|
5 |
0 |
0 |
|
100% |
| app/config/routes.py |
_parse_gatus_env |
|
8 |
0 |
0 |
|
100% |
| app/config/routes.py |
run_backup |
|
43 |
0 |
0 |
|
100% |
| app/config/routes.py |
_add_uploads_to_zip |
|
7 |
0 |
0 |
|
100% |
| app/config/routes.py |
_pg_dump |
|
10 |
0 |
0 |
|
100% |
| app/config/routes.py |
_block_in_demo |
|
12 |
0 |
0 |
|
100% |
| app/config/routes.py |
index |
|
98 |
0 |
0 |
|
100% |
| app/config/routes.py |
update_tenant_slug |
|
47 |
0 |
2 |
|
100% |
| app/config/routes.py |
update_map_tiles |
|
13 |
0 |
0 |
|
100% |
| app/config/routes.py |
run_backup_now |
|
8 |
0 |
0 |
|
100% |
| app/config/routes.py |
update_profile |
|
41 |
0 |
1 |
|
100% |
| app/config/routes.py |
test_email |
|
14 |
0 |
1 |
|
100% |
| app/config/routes.py |
check_version |
|
15 |
0 |
0 |
|
100% |
| app/config/routes.py |
trigger_upgrade |
|
24 |
0 |
0 |
|
100% |
| app/config/routes.py |
upgrade_status |
|
23 |
0 |
0 |
|
100% |
| app/config/routes.py |
tenant_list |
|
9 |
0 |
0 |
|
100% |
| app/config/routes.py |
tenant_create |
|
29 |
0 |
0 |
|
100% |
| app/config/routes.py |
tenant_toggle_active |
|
10 |
0 |
0 |
|
100% |
| app/config/routes.py |
tenant_reset_owner_password |
|
19 |
0 |
0 |
|
100% |
| app/config/routes.py |
notification_preferences |
|
55 |
0 |
0 |
|
100% |
| app/config/routes.py |
notification_preferences._user_has_cap |
|
1 |
0 |
0 |
|
100% |
| app/config/routes.py |
backfill_aircraft_type_icao |
|
12 |
0 |
0 |
|
100% |
| app/config/routes.py |
backfill_pilot_log_to_flight_entries |
|
7 |
0 |
0 |
|
100% |
| app/config/routes.py |
_renter_auth_status |
|
12 |
0 |
0 |
|
100% |
| app/config/routes.py |
_get_renter_auth_or_404 |
|
5 |
0 |
0 |
|
100% |
| app/config/routes.py |
renters_list |
|
6 |
0 |
1 |
|
100% |
| app/config/routes.py |
_renter_auth_form_context |
|
4 |
0 |
0 |
|
100% |
| app/config/routes.py |
_save_renter_authorization |
|
67 |
0 |
0 |
|
100% |
| app/config/routes.py |
_save_renter_authorization._date_or_none |
|
7 |
0 |
0 |
|
100% |
| app/config/routes.py |
renter_add |
|
7 |
0 |
1 |
|
100% |
| app/config/routes.py |
renter_edit |
|
8 |
0 |
1 |
|
100% |
| app/config/routes.py |
renter_revoke |
|
8 |
0 |
1 |
|
100% |
| app/config/routes.py |
_renter_account_period |
|
10 |
0 |
0 |
|
100% |
| app/config/routes.py |
renter_account |
|
13 |
0 |
3 |
|
100% |
| app/config/routes.py |
renter_record_payment |
|
35 |
0 |
1 |
|
100% |
| app/config/routes.py |
renter_statement_csv |
|
15 |
0 |
1 |
|
100% |
| app/config/routes.py |
gatus_badge |
|
19 |
0 |
0 |
|
100% |
| app/config/routes.py |
(no function) |
|
103 |
0 |
0 |
|
100% |
| app/demo/__init__.py |
(no function) |
|
1 |
0 |
0 |
|
100% |
| app/demo/routes.py |
_busy_window_minutes |
|
4 |
0 |
0 |
|
100% |
| app/demo/routes.py |
_fix_stale_demo_session |
|
5 |
0 |
0 |
|
100% |
| app/demo/routes.py |
enter |
|
26 |
0 |
0 |
|
100% |
| app/demo/routes.py |
_slot_user_id |
|
13 |
0 |
0 |
|
100% |
| app/demo/routes.py |
_touch_slot |
|
2 |
0 |
0 |
|
100% |
| app/demo/routes.py |
next_wipe |
|
2 |
0 |
0 |
|
100% |
| app/demo/routes.py |
demo_has_recent_activity |
|
2 |
0 |
0 |
|
100% |
| app/demo/routes.py |
(no function) |
|
23 |
0 |
0 |
|
100% |
| app/documents/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/documents/routes.py |
_tenant_id |
|
4 |
0 |
0 |
|
100% |
| app/documents/routes.py |
_get_tenant |
|
4 |
0 |
1 |
|
100% |
| app/documents/routes.py |
_get_aircraft_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/documents/routes.py |
active_document_for |
|
3 |
0 |
0 |
|
100% |
| app/documents/routes.py |
_recompute_expiry_field |
|
6 |
0 |
0 |
|
100% |
| app/documents/routes.py |
_parse_date_field |
|
8 |
0 |
0 |
|
100% |
| app/documents/routes.py |
_get_aircraft_document_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/documents/routes.py |
_delete_file |
|
18 |
0 |
0 |
|
100% |
| app/documents/routes.py |
_resolve_component |
|
9 |
0 |
0 |
|
100% |
| app/documents/routes.py |
_save_upload |
|
9 |
0 |
0 |
|
100% |
| app/documents/routes.py |
_ensure_tenant_slug |
|
11 |
0 |
0 |
|
100% |
| app/documents/routes.py |
_safe_path_component |
|
1 |
0 |
0 |
|
100% |
| app/documents/routes.py |
_safe_join |
|
5 |
0 |
0 |
|
100% |
| app/documents/routes.py |
_parse_reconcile_filename |
|
10 |
0 |
0 |
|
100% |
| app/documents/routes.py |
_save_upload_canonical |
|
20 |
0 |
0 |
|
100% |
| app/documents/routes.py |
_current_role |
|
2 |
0 |
0 |
|
100% |
| app/documents/routes.py |
_doc_broken |
|
2 |
0 |
0 |
|
100% |
| app/documents/routes.py |
title_suggestions |
|
15 |
0 |
0 |
|
100% |
| app/documents/routes.py |
list_documents |
|
19 |
0 |
0 |
|
100% |
| app/documents/routes.py |
upload_document |
|
41 |
0 |
0 |
|
100% |
| app/documents/routes.py |
upload_document._re_render |
|
3 |
0 |
0 |
|
100% |
| app/documents/routes.py |
edit_document |
|
42 |
0 |
0 |
|
100% |
| app/documents/routes.py |
delete_document |
|
12 |
0 |
0 |
|
100% |
| app/documents/routes.py |
download_all_documents |
|
25 |
0 |
0 |
|
100% |
| app/documents/routes.py |
_upload_expiry_cert |
|
27 |
0 |
0 |
|
100% |
| app/documents/routes.py |
upload_insurance_cert |
|
1 |
0 |
0 |
|
100% |
| app/documents/routes.py |
upload_arc_cert |
|
1 |
0 |
0 |
|
100% |
| app/documents/routes.py |
upload_pilot_document |
|
27 |
0 |
0 |
|
100% |
| app/documents/routes.py |
delete_pilot_document |
|
9 |
0 |
0 |
|
100% |
| app/documents/routes.py |
list_reconcile |
|
15 |
0 |
0 |
|
100% |
| app/documents/routes.py |
scan_documents |
|
52 |
0 |
0 |
|
100% |
| app/documents/routes.py |
rename_reconcile_folder |
|
61 |
0 |
0 |
|
100% |
| app/documents/routes.py |
import_reconcile |
|
28 |
0 |
0 |
|
100% |
| app/documents/routes.py |
ignore_reconcile |
|
6 |
0 |
0 |
|
100% |
| app/documents/routes.py |
(no function) |
|
101 |
0 |
0 |
|
100% |
| app/expenses/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/expenses/cost_dashboard.py |
resolve_period |
|
5 |
0 |
0 |
|
100% |
| app/expenses/cost_dashboard.py |
hours_flown |
|
5 |
0 |
0 |
|
100% |
| app/expenses/cost_dashboard.py |
oil_added |
|
5 |
0 |
0 |
|
100% |
| app/expenses/cost_dashboard.py |
_in_period |
|
7 |
0 |
0 |
|
100% |
| app/expenses/cost_dashboard.py |
_prorated_amount |
|
14 |
0 |
0 |
|
100% |
| app/expenses/cost_dashboard.py |
compute_cost_dashboard |
|
22 |
0 |
0 |
|
100% |
| app/expenses/cost_dashboard.py |
compute_cost_dashboard._per_hour |
|
1 |
0 |
0 |
|
100% |
| app/expenses/cost_dashboard.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| app/expenses/form_parsing.py |
parse_expense_fields |
|
66 |
0 |
0 |
|
100% |
| app/expenses/form_parsing.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| app/expenses/routes.py |
_tenant_id |
|
4 |
0 |
0 |
|
100% |
| app/expenses/routes.py |
_get_aircraft_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/expenses/routes.py |
_get_expense_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/expenses/routes.py |
_fuel_expense_prefill |
|
19 |
0 |
0 |
|
100% |
| app/expenses/routes.py |
_compute_stats |
|
10 |
0 |
0 |
|
100% |
| app/expenses/routes.py |
list_expenses |
|
15 |
0 |
0 |
|
100% |
| app/expenses/routes.py |
cost_dashboard |
|
9 |
0 |
0 |
|
100% |
| app/expenses/routes.py |
add_expense |
|
8 |
0 |
0 |
|
100% |
| app/expenses/routes.py |
edit_expense |
|
9 |
0 |
0 |
|
100% |
| app/expenses/routes.py |
delete_expense |
|
6 |
0 |
0 |
|
100% |
| app/expenses/routes.py |
_validate_and_save |
|
52 |
0 |
2 |
|
100% |
| app/expenses/routes.py |
(no function) |
|
39 |
0 |
0 |
|
100% |
| app/extensions.py |
_rate_limiting_disabled |
|
1 |
0 |
0 |
|
100% |
| app/extensions.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| app/flights/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/flights/airframe_import.py |
_num |
|
1 |
0 |
0 |
|
100% |
| app/flights/airframe_import.py |
_dup_key |
|
1 |
0 |
0 |
|
100% |
| app/flights/airframe_import.py |
_fetch_existing_dedup_keys |
|
2 |
0 |
0 |
|
100% |
| app/flights/airframe_import.py |
propose_airframe_mapping |
|
7 |
0 |
0 |
|
100% |
| app/flights/airframe_import.py |
airframe_type_hints |
|
15 |
0 |
0 |
|
100% |
| app/flights/airframe_import.py |
_clean_icao |
|
4 |
0 |
0 |
|
100% |
| app/flights/airframe_import.py |
_is_subtotal |
|
2 |
0 |
0 |
|
100% |
| app/flights/airframe_import.py |
_is_blank_cell |
|
4 |
0 |
0 |
|
100% |
| app/flights/airframe_import.py |
_row_get |
|
3 |
0 |
0 |
|
100% |
| app/flights/airframe_import.py |
_parse_row_date |
|
4 |
0 |
0 |
|
100% |
| app/flights/airframe_import.py |
_build_airframe_fields |
|
23 |
0 |
0 |
|
100% |
| app/flights/airframe_import.py |
_fields_to_flight_entry_kwargs |
|
1 |
0 |
0 |
|
100% |
| app/flights/airframe_import.py |
execute_airframe_import |
|
47 |
0 |
0 |
|
100% |
| app/flights/airframe_import.py |
_score_airframe_non_time_signals |
|
22 |
0 |
0 |
|
100% |
| app/flights/airframe_import.py |
_score_airframe_candidate |
|
17 |
0 |
0 |
|
100% |
| app/flights/airframe_import.py |
find_conflicting_airframe_rows |
|
25 |
0 |
0 |
|
100% |
| app/flights/airframe_import.py |
(no function) |
|
48 |
0 |
0 |
|
100% |
| app/flights/form_parsing.py |
_parse_clock_time |
|
4 |
0 |
0 |
|
100% |
| app/flights/form_parsing.py |
_hours_between |
|
5 |
0 |
0 |
|
100% |
| app/flights/form_parsing.py |
flight_is_lenient |
|
1 |
0 |
0 |
|
100% |
| app/flights/form_parsing.py |
parse_flight_fields |
|
165 |
0 |
0 |
|
100% |
| app/flights/form_parsing.py |
apply_flight_fields |
|
31 |
0 |
0 |
|
100% |
| app/flights/form_parsing.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_openaip_key |
|
2 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_tenant_id |
|
4 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_check_flight_hour_milestone |
|
12 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_get_aircraft_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_get_flight_or_404 |
|
11 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_save_upload |
|
8 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_delete_upload |
|
7 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_nature_suggestions |
|
2 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_parse_gps_upload |
|
19 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_find_duplicate_flight |
|
21 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_get_counter_hint |
|
4 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_find_covering_reservation |
|
6 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_ac_category |
|
1 |
0 |
0 |
|
100% |
| app/flights/routes.py |
apply_pilot_identity |
|
19 |
0 |
0 |
|
100% |
| app/flights/routes.py |
serve_upload |
|
16 |
0 |
0 |
|
100% |
| app/flights/routes.py |
fleet_flights |
|
5 |
0 |
0 |
|
100% |
| app/flights/routes.py |
list_flights |
|
4 |
0 |
0 |
|
100% |
| app/flights/routes.py |
component_logbook |
|
24 |
0 |
0 |
|
100% |
| app/flights/routes.py |
log_flight |
|
22 |
0 |
0 |
|
100% |
| app/flights/routes.py |
edit_flight |
|
10 |
0 |
0 |
|
100% |
| app/flights/routes.py |
flight_track_image |
|
24 |
0 |
0 |
|
100% |
| app/flights/routes.py |
flight_track_gif |
|
24 |
0 |
0 |
|
100% |
| app/flights/routes.py |
registration_lookup |
|
18 |
0 |
0 |
|
100% |
| app/flights/routes.py |
registration_lookup._norm |
|
1 |
0 |
0 |
|
100% |
| app/flights/routes.py |
parse_gps_api |
|
7 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_suggested_aircraft_for_device |
|
4 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_check_gps_duplicate |
|
11 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_handle_log_flight_post |
|
182 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_handle_log_flight_post._parse_dec |
|
7 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_render_form |
|
8 |
0 |
0 |
|
100% |
| app/flights/routes.py |
delete_flight |
|
12 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_airframe_tmp_dir |
|
4 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_airframe_cleanup_tmp |
|
14 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_render_airframe_map |
|
3 |
0 |
0 |
|
100% |
| app/flights/routes.py |
airframe_import_upload |
|
33 |
0 |
0 |
|
100% |
| app/flights/routes.py |
airframe_import_execute |
|
94 |
0 |
0 |
|
100% |
| app/flights/routes.py |
_finalize_airframe_import_review |
|
14 |
0 |
0 |
|
100% |
| app/flights/routes.py |
airframe_import_review |
|
29 |
0 |
0 |
|
100% |
| app/flights/routes.py |
airframe_import_review_resolve |
|
74 |
0 |
2 |
|
100% |
| app/flights/routes.py |
airframe_import_rollback |
|
12 |
0 |
0 |
|
100% |
| app/flights/routes.py |
airframe_import_toggle_historical |
|
11 |
0 |
0 |
|
100% |
| app/flights/routes.py |
(no function) |
|
121 |
0 |
0 |
|
100% |
| app/hangar/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/hangar/routes.py |
secret |
|
1 |
0 |
0 |
|
100% |
| app/hangar/routes.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| app/init.py |
_env_or_file |
|
13 |
0 |
0 |
|
100% |
| app/init.py |
_normalize_database_url |
|
4 |
0 |
0 |
|
100% |
| app/init.py |
_aviation_day_msgid |
|
4 |
0 |
0 |
|
100% |
| app/init.py |
_static_folder_mtime_token |
|
9 |
0 |
0 |
|
100% |
| app/init.py |
_static_cache_version |
|
4 |
0 |
0 |
|
100% |
| app/init.py |
_set_sqlite_fk_pragma |
|
4 |
0 |
0 |
|
100% |
| app/init.py |
_drop_and_restore_schema |
|
24 |
0 |
0 |
|
100% |
| app/init.py |
_easa_sync_loop |
|
23 |
0 |
0 |
|
100% |
| app/init.py |
_start_easa_sync_scheduler |
|
3 |
0 |
0 |
|
100% |
| app/init.py |
_parse_notification_time |
|
12 |
0 |
0 |
|
100% |
| app/init.py |
_notification_daily_loop |
|
16 |
0 |
0 |
|
100% |
| app/init.py |
_start_notification_scheduler |
|
4 |
0 |
0 |
|
100% |
| app/init.py |
create_app |
|
164 |
0 |
0 |
|
100% |
| app/init.py |
create_app._get_locale |
|
12 |
0 |
0 |
|
100% |
| app/init.py |
create_app._static_cache_bust |
|
2 |
0 |
0 |
|
100% |
| app/init.py |
create_app._generate_csp_nonce |
|
1 |
0 |
0 |
|
100% |
| app/init.py |
create_app._csp_nonce |
|
1 |
0 |
0 |
|
100% |
| app/init.py |
create_app._security_headers |
|
15 |
0 |
0 |
|
100% |
| app/init.py |
create_app._airport_name_filter |
|
3 |
0 |
0 |
|
100% |
| app/init.py |
create_app.pwa_manifest |
|
2 |
0 |
0 |
|
100% |
| app/init.py |
create_app.service_worker |
|
9 |
0 |
0 |
|
100% |
| app/init.py |
create_app.api_check_flight_duplicate |
|
36 |
0 |
0 |
|
100% |
| app/init.py |
create_app.airport_search |
|
16 |
0 |
0 |
|
100% |
| app/init.py |
create_app.aircraft_type_search |
|
18 |
0 |
0 |
|
100% |
| app/init.py |
create_app._current_theme |
|
9 |
0 |
0 |
|
100% |
| app/init.py |
create_app.inject_globals |
|
59 |
0 |
0 |
|
100% |
| app/init.py |
create_app.forbidden |
|
1 |
0 |
0 |
|
100% |
| app/init.py |
create_app.not_found |
|
1 |
0 |
0 |
|
100% |
| app/init.py |
create_app.internal_error |
|
6 |
0 |
0 |
|
100% |
| app/init.py |
create_app.index |
|
96 |
0 |
0 |
|
100% |
| app/init.py |
create_app.not_yet_implemented |
|
2 |
0 |
0 |
|
100% |
| app/init.py |
create_app.set_language |
|
17 |
0 |
0 |
|
100% |
| app/init.py |
create_app.set_theme |
|
17 |
0 |
0 |
|
100% |
| app/init.py |
create_app.robots_txt |
|
1 |
0 |
0 |
|
100% |
| app/init.py |
create_app.favicon |
|
1 |
0 |
0 |
|
100% |
| app/init.py |
create_app.health |
|
1 |
0 |
0 |
|
100% |
| app/init.py |
create_app.health_ready |
|
11 |
0 |
0 |
|
100% |
| app/init.py |
create_app.check_empty_db_command |
|
12 |
0 |
0 |
|
100% |
| app/init.py |
create_app.restore_backup_command |
|
106 |
0 |
0 |
|
100% |
| app/init.py |
create_app.backup_now_command |
|
8 |
0 |
0 |
|
100% |
| app/init.py |
create_app.reset_db_command |
|
6 |
0 |
0 |
|
100% |
| app/init.py |
create_app.seed_demo_command |
|
12 |
0 |
0 |
|
100% |
| app/init.py |
_validate_config |
|
80 |
0 |
0 |
|
100% |
| app/init.py |
(no function) |
|
36 |
0 |
3 |
|
100% |
| app/log_redaction.py |
redact_sensitive_path |
|
1 |
0 |
0 |
|
100% |
| app/log_redaction.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| app/maintenance/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/maintenance/amp_import.py |
_norm |
|
1 |
0 |
0 |
|
100% |
| app/maintenance/amp_import.py |
find_header |
|
10 |
0 |
0 |
|
100% |
| app/maintenance/amp_import.py |
parse_interval |
|
18 |
0 |
0 |
|
100% |
| app/maintenance/amp_import.py |
match_category |
|
7 |
0 |
0 |
|
100% |
| app/maintenance/amp_import.py |
suggest_component_id |
|
10 |
0 |
0 |
|
100% |
| app/maintenance/amp_import.py |
hours_basis_for_component |
|
3 |
0 |
0 |
|
100% |
| app/maintenance/amp_import.py |
_cell |
|
4 |
0 |
0 |
|
100% |
| app/maintenance/amp_import.py |
_text_or_none |
|
4 |
0 |
0 |
|
100% |
| app/maintenance/amp_import.py |
parse_amp_rows |
|
12 |
0 |
0 |
|
100% |
| app/maintenance/amp_import.py |
format_interval |
|
12 |
0 |
0 |
|
100% |
| app/maintenance/amp_import.py |
compute_due_fields |
|
9 |
0 |
0 |
|
100% |
| app/maintenance/amp_import.py |
(no function) |
|
50 |
0 |
2 |
|
100% |
| app/maintenance/form_parsing.py |
_parse_iso_date |
|
4 |
0 |
0 |
|
100% |
| app/maintenance/form_parsing.py |
_parse_positive_int |
|
5 |
0 |
0 |
|
100% |
| app/maintenance/form_parsing.py |
_parse_nonneg_float |
|
5 |
0 |
0 |
|
100% |
| app/maintenance/form_parsing.py |
_parse_nonneg_int |
|
5 |
0 |
0 |
|
100% |
| app/maintenance/form_parsing.py |
_parse_positive_float |
|
5 |
0 |
0 |
|
100% |
| app/maintenance/form_parsing.py |
_parse_optional_float |
|
5 |
0 |
0 |
|
100% |
| app/maintenance/form_parsing.py |
parse_trigger_fields |
|
71 |
0 |
0 |
|
100% |
| app/maintenance/form_parsing.py |
parse_service_fields |
|
31 |
0 |
0 |
|
100% |
| app/maintenance/form_parsing.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_tenant_id |
|
4 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_get_aircraft_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_get_trigger_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
fleet_overview |
|
45 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
fleet_overview._trigger_sort_key |
|
3 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_group_trigger_rows_by_component |
|
13 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
list_triggers |
|
15 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
list_triggers._status |
|
1 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
new_trigger |
|
4 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
edit_trigger |
|
5 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_save_trigger |
|
31 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
delete_trigger |
|
7 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
service_trigger |
|
26 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
edit_amp_declaration |
|
5 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_save_amp_declaration |
|
39 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_save_amp_declaration._text |
|
2 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
add_amp_revision |
|
30 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
delete_amp_revision |
|
15 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_amp_import_tmp_dir |
|
4 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_cleanup_amp_import_tmp |
|
9 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_amp_preview_rows |
|
10 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
import_amp_upload |
|
36 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
import_amp_commit |
|
42 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
import_amp_history |
|
3 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
import_amp_rollback |
|
10 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_amp_export_context |
|
13 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_amp_export_context._installed |
|
1 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_amp_content_signature |
|
5 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_amp_content_signature._component |
|
1 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_amp_draft_status |
|
6 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_amp_pdf_filename |
|
3 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_amp_pdf_storage_path |
|
2 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
_render_and_cache_amp_pdf |
|
8 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
export_amp |
|
7 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
export_amp_pdf |
|
20 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
download_amp_revision_pdf |
|
17 |
0 |
0 |
|
100% |
| app/maintenance/routes.py |
(no function) |
|
103 |
0 |
0 |
|
100% |
| app/models.py |
reset_schema |
|
5 |
0 |
0 |
|
100% |
| app/models.py |
User.display_name |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
UserInvitation.is_expired |
|
4 |
0 |
0 |
|
100% |
| app/models.py |
UserInvitation.is_accepted |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
PasswordResetToken.is_expired |
|
4 |
0 |
0 |
|
100% |
| app/models.py |
PasswordResetToken.is_used |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
Aircraft.cover_photo |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
Aircraft.total_engine_hours |
|
2 |
0 |
0 |
|
100% |
| app/models.py |
Aircraft.total_flight_hours |
|
2 |
0 |
0 |
|
100% |
| app/models.py |
Aircraft.engine_hours_by_id |
|
7 |
0 |
0 |
|
100% |
| app/models.py |
Aircraft.flight_hours_by_id |
|
7 |
0 |
0 |
|
100% |
| app/models.py |
Aircraft.total_landings |
|
2 |
0 |
0 |
|
100% |
| app/models.py |
Aircraft.landings_by_id |
|
7 |
0 |
0 |
|
100% |
| app/models.py |
Aircraft.is_archived |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
Aircraft.is_grounded |
|
7 |
0 |
0 |
|
100% |
| app/models.py |
Aircraft._expiry_status |
|
8 |
0 |
0 |
|
100% |
| app/models.py |
Aircraft.insurance_status |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
Aircraft.arc_status |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
Flight.total_flight_time |
|
3 |
0 |
0 |
|
100% |
| app/models.py |
Flight.display_aircraft_type |
|
3 |
0 |
0 |
|
100% |
| app/models.py |
Flight.display_aircraft_type_icao |
|
3 |
0 |
0 |
|
100% |
| app/models.py |
Flight.display_registration |
|
3 |
0 |
0 |
|
100% |
| app/models.py |
MaintenanceTrigger.status |
|
34 |
0 |
0 |
|
100% |
| app/models.py |
MaintenanceTrigger.last_record |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
Document.owner_type |
|
9 |
0 |
0 |
|
100% |
| app/models.py |
Document.is_image |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
Document.is_pdf |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
Document.is_expiring_soon |
|
4 |
0 |
0 |
|
100% |
| app/models.py |
Document.is_upcoming |
|
4 |
0 |
0 |
|
100% |
| app/models.py |
ShareToken.is_active |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
Snag.is_open |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
Reservation.duration_hours |
|
2 |
0 |
0 |
|
100% |
| app/models.py |
DispatchRecord.is_checked_out |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
DispatchRecord.is_checked_in |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
RentalCharge.is_final |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
RenterAuthorization.is_valid |
|
7 |
0 |
0 |
|
100% |
| app/models.py |
RenterAuthorization.valid_for |
|
2 |
0 |
0 |
|
100% |
| app/models.py |
EASASourceNode.display_path |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
AirworthinessDocument.is_manual |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
NotificationSnooze.is_active |
|
1 |
0 |
0 |
|
100% |
| app/models.py |
(no function) |
|
1170 |
0 |
0 |
|
100% |
| app/notifications/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/notifications/routes.py |
snooze |
|
8 |
0 |
0 |
|
100% |
| app/notifications/routes.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| app/offline/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/offline/routes.py |
_csrf_error |
|
1 |
0 |
0 |
|
100% |
| app/offline/routes.py |
api_login_required |
|
3 |
0 |
0 |
|
100% |
| app/offline/routes.py |
api_login_required.decorated |
|
3 |
0 |
0 |
|
100% |
| app/offline/routes.py |
_tenant_id |
|
4 |
0 |
0 |
|
100% |
| app/offline/routes.py |
_get_aircraft_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/offline/routes.py |
_get_flight_or_404 |
|
11 |
0 |
0 |
|
100% |
| app/offline/routes.py |
aircraft_logbook_snapshot |
|
3 |
0 |
0 |
|
100% |
| app/offline/routes.py |
csrf_token |
|
1 |
0 |
0 |
|
100% |
| app/offline/routes.py |
workbench |
|
2 |
0 |
0 |
|
100% |
| app/offline/routes.py |
changes |
|
1 |
0 |
0 |
|
100% |
| app/offline/routes.py |
pilot_workbench |
|
1 |
0 |
0 |
|
100% |
| app/offline/routes.py |
_parse_easa_decimal |
|
7 |
0 |
0 |
|
100% |
| app/offline/routes.py |
_parse_easa_int |
|
7 |
0 |
0 |
|
100% |
| app/offline/routes.py |
_apply_easa_fields |
|
4 |
0 |
0 |
|
100% |
| app/offline/routes.py |
_malformed_sync_body |
|
1 |
0 |
0 |
|
100% |
| app/offline/routes.py |
sync_flight |
|
36 |
0 |
0 |
|
100% |
| app/offline/routes.py |
pilot_logbook_snapshot |
|
4 |
0 |
0 |
|
100% |
| app/offline/routes.py |
_malformed_pilot_sync_body |
|
1 |
0 |
0 |
|
100% |
| app/offline/routes.py |
sync_pilot_entry |
|
29 |
0 |
0 |
|
100% |
| app/offline/routes.py |
(no function) |
|
60 |
0 |
0 |
|
100% |
| app/offline/serialize.py |
_fmt_decimal |
|
3 |
0 |
0 |
|
100% |
| app/offline/serialize.py |
_fmt_int |
|
1 |
0 |
0 |
|
100% |
| app/offline/serialize.py |
_fmt_time |
|
1 |
0 |
0 |
|
100% |
| app/offline/serialize.py |
_fmt_str |
|
1 |
0 |
0 |
|
100% |
| app/offline/serialize.py |
canonical_pilot_entry |
|
1 |
0 |
0 |
|
100% |
| app/offline/serialize.py |
canonical_entry |
|
1 |
0 |
0 |
|
100% |
| app/offline/serialize.py |
(no function) |
|
10 |
0 |
3 |
|
100% |
| app/pilots/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/pilots/currency.py |
_rolling_landing_currency |
|
24 |
0 |
0 |
|
100% |
| app/pilots/currency.py |
_rolling_landing_currency._count |
|
1 |
0 |
0 |
|
100% |
| app/pilots/currency.py |
_expiry_status |
|
8 |
0 |
0 |
|
100% |
| app/pilots/currency.py |
per_type_currency |
|
27 |
0 |
0 |
|
100% |
| app/pilots/currency.py |
passenger_currency |
|
3 |
0 |
0 |
|
100% |
| app/pilots/currency.py |
night_currency |
|
3 |
0 |
0 |
|
100% |
| app/pilots/currency.py |
medical_status |
|
5 |
0 |
0 |
|
100% |
| app/pilots/currency.py |
sep_status |
|
5 |
0 |
0 |
|
100% |
| app/pilots/currency.py |
currency_summary |
|
16 |
0 |
0 |
|
100% |
| app/pilots/currency.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| app/pilots/form_parsing.py |
_parse_time |
|
9 |
0 |
0 |
|
100% |
| app/pilots/form_parsing.py |
_parse_decimal |
|
12 |
0 |
0 |
|
100% |
| app/pilots/form_parsing.py |
_parse_int |
|
10 |
0 |
0 |
|
100% |
| app/pilots/form_parsing.py |
_parse_date |
|
7 |
0 |
0 |
|
100% |
| app/pilots/form_parsing.py |
parse_pilot_fields |
|
64 |
0 |
0 |
|
100% |
| app/pilots/form_parsing.py |
parse_linked_pilot_fields |
|
24 |
0 |
0 |
|
100% |
| app/pilots/form_parsing.py |
apply_pilot_fields |
|
3 |
0 |
0 |
|
100% |
| app/pilots/form_parsing.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_norm |
|
1 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_disambiguate |
|
9 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_fingerprint |
|
2 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_is_header_row |
|
5 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_is_numeric_str |
|
5 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_header_alias_score |
|
1 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_find_header_row |
|
13 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_trim_trailing_empty_cols |
|
8 |
0 |
1 |
|
100% |
| app/pilots/logbook_import.py |
_merge_label_map |
|
10 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_group_labels_from_map |
|
1 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_group_labels_heuristic |
|
18 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_apply_group_labels |
|
9 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
parse_file |
|
6 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_preferred_sheet_names |
|
8 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_pick_best_excel_sheet |
|
17 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_parse_excel |
|
14 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_parse_csv |
|
15 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_build_parsed_file |
|
17 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
propose_mapping |
|
24 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_alias_mapping |
|
4 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_is_subtotal_row |
|
10 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
parse_date_value |
|
17 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
parse_time_value |
|
16 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
parse_duration_value |
|
25 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
parse_int_value |
|
17 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_is_nonempty |
|
5 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
type_hints |
|
17 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
preview_rows |
|
15 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_date_col_index |
|
4 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_row_get |
|
2 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_parse_row_date |
|
4 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_build_entry_kwargs |
|
34 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_num |
|
1 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_dup_key |
|
1 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_fetch_existing_dedup_keys |
|
4 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_assign_pilot_identity |
|
11 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
execute_import |
|
48 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_kwargs_duration |
|
3 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
_score_candidate |
|
39 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
find_conflicting_rows |
|
28 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
link_entries_to_aircraft |
|
36 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
link_entries_to_aircraft._norm_reg |
|
1 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
link_entries_to_aircraft._tenants_for_pilot |
|
3 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
link_entries_to_aircraft._place_icao |
|
4 |
0 |
0 |
|
100% |
| app/pilots/logbook_import.py |
(no function) |
|
89 |
0 |
0 |
|
100% |
| app/pilots/personal_minimums.py |
get_active_revision |
|
2 |
0 |
0 |
|
100% |
| app/pilots/personal_minimums.py |
recency_breaches |
|
20 |
0 |
0 |
|
100% |
| app/pilots/personal_minimums.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_current_user_id |
|
1 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_openaip_key |
|
3 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_get_or_create_profile |
|
6 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_my_entries_query |
|
2 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_check_logbook_milestone |
|
21 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
profile |
|
37 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_active_minimums_revision |
|
1 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_draft_minimums_revision |
|
2 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_get_own_revision_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_get_own_draft_section_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_get_own_draft_item_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_flew_or_reserved_today |
|
5 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_view |
|
7 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_create |
|
21 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_history |
|
3 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_revision_detail |
|
3 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_revise |
|
21 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_edit |
|
5 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_validate_tag_and_numeric |
|
12 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_section_add |
|
14 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_section_edit |
|
10 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_section_delete |
|
6 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_move_sort_order |
|
7 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_section_move_up |
|
5 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_section_move_down |
|
5 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_item_add |
|
22 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_item_edit |
|
20 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_item_delete |
|
6 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_item_move_up |
|
5 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_item_move_down |
|
5 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_publish |
|
20 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_delete_draft |
|
8 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
minimums_print |
|
6 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
pilot_tracks |
|
5 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
pilot_tracks_gif |
|
15 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
view_entry |
|
5 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
logbook |
|
20 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_compute_totals_sql |
|
9 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
new_entry |
|
17 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
edit_entry |
|
18 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_delete_upload |
|
7 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
delete_entry |
|
12 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_apply_gps_to_pilot_entry |
|
30 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_apply_gps_to_pilot_entry._parse_dt |
|
4 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_import_tmp_dir |
|
4 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_cleanup_previous_tmp |
|
18 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
import_upload |
|
31 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
import_execute |
|
118 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_finalize_import_review |
|
19 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
import_review |
|
27 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
import_review_resolve |
|
76 |
0 |
2 |
|
100% |
| app/pilots/routes.py |
import_history |
|
3 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
import_rollback |
|
9 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_pilot_gps_tmp_dir |
|
2 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_pilot_tenant_id |
|
2 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_pilot_match_segment |
|
3 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_pilot_fuzzy_match_segment |
|
6 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
_pilot_seg_match_dict |
|
6 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
pilot_gps_import_upload |
|
57 |
0 |
1 |
|
100% |
| app/pilots/routes.py |
pilot_gps_import_review |
|
47 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
pilot_gps_import_confirm_one |
|
130 |
0 |
0 |
|
100% |
| app/pilots/routes.py |
(no function) |
|
201 |
0 |
0 |
|
100% |
| app/pw_hash.py |
hash |
|
1 |
0 |
0 |
|
100% |
| app/pw_hash.py |
verify |
|
12 |
0 |
0 |
|
100% |
| app/pw_hash.py |
needs_rehash |
|
3 |
0 |
0 |
|
100% |
| app/pw_hash.py |
_is_bcrypt |
|
1 |
0 |
0 |
|
100% |
| app/pw_hash.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| app/pwa/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/pwa/routes.py |
_allowed_destinations |
|
2 |
0 |
0 |
|
100% |
| app/pwa/routes.py |
_dest_labels |
|
1 |
0 |
0 |
|
100% |
| app/pwa/routes.py |
_category_labels |
|
1 |
0 |
0 |
|
100% |
| app/pwa/routes.py |
_get_user_aircraft |
|
4 |
0 |
0 |
|
100% |
| app/pwa/routes.py |
_ensure_tenant_slug |
|
11 |
0 |
0 |
|
100% |
| app/pwa/routes.py |
_safe_path_component |
|
1 |
0 |
0 |
|
100% |
| app/pwa/routes.py |
_cleanup_temp |
|
2 |
0 |
0 |
|
100% |
| app/pwa/routes.py |
share_target_get |
|
1 |
0 |
0 |
|
100% |
| app/pwa/routes.py |
share_target |
|
20 |
0 |
0 |
|
100% |
| app/pwa/routes.py |
share_confirm |
|
38 |
0 |
0 |
|
100% |
| app/pwa/routes.py |
_process_document |
|
59 |
0 |
0 |
|
100% |
| app/pwa/routes.py |
(no function) |
|
35 |
0 |
0 |
|
100% |
| app/quotes.py |
random_aviation_quote |
|
3 |
0 |
0 |
|
100% |
| app/quotes.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| app/refuels/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/refuels/routes.py |
_tenant_id |
|
4 |
0 |
0 |
|
100% |
| app/refuels/routes.py |
_get_aircraft_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/refuels/routes.py |
_get_refuel_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/refuels/routes.py |
_parse_required_date |
|
10 |
0 |
0 |
|
100% |
| app/refuels/routes.py |
list_refuels |
|
3 |
0 |
0 |
|
100% |
| app/refuels/routes.py |
new_refuel |
|
4 |
0 |
0 |
|
100% |
| app/refuels/routes.py |
edit_refuel |
|
5 |
0 |
0 |
|
100% |
| app/refuels/routes.py |
_save_refuel |
|
36 |
0 |
0 |
|
100% |
| app/refuels/routes.py |
delete_refuel |
|
6 |
0 |
0 |
|
100% |
| app/refuels/routes.py |
(no function) |
|
29 |
0 |
0 |
|
100% |
| app/reports/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/reports/routes.py |
_tenant_id |
|
4 |
0 |
0 |
|
100% |
| app/reports/routes.py |
_get_aircraft_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/reports/routes.py |
_resolve_report_range |
|
16 |
0 |
0 |
|
100% |
| app/reports/routes.py |
utilization_report |
|
5 |
0 |
0 |
|
100% |
| app/reports/routes.py |
utilization_report_csv |
|
28 |
0 |
0 |
|
100% |
| app/reports/routes.py |
utilization_report_csv._fuel_str |
|
3 |
0 |
0 |
|
100% |
| app/reports/routes.py |
utilization_report_csv._stat_row |
|
6 |
0 |
0 |
|
100% |
| app/reports/routes.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| app/reports/utilization.py |
flights_in_period |
|
4 |
0 |
0 |
|
100% |
| app/reports/utilization.py |
engine_hours_flown |
|
2 |
0 |
0 |
|
100% |
| app/reports/utilization.py |
fuel_added |
|
11 |
0 |
0 |
|
100% |
| app/reports/utilization.py |
fuel_added._add |
|
4 |
0 |
0 |
|
100% |
| app/reports/utilization.py |
_period_stats |
|
3 |
0 |
0 |
|
100% |
| app/reports/utilization.py |
compute_utilization_report |
|
8 |
0 |
0 |
|
100% |
| app/reports/utilization.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| app/reservations/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_safe_next |
|
8 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_tenant_id |
|
3 |
0 |
1 |
|
100% |
| app/reservations/routes.py |
_get_aircraft_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_get_reservation_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_has_conflict |
|
7 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_parse_datetime |
|
4 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_computed_rate |
|
1 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_effective_rate |
|
6 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_rate_terms_label |
|
5 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_is_owner_role |
|
2 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_rental_authorization_policy |
|
3 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_grounded_reservation_policy |
|
3 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_has_open_grounding_snag |
|
1 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_renter_authorization_ok |
|
2 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_rate_divergence_warning |
|
10 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_chargeable_days |
|
4 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_estimated_hours |
|
5 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_compute_cost |
|
5 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_build_calendar_grid |
|
2 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
fleet_reservations |
|
40 |
0 |
1 |
|
100% |
| app/reservations/routes.py |
calendar_view |
|
39 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_get_downtime_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_save_downtime |
|
30 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
downtime_new |
|
4 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
downtime_edit |
|
5 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
downtime_delete |
|
6 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
new_reservation |
|
13 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
edit_reservation |
|
12 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
cancel_reservation |
|
28 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
confirm_reservation |
|
34 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
decline_reservation |
|
12 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
booking_settings |
|
5 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_save_booking_settings |
|
38 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_save_booking_settings._float_or_none |
|
5 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_save_reservation |
|
72 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_can_dispatch |
|
1 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_discrepancy_warning |
|
17 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
reservation_detail |
|
10 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
checkout |
|
57 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_checkout_counter_hint |
|
2 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_draft_rental_charge |
|
27 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_draft_rental_charge._delta |
|
3 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
checkin |
|
48 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
rental_charge |
|
71 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
rental_charge._float_field |
|
5 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
_my_account_period |
|
9 |
0 |
0 |
|
100% |
| app/reservations/routes.py |
my_account |
|
10 |
0 |
1 |
|
100% |
| app/reservations/routes.py |
my_account_statement_csv |
|
13 |
0 |
1 |
|
100% |
| app/reservations/routes.py |
(no function) |
|
103 |
0 |
0 |
|
100% |
| app/security_alerts.py |
SecurityAlertHandler.__init__ |
|
4 |
0 |
0 |
|
100% |
| app/security_alerts.py |
SecurityAlertHandler.emit |
|
25 |
0 |
0 |
|
100% |
| app/security_alerts.py |
SecurityAlertHandler._dispatch |
|
10 |
0 |
0 |
|
100% |
| app/security_alerts.py |
SecurityAlertHandler._send_ntfy |
|
9 |
0 |
0 |
|
100% |
| app/security_alerts.py |
SecurityAlertHandler._send_email |
|
25 |
0 |
0 |
|
100% |
| app/security_alerts.py |
SecurityAlertHandler._send_webhook |
|
7 |
0 |
0 |
|
100% |
| app/security_alerts.py |
attach_to_logger |
|
3 |
0 |
0 |
|
100% |
| app/security_alerts.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| app/services/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/services/advisory_lock.py |
advisory_lock_scope |
|
12 |
0 |
0 |
|
100% |
| app/services/advisory_lock.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| app/services/authorization.py |
AuthorizationService.effective_mask |
|
26 |
0 |
0 |
|
100% |
| app/services/authorization.py |
AuthorizationService.can |
|
14 |
0 |
0 |
|
100% |
| app/services/authorization.py |
AuthorizationService.maintenance_view_level |
|
7 |
0 |
0 |
|
100% |
| app/services/authorization.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| app/services/backup_format.py |
parse_backup_archive |
|
26 |
0 |
0 |
|
100% |
| app/services/backup_format.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| app/services/backup_scheduler.py |
parse_backup_time |
|
14 |
0 |
0 |
|
100% |
| app/services/backup_scheduler.py |
_parse_positive_int |
|
11 |
0 |
0 |
|
100% |
| app/services/backup_scheduler.py |
parse_backup_keep |
|
1 |
0 |
0 |
|
100% |
| app/services/backup_scheduler.py |
parse_backup_retention |
|
6 |
0 |
0 |
|
100% |
| app/services/backup_scheduler.py |
parse_backup_keep_days |
|
1 |
0 |
0 |
|
100% |
| app/services/backup_scheduler.py |
parse_backup_keep_weeks |
|
1 |
0 |
0 |
|
100% |
| app/services/backup_scheduler.py |
parse_backup_keep_months |
|
1 |
0 |
0 |
|
100% |
| app/services/backup_scheduler.py |
_gfs_keep_ids |
|
29 |
0 |
0 |
|
100% |
| app/services/backup_scheduler.py |
prune_old_backups |
|
20 |
0 |
0 |
|
100% |
| app/services/backup_scheduler.py |
run_scheduled_backup |
|
22 |
0 |
0 |
|
100% |
| app/services/backup_scheduler.py |
_backup_daily_loop |
|
10 |
0 |
0 |
|
100% |
| app/services/backup_scheduler.py |
start_backup_scheduler |
|
6 |
0 |
0 |
|
100% |
| app/services/backup_scheduler.py |
(no function) |
|
24 |
0 |
0 |
|
100% |
| app/services/backup_verification.py |
_decrypt_if_needed |
|
13 |
0 |
0 |
|
100% |
| app/services/backup_verification.py |
verify_backup_record |
|
9 |
0 |
0 |
|
100% |
| app/services/backup_verification.py |
verify_and_alert |
|
10 |
0 |
0 |
|
100% |
| app/services/backup_verification.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| app/services/billing.py |
_quantize |
|
1 |
0 |
0 |
|
100% |
| app/services/billing.py |
BillingService.get_or_create_account |
|
14 |
0 |
2 |
|
100% |
| app/services/billing.py |
BillingService._insert |
|
4 |
0 |
0 |
|
100% |
| app/services/billing.py |
BillingService.post |
|
11 |
0 |
0 |
|
100% |
| app/services/billing.py |
BillingService.reverse |
|
7 |
0 |
0 |
|
100% |
| app/services/billing.py |
BillingService.balance |
|
6 |
0 |
0 |
|
100% |
| app/services/billing.py |
BillingService.statement |
|
9 |
0 |
0 |
|
100% |
| app/services/billing.py |
BillingService.statement_csv |
|
16 |
0 |
0 |
|
100% |
| app/services/billing.py |
(no function) |
|
36 |
0 |
2 |
|
100% |
| app/services/co_owner_billing.py |
_quantize |
|
1 |
0 |
0 |
|
100% |
| app/services/co_owner_billing.py |
_current_owners |
|
2 |
0 |
0 |
|
100% |
| app/services/co_owner_billing.py |
_account_for |
|
3 |
0 |
0 |
|
100% |
| app/services/co_owner_billing.py |
_live_entry |
|
6 |
0 |
0 |
|
100% |
| app/services/co_owner_billing.py |
_sync_entry |
|
9 |
0 |
0 |
|
100% |
| app/services/co_owner_billing.py |
_reverse_orphaned |
|
10 |
0 |
0 |
|
100% |
| app/services/co_owner_billing.py |
_expense_desc |
|
5 |
0 |
0 |
|
100% |
| app/services/co_owner_billing.py |
_route_str |
|
3 |
0 |
0 |
|
100% |
| app/services/co_owner_billing.py |
_post_buy_ins |
|
9 |
0 |
0 |
|
100% |
| app/services/co_owner_billing.py |
_post_fixed_expense_shares |
|
18 |
0 |
0 |
|
100% |
| app/services/co_owner_billing.py |
_post_flight_usage |
|
15 |
0 |
0 |
|
100% |
| app/services/co_owner_billing.py |
_post_reserve_contributions |
|
37 |
0 |
0 |
|
100% |
| app/services/co_owner_billing.py |
reserve_fund_balance |
|
9 |
0 |
0 |
|
100% |
| app/services/co_owner_billing.py |
run_co_owner_billing_pass |
|
11 |
0 |
0 |
|
100% |
| app/services/co_owner_billing.py |
run_co_owner_billing_pass_all |
|
12 |
0 |
2 |
|
100% |
| app/services/co_owner_billing.py |
overdue_since |
|
12 |
0 |
0 |
|
100% |
| app/services/co_owner_billing.py |
(no function) |
|
22 |
0 |
2 |
|
100% |
| app/services/component_limits.py |
component_hours |
|
10 |
0 |
0 |
|
100% |
| app/services/component_limits.py |
component_limit_info |
|
27 |
0 |
0 |
|
100% |
| app/services/component_limits.py |
aircraft_limit_infos |
|
8 |
0 |
0 |
|
100% |
| app/services/component_limits.py |
fleet_limit_statuses |
|
9 |
0 |
0 |
|
100% |
| app/services/component_limits.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| app/services/email_service.py |
_smtp_settings |
|
1 |
0 |
0 |
|
100% |
| app/services/email_service.py |
get_smtp_status |
|
4 |
0 |
0 |
|
100% |
| app/services/email_service.py |
get_smtp_status._env |
|
2 |
0 |
0 |
|
100% |
| app/services/email_service.py |
_record_health |
|
20 |
0 |
0 |
|
100% |
| app/services/email_service.py |
get_email_health |
|
16 |
0 |
0 |
|
100% |
| app/services/email_service.py |
send_email |
|
45 |
0 |
0 |
|
100% |
| app/services/email_service.py |
(no function) |
|
18 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
get_effective_preference |
|
9 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_user_caps |
|
11 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_find_recipients |
|
11 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_tenant_display_name |
|
3 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_build_subject |
|
2 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_render_email |
|
9 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_text_for |
|
11 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_already_sent_today |
|
2 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_record_sent |
|
7 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_resolve_snooze |
|
13 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_snooze_url |
|
5 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
dispatch |
|
54 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_recompute_all_expiry_fields |
|
7 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
run_daily_checks |
|
23 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_check_maintenance |
|
18 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_check_insurance |
|
13 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_check_arc |
|
13 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_check_medical_and_sep |
|
19 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_check_documents |
|
18 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_check_airworthiness_reviews |
|
16 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_check_renter_authorizations |
|
25 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_check_personal_minimums_recency |
|
22 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_dispatch_in_context |
|
4 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
_try_welcome_lock |
|
4 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
send_welcome_email_if_needed |
|
34 |
0 |
0 |
|
100% |
| app/services/notification_service.py |
(no function) |
|
30 |
0 |
0 |
|
100% |
| app/services/recurring_expense_service.py |
_add_months |
|
5 |
0 |
0 |
|
100% |
| app/services/recurring_expense_service.py |
_months_between |
|
1 |
0 |
0 |
|
100% |
| app/services/recurring_expense_service.py |
materialize_recurring_expenses |
|
25 |
0 |
0 |
|
100% |
| app/services/recurring_expense_service.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| app/services/time_band_matching.py |
offset_ring_step_minutes |
|
1 |
0 |
0 |
|
100% |
| app/services/time_band_matching.py |
_minutes |
|
1 |
0 |
0 |
|
100% |
| app/services/time_band_matching.py |
shift_time |
|
2 |
0 |
0 |
|
100% |
| app/services/time_band_matching.py |
time_band_score |
|
13 |
0 |
0 |
|
100% |
| app/services/time_band_matching.py |
widened_span_score |
|
4 |
0 |
0 |
|
100% |
| app/services/time_band_matching.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| app/services/version_service.py |
fetch_versions |
|
13 |
0 |
0 |
|
100% |
| app/services/version_service.py |
fetch_versions._StrictRedirect.redirect_request |
|
4 |
0 |
0 |
|
100% |
| app/services/version_service.py |
fetch_latest_version |
|
2 |
0 |
0 |
|
100% |
| app/services/version_service.py |
upsert_app_setting |
|
5 |
0 |
0 |
|
100% |
| app/services/version_service.py |
_persist_update_flag |
|
6 |
0 |
0 |
|
100% |
| app/services/version_service.py |
run_version_check |
|
19 |
0 |
0 |
|
100% |
| app/services/version_service.py |
startup_recompute_update_flag |
|
7 |
0 |
0 |
|
100% |
| app/services/version_service.py |
version_check_loop |
|
10 |
0 |
0 |
|
100% |
| app/services/version_service.py |
start_version_check_thread |
|
3 |
0 |
0 |
|
100% |
| app/services/version_service.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| app/share/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/share/routes.py |
_generate_token |
|
4 |
0 |
0 |
|
100% |
| app/share/routes.py |
_get_aircraft_or_403 |
|
7 |
0 |
1 |
|
100% |
| app/share/routes.py |
create_token |
|
8 |
0 |
0 |
|
100% |
| app/share/routes.py |
revoke_token |
|
8 |
0 |
0 |
|
100% |
| app/share/routes.py |
token_qr |
|
19 |
0 |
0 |
|
100% |
| app/share/routes.py |
public_view |
|
19 |
0 |
0 |
|
100% |
| app/share/routes.py |
showcase_view |
|
6 |
0 |
0 |
|
100% |
| app/share/routes.py |
showcase_photo |
|
15 |
0 |
0 |
|
100% |
| app/share/routes.py |
(no function) |
|
32 |
0 |
0 |
|
100% |
| app/snags/routes.py |
_tenant_id |
|
4 |
0 |
0 |
|
100% |
| app/snags/routes.py |
_get_aircraft_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/snags/routes.py |
_get_snag_or_404 |
|
4 |
0 |
0 |
|
100% |
| app/snags/routes.py |
_parse_required_date |
|
10 |
0 |
0 |
|
100% |
| app/snags/routes.py |
list_snags |
|
4 |
0 |
0 |
|
100% |
| app/snags/routes.py |
new_snag |
|
4 |
0 |
0 |
|
100% |
| app/snags/routes.py |
edit_snag |
|
5 |
0 |
0 |
|
100% |
| app/snags/routes.py |
_save_snag |
|
77 |
0 |
0 |
|
100% |
| app/snags/routes.py |
resolve_snag |
|
28 |
0 |
0 |
|
100% |
| app/snags/routes.py |
reopen_snag |
|
12 |
0 |
0 |
|
100% |
| app/snags/routes.py |
delete_snag |
|
10 |
0 |
0 |
|
100% |
| app/snags/routes.py |
(no function) |
|
36 |
0 |
0 |
|
100% |
| app/squawk/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/squawk/routes.py |
squawk |
|
3 |
0 |
0 |
|
100% |
| app/squawk/routes.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| app/sync_watcher.py |
_categories |
|
4 |
0 |
0 |
|
100% |
| app/sync_watcher.py |
_scan_once |
|
33 |
0 |
0 |
|
100% |
| app/sync_watcher.py |
_process_file |
|
31 |
0 |
0 |
|
100% |
| app/sync_watcher.py |
_queue_pending |
|
2 |
0 |
0 |
|
100% |
| app/sync_watcher.py |
_watcher_loop |
|
7 |
0 |
0 |
|
100% |
| app/sync_watcher.py |
start_sync_watcher |
|
6 |
0 |
0 |
|
100% |
| app/sync_watcher.py |
(no function) |
|
18 |
0 |
0 |
|
100% |
| app/users/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| app/users/routes.py |
_sl |
|
1 |
0 |
0 |
|
100% |
| app/users/routes.py |
_block_in_demo |
|
2 |
0 |
0 |
|
100% |
| app/users/routes.py |
_tenant_id |
|
3 |
0 |
1 |
|
100% |
| app/users/routes.py |
list_users |
|
10 |
0 |
0 |
|
100% |
| app/users/routes.py |
invite |
|
38 |
0 |
0 |
|
100% |
| app/users/routes.py |
_try_send_invite_email |
|
6 |
0 |
0 |
|
100% |
| app/users/routes.py |
accept_invite |
|
37 |
0 |
0 |
|
100% |
| app/users/routes.py |
change_role |
|
20 |
0 |
0 |
|
100% |
| app/users/routes.py |
revoke_access |
|
13 |
0 |
0 |
|
100% |
| app/users/routes.py |
revoke_invite |
|
6 |
0 |
0 |
|
100% |
| app/users/routes.py |
update_aircraft_access |
|
19 |
0 |
0 |
|
100% |
| app/users/routes.py |
toggle_all_planes |
|
12 |
0 |
0 |
|
100% |
| app/users/routes.py |
update_user_flags |
|
14 |
0 |
0 |
|
100% |
| app/users/routes.py |
edit_permissions |
|
28 |
0 |
0 |
|
100% |
| app/users/routes.py |
edit_permissions._parse_mask |
|
5 |
0 |
0 |
|
100% |
| app/users/routes.py |
edit_permissions._bits_for |
|
2 |
0 |
0 |
|
100% |
| app/users/routes.py |
(no function) |
|
59 |
0 |
0 |
|
100% |
| app/utils.py |
to_libpq_url |
|
2 |
0 |
0 |
|
100% |
| app/utils.py |
_mercator_y |
|
2 |
0 |
0 |
|
100% |
| app/utils.py |
_build_gif_projection |
|
24 |
0 |
0 |
|
100% |
| app/utils.py |
_build_gif_projection.project |
|
3 |
0 |
0 |
|
100% |
| app/utils.py |
_coords_from_geojson |
|
21 |
0 |
0 |
|
100% |
| app/utils.py |
_make_tile_background |
|
60 |
0 |
0 |
|
100% |
| app/utils.py |
_make_tile_background._lon_to_tx |
|
1 |
0 |
0 |
|
100% |
| app/utils.py |
_make_tile_background._lat_to_ty |
|
2 |
0 |
0 |
|
100% |
| app/utils.py |
_make_tile_background._tile_nw_lonlat |
|
3 |
0 |
0 |
|
100% |
| app/utils.py |
_canvas_geo_bounds |
|
24 |
0 |
0 |
|
100% |
| app/utils.py |
sort_tracks_oldest_first |
|
1 |
0 |
0 |
|
100% |
| app/utils.py |
generate_tracks_gif |
|
62 |
0 |
0 |
|
100% |
| app/utils.py |
generate_tracks_gif.draw_shadow_text |
|
2 |
0 |
0 |
|
100% |
| app/utils.py |
generate_tracks_gif.draw_track |
|
8 |
0 |
0 |
|
100% |
| app/utils.py |
generate_tracks_gif._frame_bg |
|
7 |
0 |
0 |
|
100% |
| app/utils.py |
generate_single_track_image |
|
44 |
0 |
0 |
|
100% |
| app/utils.py |
generate_single_track_image._blank_png |
|
3 |
0 |
0 |
|
100% |
| app/utils.py |
generate_single_track_gif |
|
71 |
0 |
0 |
|
100% |
| app/utils.py |
generate_single_track_gif._blank_gif |
|
3 |
0 |
0 |
|
100% |
| app/utils.py |
generate_single_track_gif.draw_shadow_text |
|
2 |
0 |
0 |
|
100% |
| app/utils.py |
generate_single_track_gif.draw_track |
|
8 |
0 |
0 |
|
100% |
| app/utils.py |
generate_single_track_gif._frame_bg |
|
7 |
0 |
0 |
|
100% |
| app/utils.py |
_load_aircraft_types |
|
13 |
0 |
0 |
|
100% |
| app/utils.py |
_load_aircraft_type_variants |
|
16 |
0 |
0 |
|
100% |
| app/utils.py |
_load_aircraft_type_engine_data |
|
17 |
0 |
0 |
|
100% |
| app/utils.py |
get_aircraft_type_engine_info |
|
1 |
0 |
0 |
|
100% |
| app/utils.py |
_build_model_name_prefix_lookup |
|
16 |
0 |
0 |
|
100% |
| app/utils.py |
_sorted_model_prefix_keys |
|
1 |
0 |
0 |
|
100% |
| app/utils.py |
resolve_aircraft_type_icao |
|
19 |
0 |
0 |
|
100% |
| app/utils.py |
_load_airport_names |
|
12 |
0 |
0 |
|
100% |
| app/utils.py |
_sl |
|
1 |
0 |
0 |
|
100% |
| app/utils.py |
activity |
|
6 |
0 |
0 |
|
100% |
| app/utils.py |
AircraftRefConverter.to_python |
|
8 |
0 |
0 |
|
100% |
| app/utils.py |
AircraftRefConverter.to_url |
|
7 |
0 |
0 |
|
100% |
| app/utils.py |
login_required |
|
3 |
0 |
0 |
|
100% |
| app/utils.py |
login_required.decorated |
|
3 |
0 |
0 |
|
100% |
| app/utils.py |
require_instance_admin |
|
3 |
0 |
0 |
|
100% |
| app/utils.py |
require_instance_admin.decorated |
|
8 |
0 |
0 |
|
100% |
| app/utils.py |
current_user_role |
|
6 |
0 |
0 |
|
100% |
| app/utils.py |
check_update_available |
|
14 |
0 |
0 |
|
100% |
| app/utils.py |
check_legacy_logbook_data |
|
6 |
0 |
0 |
|
100% |
| app/utils.py |
require_role |
|
3 |
0 |
0 |
|
100% |
| app/utils.py |
require_role.decorator |
|
2 |
0 |
0 |
|
100% |
| app/utils.py |
require_role.decorator.decorated |
|
3 |
0 |
0 |
|
100% |
| app/utils.py |
require_pilot_access |
|
3 |
0 |
0 |
|
100% |
| app/utils.py |
require_pilot_access.decorated |
|
10 |
0 |
0 |
|
100% |
| app/utils.py |
require_maint_access |
|
3 |
0 |
0 |
|
100% |
| app/utils.py |
require_maint_access.decorated |
|
10 |
0 |
0 |
|
100% |
| app/utils.py |
user_can_access_aircraft |
|
11 |
0 |
0 |
|
100% |
| app/utils.py |
accessible_aircraft |
|
18 |
0 |
0 |
|
100% |
| app/utils.py |
compute_aircraft_statuses |
|
28 |
0 |
0 |
|
100% |
| app/utils.py |
(no function) |
|
61 |
0 |
0 |
|
100% |