3071 lines
39 KiB
Plaintext
3071 lines
39 KiB
Plaintext
SF:app\__init__.py
|
|
end_of_record
|
|
SF:app\api\__init__.py
|
|
end_of_record
|
|
SF:app\api\deps.py
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:13,1
|
|
DA:14,1
|
|
DA:15,1
|
|
DA:17,1
|
|
DA:18,1
|
|
DA:19,1
|
|
DA:20,1
|
|
DA:21,1
|
|
DA:22,1
|
|
DA:23,1
|
|
DA:24,1
|
|
DA:25,1
|
|
DA:26,1
|
|
DA:27,1
|
|
DA:28,1
|
|
DA:29,1
|
|
DA:30,1
|
|
DA:31,1
|
|
DA:32,1
|
|
DA:33,1
|
|
DA:34,1
|
|
DA:35,1
|
|
DA:36,1
|
|
DA:37,1
|
|
DA:38,1
|
|
DA:39,1
|
|
DA:40,1
|
|
DA:41,1
|
|
DA:42,1
|
|
DA:44,1
|
|
DA:45,1
|
|
DA:47,1
|
|
DA:49,1
|
|
DA:50,1
|
|
DA:53,1
|
|
DA:54,1
|
|
DA:61,1
|
|
DA:62,1
|
|
DA:72,1
|
|
DA:73,1
|
|
DA:76,1
|
|
DA:84,1
|
|
DA:85,1
|
|
DA:93,1
|
|
DA:97,1
|
|
DA:98,0
|
|
DA:99,0
|
|
DA:100,0
|
|
DA:101,1
|
|
DA:104,1
|
|
DA:105,1
|
|
DA:119,1
|
|
DA:126,1
|
|
DA:154,1
|
|
DA:157,1
|
|
DA:161,0
|
|
DA:170,1
|
|
DA:173,1
|
|
DA:174,1
|
|
DA:177,1
|
|
DA:180,1
|
|
DA:181,1
|
|
DA:184,1
|
|
DA:187,1
|
|
DA:188,1
|
|
DA:191,1
|
|
DA:194,1
|
|
DA:195,0
|
|
DA:198,1
|
|
DA:201,1
|
|
DA:202,1
|
|
DA:205,1
|
|
DA:208,1
|
|
DA:209,0
|
|
DA:212,1
|
|
DA:215,1
|
|
DA:220,1
|
|
DA:221,1
|
|
DA:223,1
|
|
DA:224,1
|
|
DA:225,1
|
|
DA:226,0
|
|
DA:227,1
|
|
DA:228,1
|
|
DA:230,0
|
|
DA:231,0
|
|
DA:232,0
|
|
DA:236,0
|
|
DA:237,0
|
|
DA:238,0
|
|
DA:239,0
|
|
DA:241,0
|
|
DA:250,1
|
|
DA:253,1
|
|
DA:254,1
|
|
DA:255,1
|
|
DA:256,1
|
|
DA:259,1
|
|
DA:260,1
|
|
DA:261,1
|
|
DA:263,1
|
|
DA:266,1
|
|
DA:267,1
|
|
DA:268,1
|
|
DA:271,1
|
|
DA:274,1
|
|
DA:275,1
|
|
DA:276,1
|
|
DA:277,1
|
|
DA:278,1
|
|
LF:114
|
|
LH:99
|
|
FN:53,58,_non_authentifie
|
|
FNDA:1,_non_authentifie
|
|
FN:61,67,get_token_policy
|
|
FNDA:1,get_token_policy
|
|
FN:73,81,_hasher_cache
|
|
FNDA:1,_hasher_cache
|
|
FN:84,90,get_hasher
|
|
FNDA:1,get_hasher
|
|
FN:93,101,get_client_ip
|
|
FNDA:1,get_client_ip
|
|
FN:104,116,get_mailer
|
|
FNDA:1,get_mailer
|
|
FN:119,151,get_auth_service
|
|
FNDA:1,get_auth_service
|
|
FN:157,167,get_user_service
|
|
FNDA:0,get_user_service
|
|
FN:173,174,get_site_service
|
|
FNDA:1,get_site_service
|
|
FN:180,181,get_alert_service
|
|
FNDA:1,get_alert_service
|
|
FN:187,188,get_recommendation_service
|
|
FNDA:1,get_recommendation_service
|
|
FN:194,195,get_stats_service
|
|
FNDA:0,get_stats_service
|
|
FN:201,202,get_reading_service
|
|
FNDA:1,get_reading_service
|
|
FN:208,209,get_sensor_service
|
|
FNDA:0,get_sensor_service
|
|
FN:215,247,get_current_principal
|
|
FNDA:1,get_current_principal
|
|
FN:253,263,require_role
|
|
FNDA:1,require_role
|
|
FN:254,261,require_role.garde
|
|
FNDA:1,require_role.garde
|
|
FN:271,278,require_trusted_origin
|
|
FNDA:1,require_trusted_origin
|
|
FNF:18
|
|
FNH:15
|
|
BRDA:97,0,jump to line 98,0
|
|
BRDA:97,0,jump to line 101,1
|
|
BRDA:99,0,jump to line 100,-
|
|
BRDA:99,0,jump to line 101,-
|
|
BRDA:220,0,jump to line 221,1
|
|
BRDA:220,0,jump to line 223,1
|
|
BRDA:231,0,jump to line 232,-
|
|
BRDA:231,0,jump to line 236,-
|
|
BRDA:236,0,jump to line 237,-
|
|
BRDA:236,0,jump to line 238,-
|
|
BRDA:238,0,jump to line 239,-
|
|
BRDA:238,0,jump to line 241,-
|
|
BRDA:255,0,jump to line 256,1
|
|
BRDA:255,0,jump to line 259,1
|
|
BRDA:259,0,jump to line 260,1
|
|
BRDA:259,0,jump to line 261,1
|
|
BRDA:275,0,jump to line 276,1
|
|
BRDA:275,0,jump to line 277,1
|
|
BRDA:277,0,jump to line 278,1
|
|
BRDA:277,0,return from function 'require_trusted_origin',0
|
|
BRF:20
|
|
BRH:10
|
|
end_of_record
|
|
SF:app\api\errors.py
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:13,1
|
|
DA:15,1
|
|
DA:18,1
|
|
DA:19,1
|
|
DA:26,1
|
|
DA:31,1
|
|
DA:32,1
|
|
DA:33,1
|
|
DA:39,1
|
|
DA:45,1
|
|
DA:46,1
|
|
DA:47,1
|
|
LF:17
|
|
LH:17
|
|
FN:18,28,validation_error_handler
|
|
FNDA:1,validation_error_handler
|
|
FN:31,42,unhandled_error_handler
|
|
FNDA:1,unhandled_error_handler
|
|
FN:45,47,register_error_handlers
|
|
FNDA:1,register_error_handlers
|
|
FNF:3
|
|
FNH:3
|
|
end_of_record
|
|
SF:app\api\middleware.py
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:11,1
|
|
DA:12,1
|
|
DA:13,1
|
|
DA:15,1
|
|
DA:21,1
|
|
DA:24,1
|
|
DA:25,1
|
|
DA:28,1
|
|
DA:29,1
|
|
DA:30,1
|
|
DA:33,1
|
|
DA:34,1
|
|
DA:35,1
|
|
LF:15
|
|
LH:15
|
|
FN:25,35,SecurityHeadersMiddleware.dispatch
|
|
FNDA:1,SecurityHeadersMiddleware.dispatch
|
|
FNF:1
|
|
FNH:1
|
|
BRDA:29,0,jump to line 30,1
|
|
BRDA:29,0,jump to line 33,1
|
|
BRDA:33,0,jump to line 34,1
|
|
BRDA:33,0,jump to line 35,1
|
|
BRF:4
|
|
BRH:4
|
|
end_of_record
|
|
SF:app\api\openapi.py
|
|
DA:5,1
|
|
DA:7,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:12,1
|
|
DA:14,1
|
|
DA:16,1
|
|
DA:35,1
|
|
DA:88,1
|
|
DA:101,1
|
|
DA:111,1
|
|
DA:121,1
|
|
DA:128,1
|
|
DA:138,1
|
|
DA:151,1
|
|
DA:161,1
|
|
DA:168,1
|
|
LF:17
|
|
LH:17
|
|
end_of_record
|
|
SF:app\api\security.py
|
|
DA:6,1
|
|
DA:8,1
|
|
DA:10,1
|
|
DA:13,1
|
|
DA:14,1
|
|
DA:15,1
|
|
DA:16,1
|
|
DA:18,1
|
|
DA:19,1
|
|
DA:20,1
|
|
DA:23,1
|
|
LF:11
|
|
LH:11
|
|
FN:13,23,require_metrics_token
|
|
FNDA:1,require_metrics_token
|
|
FNF:1
|
|
FNH:1
|
|
BRDA:15,0,jump to line 16,1
|
|
BRDA:15,0,jump to line 18,1
|
|
BRDA:20,0,jump to line 23,1
|
|
BRDA:20,0,return from function 'require_metrics_token',1
|
|
BRF:4
|
|
BRH:4
|
|
end_of_record
|
|
SF:app\api\v1\__init__.py
|
|
end_of_record
|
|
SF:app\api\v1\endpoints\__init__.py
|
|
end_of_record
|
|
SF:app\api\v1\endpoints\alerts.py
|
|
DA:1,1
|
|
DA:3,1
|
|
DA:4,1
|
|
DA:5,1
|
|
DA:7,1
|
|
DA:10,1
|
|
DA:16,1
|
|
DA:22,1
|
|
DA:23,1
|
|
LF:9
|
|
LH:9
|
|
FN:16,23,list_alerts
|
|
FNDA:1,list_alerts
|
|
FNF:1
|
|
FNH:1
|
|
end_of_record
|
|
SF:app\api\v1\endpoints\auth.py
|
|
DA:5,1
|
|
DA:7,1
|
|
DA:14,1
|
|
DA:22,1
|
|
DA:23,1
|
|
DA:24,1
|
|
DA:33,1
|
|
DA:34,1
|
|
DA:42,1
|
|
DA:43,1
|
|
DA:45,1
|
|
DA:46,1
|
|
DA:47,1
|
|
DA:49,1
|
|
DA:70,1
|
|
DA:81,1
|
|
DA:83,1
|
|
DA:85,1
|
|
DA:94,1
|
|
DA:99,1
|
|
DA:109,1
|
|
DA:112,1
|
|
DA:113,1
|
|
DA:114,1
|
|
DA:124,1
|
|
DA:125,1
|
|
DA:126,1
|
|
DA:127,1
|
|
DA:130,1
|
|
DA:131,1
|
|
DA:132,1
|
|
DA:133,1
|
|
DA:134,1
|
|
DA:137,1
|
|
DA:143,1
|
|
DA:151,1
|
|
DA:152,1
|
|
DA:154,1
|
|
DA:155,1
|
|
DA:158,1
|
|
DA:159,1
|
|
DA:160,1
|
|
DA:165,1
|
|
DA:166,1
|
|
DA:167,1
|
|
DA:171,1
|
|
DA:172,1
|
|
DA:175,1
|
|
DA:182,1
|
|
DA:189,1
|
|
DA:191,1
|
|
DA:192,1
|
|
DA:197,1
|
|
DA:198,1
|
|
DA:199,1
|
|
DA:208,1
|
|
DA:211,1
|
|
DA:218,1
|
|
DA:221,1
|
|
DA:222,1
|
|
DA:223,1
|
|
DA:224,1
|
|
DA:225,1
|
|
DA:228,1
|
|
DA:235,1
|
|
DA:241,0
|
|
DA:242,0
|
|
DA:243,0
|
|
DA:244,0
|
|
DA:247,1
|
|
DA:253,1
|
|
DA:254,1
|
|
DA:257,1
|
|
DA:264,1
|
|
DA:273,0
|
|
DA:275,0
|
|
DA:276,0
|
|
DA:283,0
|
|
DA:284,0
|
|
DA:288,0
|
|
DA:289,0
|
|
DA:292,1
|
|
DA:298,1
|
|
DA:306,1
|
|
DA:308,1
|
|
DA:309,1
|
|
DA:315,1
|
|
DA:316,1
|
|
DA:317,1
|
|
DA:324,1
|
|
DA:330,1
|
|
DA:331,1
|
|
DA:334,1
|
|
DA:341,1
|
|
DA:349,1
|
|
DA:351,1
|
|
DA:352,1
|
|
DA:358,1
|
|
DA:359,1
|
|
DA:360,1
|
|
DA:364,1
|
|
DA:365,1
|
|
LF:102
|
|
LH:91
|
|
FN:109,118,repond
|
|
FNDA:1,repond
|
|
FN:124,127,entete_de_suppression
|
|
FNDA:1,entete_de_suppression
|
|
FN:130,134,lit_le_cookie
|
|
FNDA:1,lit_le_cookie
|
|
FN:143,172,login
|
|
FNDA:1,login
|
|
FN:182,208,refresh
|
|
FNDA:1,refresh
|
|
FN:218,225,logout
|
|
FNDA:1,logout
|
|
FN:235,244,logout_all
|
|
FNDA:0,logout_all
|
|
FN:253,254,me
|
|
FNDA:1,me
|
|
FN:264,289,change_password
|
|
FNDA:0,change_password
|
|
FN:298,321,forgot_password
|
|
FNDA:1,forgot_password
|
|
FN:330,331,validate_reset_token
|
|
FNDA:1,validate_reset_token
|
|
FN:341,365,reset_password
|
|
FNDA:1,reset_password
|
|
FNF:12
|
|
FNH:10
|
|
BRDA:132,0,jump to line 133,1
|
|
BRDA:132,0,jump to line 134,1
|
|
BRDA:223,0,jump to line 224,1
|
|
BRDA:223,0,jump to line 225,1
|
|
BRF:4
|
|
BRH:4
|
|
end_of_record
|
|
SF:app\api\v1\endpoints\health.py
|
|
DA:1,1
|
|
DA:2,1
|
|
DA:3,1
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:13,1
|
|
DA:16,1
|
|
DA:17,1
|
|
DA:18,1
|
|
DA:26,1
|
|
DA:27,1
|
|
DA:28,1
|
|
DA:29,1
|
|
DA:32,1
|
|
DA:33,1
|
|
DA:34,1
|
|
DA:39,1
|
|
DA:40,1
|
|
DA:41,1
|
|
DA:46,1
|
|
DA:47,1
|
|
LF:25
|
|
LH:25
|
|
FN:17,23,liveness
|
|
FNDA:1,liveness
|
|
FN:27,47,readiness
|
|
FNDA:1,readiness
|
|
FNF:2
|
|
FNH:2
|
|
BRDA:39,0,jump to line 40,1
|
|
BRDA:39,0,jump to line 46,1
|
|
BRF:2
|
|
BRH:2
|
|
end_of_record
|
|
SF:app\api\v1\endpoints\readings.py
|
|
DA:1,1
|
|
DA:3,1
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:11,1
|
|
DA:13,1
|
|
DA:25,1
|
|
DA:31,1
|
|
DA:40,1
|
|
DA:41,1
|
|
DA:44,1
|
|
DA:45,1
|
|
DA:49,1
|
|
DA:50,1
|
|
DA:54,1
|
|
LF:18
|
|
LH:18
|
|
FN:31,54,list_readings
|
|
FNDA:1,list_readings
|
|
FNF:1
|
|
FNH:1
|
|
end_of_record
|
|
SF:app\api\v1\endpoints\recommendations.py
|
|
DA:1,1
|
|
DA:3,1
|
|
DA:4,1
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:9,1
|
|
DA:11,1
|
|
DA:17,1
|
|
DA:18,1
|
|
DA:21,1
|
|
DA:22,1
|
|
DA:25,1
|
|
DA:31,1
|
|
DA:34,1
|
|
DA:35,1
|
|
DA:36,1
|
|
DA:37,1
|
|
DA:40,1
|
|
LF:19
|
|
LH:19
|
|
FN:18,22,list_recommendations
|
|
FNDA:1,list_recommendations
|
|
FN:31,40,get_recommendation
|
|
FNDA:1,get_recommendation
|
|
FNF:2
|
|
FNH:2
|
|
end_of_record
|
|
SF:app\api\v1\endpoints\sensors.py
|
|
DA:1,1
|
|
DA:3,1
|
|
DA:4,1
|
|
DA:6,1
|
|
DA:9,1
|
|
DA:14,1
|
|
DA:15,1
|
|
DA:16,1
|
|
LF:8
|
|
LH:8
|
|
FN:14,16,get_status
|
|
FNDA:1,get_status
|
|
FNF:1
|
|
FNH:1
|
|
end_of_record
|
|
SF:app\api\v1\endpoints\sites.py
|
|
DA:1,1
|
|
DA:3,1
|
|
DA:4,1
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:9,1
|
|
DA:11,1
|
|
DA:17,1
|
|
DA:18,1
|
|
DA:19,1
|
|
DA:20,1
|
|
DA:23,1
|
|
DA:29,1
|
|
DA:30,1
|
|
DA:31,1
|
|
DA:32,1
|
|
DA:33,1
|
|
DA:36,1
|
|
DA:39,1
|
|
DA:45,1
|
|
DA:46,1
|
|
DA:47,1
|
|
DA:48,1
|
|
DA:49,1
|
|
DA:52,1
|
|
LF:26
|
|
LH:26
|
|
FN:18,20,list_sites
|
|
FNDA:1,list_sites
|
|
FN:29,36,get_site
|
|
FNDA:1,get_site
|
|
FN:45,52,get_current
|
|
FNDA:1,get_current
|
|
FNF:3
|
|
FNH:3
|
|
end_of_record
|
|
SF:app\api\v1\endpoints\stats.py
|
|
DA:1,1
|
|
DA:3,1
|
|
DA:4,1
|
|
DA:6,1
|
|
DA:9,1
|
|
DA:14,1
|
|
DA:15,1
|
|
DA:16,1
|
|
LF:8
|
|
LH:8
|
|
FN:14,16,get_summary
|
|
FNDA:1,get_summary
|
|
FNF:1
|
|
FNH:1
|
|
end_of_record
|
|
SF:app\api\v1\endpoints\users.py
|
|
DA:1,1
|
|
DA:3,1
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:15,1
|
|
DA:17,1
|
|
DA:18,1
|
|
DA:20,1
|
|
DA:25,1
|
|
DA:30,1
|
|
DA:43,1
|
|
DA:44,1
|
|
DA:45,1
|
|
DA:46,1
|
|
DA:49,1
|
|
DA:56,1
|
|
DA:63,1
|
|
DA:64,1
|
|
DA:65,1
|
|
DA:71,1
|
|
DA:72,1
|
|
DA:76,1
|
|
DA:77,1
|
|
DA:83,1
|
|
DA:89,1
|
|
DA:95,1
|
|
DA:96,1
|
|
DA:97,1
|
|
DA:98,1
|
|
DA:99,1
|
|
DA:100,1
|
|
DA:103,1
|
|
DA:104,1
|
|
DA:107,1
|
|
DA:108,1
|
|
DA:113,1
|
|
DA:114,1
|
|
DA:117,0
|
|
DA:118,0
|
|
DA:121,1
|
|
DA:127,1
|
|
DA:130,1
|
|
DA:131,1
|
|
DA:132,1
|
|
DA:133,0
|
|
DA:134,0
|
|
DA:138,1
|
|
DA:139,1
|
|
LF:51
|
|
LH:47
|
|
FN:44,46,list_users
|
|
FNDA:1,list_users
|
|
FN:56,80,create_user
|
|
FNDA:1,create_user
|
|
FN:89,118,update_user
|
|
FNDA:1,update_user
|
|
FN:127,142,reset_password
|
|
FNDA:1,reset_password
|
|
FNF:4
|
|
FNH:4
|
|
BRDA:97,0,jump to line 98,1
|
|
BRDA:97,0,jump to line 99,1
|
|
BRDA:99,0,jump to line 100,1
|
|
BRDA:99,0,jump to line 113,1
|
|
BRDA:113,0,jump to line 114,1
|
|
BRDA:113,0,jump to line 117,0
|
|
BRF:6
|
|
BRH:5
|
|
end_of_record
|
|
SF:app\api\v1\router.py
|
|
DA:1,1
|
|
DA:3,1
|
|
DA:4,1
|
|
DA:16,1
|
|
DA:17,1
|
|
DA:18,1
|
|
DA:19,1
|
|
DA:20,1
|
|
DA:21,1
|
|
DA:24,1
|
|
DA:30,1
|
|
DA:31,1
|
|
DA:34,1
|
|
LF:13
|
|
LH:13
|
|
end_of_record
|
|
SF:app\cli.py
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:12,1
|
|
DA:13,1
|
|
DA:14,1
|
|
DA:15,1
|
|
DA:16,1
|
|
DA:18,1
|
|
DA:20,1
|
|
DA:21,1
|
|
DA:22,1
|
|
DA:23,1
|
|
DA:24,1
|
|
DA:25,1
|
|
DA:26,1
|
|
DA:28,1
|
|
DA:29,1
|
|
DA:32,1
|
|
DA:35,0
|
|
DA:41,0
|
|
DA:43,0
|
|
DA:44,0
|
|
DA:46,0
|
|
DA:47,0
|
|
DA:49,0
|
|
DA:50,0
|
|
DA:52,0
|
|
DA:58,0
|
|
DA:60,0
|
|
DA:69,1
|
|
DA:70,1
|
|
DA:81,1
|
|
DA:82,1
|
|
DA:83,1
|
|
DA:86,1
|
|
DA:87,1
|
|
DA:90,1
|
|
DA:91,1
|
|
DA:92,1
|
|
DA:95,1
|
|
DA:96,1
|
|
DA:97,1
|
|
DA:99,1
|
|
DA:100,1
|
|
DA:101,1
|
|
DA:104,1
|
|
DA:108,1
|
|
DA:111,1
|
|
DA:112,1
|
|
DA:115,1
|
|
DA:116,1
|
|
DA:117,1
|
|
DA:123,1
|
|
DA:124,1
|
|
DA:125,1
|
|
DA:126,1
|
|
DA:127,1
|
|
DA:130,1
|
|
DA:131,1
|
|
DA:132,1
|
|
DA:133,1
|
|
DA:134,1
|
|
DA:136,1
|
|
DA:137,1
|
|
DA:138,1
|
|
DA:139,1
|
|
DA:140,1
|
|
DA:141,1
|
|
DA:142,1
|
|
DA:143,1
|
|
DA:144,1
|
|
DA:145,1
|
|
DA:148,1
|
|
DA:149,1
|
|
DA:151,1
|
|
DA:152,1
|
|
DA:153,1
|
|
DA:155,0
|
|
DA:157,0
|
|
DA:165,0
|
|
DA:166,0
|
|
LF:83
|
|
LH:68
|
|
FN:32,63,create_admin
|
|
FNDA:0,create_admin
|
|
FN:69,78,settings_du_contrat
|
|
FNDA:1,settings_du_contrat
|
|
FN:81,83,schema_du_contrat
|
|
FNDA:1,schema_du_contrat
|
|
FN:86,87,rend_le_contrat
|
|
FNDA:1,rend_le_contrat
|
|
FN:90,92,export_openapi
|
|
FNDA:1,export_openapi
|
|
FN:95,112,build_parser
|
|
FNDA:1,build_parser
|
|
FN:115,127,genere_mot_de_passe
|
|
FNDA:1,genere_mot_de_passe
|
|
FN:130,145,read_password
|
|
FNDA:1,read_password
|
|
FN:148,166,main
|
|
FNDA:1,main
|
|
FNF:9
|
|
FNH:8
|
|
BRDA:46,0,jump to line 47,-
|
|
BRDA:46,0,jump to line 49,-
|
|
BRDA:49,0,jump to line 50,-
|
|
BRDA:49,0,jump to line 52,-
|
|
BRDA:131,0,jump to line 132,1
|
|
BRDA:131,0,jump to line 136,1
|
|
BRDA:137,0,jump to line 138,1
|
|
BRDA:137,0,jump to line 139,1
|
|
BRDA:143,0,jump to line 144,1
|
|
BRDA:143,0,jump to line 145,1
|
|
BRDA:151,0,jump to line 152,1
|
|
BRDA:151,0,jump to line 155,0
|
|
BRF:12
|
|
BRH:7
|
|
end_of_record
|
|
SF:app\core\__init__.py
|
|
end_of_record
|
|
SF:app\core\config.py
|
|
DA:1,1
|
|
DA:2,1
|
|
DA:4,1
|
|
DA:5,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:12,1
|
|
DA:17,1
|
|
DA:18,1
|
|
DA:25,1
|
|
DA:26,1
|
|
DA:27,1
|
|
DA:28,1
|
|
DA:29,1
|
|
DA:30,1
|
|
DA:32,1
|
|
DA:33,1
|
|
DA:34,1
|
|
DA:35,1
|
|
DA:37,1
|
|
DA:38,1
|
|
DA:39,1
|
|
DA:40,1
|
|
DA:42,1
|
|
DA:43,1
|
|
DA:44,1
|
|
DA:45,1
|
|
DA:47,1
|
|
DA:48,1
|
|
DA:49,1
|
|
DA:50,1
|
|
DA:52,1
|
|
DA:53,1
|
|
DA:54,1
|
|
DA:55,1
|
|
DA:57,1
|
|
DA:58,1
|
|
DA:59,1
|
|
DA:60,1
|
|
DA:62,1
|
|
DA:63,1
|
|
DA:64,1
|
|
DA:65,1
|
|
DA:66,1
|
|
DA:67,1
|
|
DA:68,1
|
|
DA:70,1
|
|
DA:71,1
|
|
DA:72,1
|
|
DA:74,1
|
|
DA:75,1
|
|
DA:76,1
|
|
DA:78,1
|
|
DA:79,1
|
|
DA:80,1
|
|
DA:82,1
|
|
DA:83,1
|
|
DA:84,1
|
|
DA:86,1
|
|
DA:87,1
|
|
DA:88,1
|
|
DA:89,1
|
|
DA:90,1
|
|
DA:92,1
|
|
DA:93,1
|
|
DA:94,1
|
|
DA:95,1
|
|
DA:96,1
|
|
DA:99,1
|
|
DA:100,0
|
|
DA:104,1
|
|
DA:105,1
|
|
DA:107,1
|
|
DA:108,1
|
|
DA:112,1
|
|
DA:113,1
|
|
DA:115,1
|
|
DA:116,1
|
|
DA:118,1
|
|
DA:121,1
|
|
DA:122,1
|
|
DA:123,1
|
|
LF:84
|
|
LH:83
|
|
FN:75,76,Settings.allowed_origins
|
|
FNDA:1,Settings.allowed_origins
|
|
FN:79,80,Settings.is_production
|
|
FNDA:1,Settings.is_production
|
|
FN:83,84,Settings.cookies_are_secure
|
|
FNDA:1,Settings.cookies_are_secure
|
|
FN:87,90,Settings.api_docs_are_exposed
|
|
FNDA:1,Settings.api_docs_are_exposed
|
|
FN:93,118,Settings._refuse_les_configurations_dangereuses
|
|
FNDA:1,Settings._refuse_les_configurations_dangereuses
|
|
FN:122,123,get_settings
|
|
FNDA:1,get_settings
|
|
FNF:6
|
|
FNH:6
|
|
BRDA:88,0,jump to line 89,1
|
|
BRDA:88,0,jump to line 90,1
|
|
BRDA:95,0,jump to line 96,1
|
|
BRDA:95,0,jump to line 99,1
|
|
BRDA:99,0,jump to line 100,0
|
|
BRDA:99,0,jump to line 104,1
|
|
BRDA:104,0,jump to line 105,1
|
|
BRDA:104,0,jump to line 107,1
|
|
BRDA:107,0,jump to line 108,1
|
|
BRDA:107,0,jump to line 112,1
|
|
BRDA:112,0,jump to line 113,1
|
|
BRDA:112,0,jump to line 115,1
|
|
BRDA:115,0,jump to line 116,1
|
|
BRDA:115,0,jump to line 118,1
|
|
BRF:14
|
|
BRH:13
|
|
end_of_record
|
|
SF:app\core\cookies.py
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:8,1
|
|
DA:10,1
|
|
DA:13,1
|
|
DA:14,1
|
|
DA:23,1
|
|
DA:24,1
|
|
DA:25,1
|
|
DA:35,1
|
|
DA:36,1
|
|
DA:37,1
|
|
DA:47,1
|
|
DA:48,1
|
|
DA:50,1
|
|
DA:53,1
|
|
DA:54,1
|
|
DA:55,1
|
|
DA:58,1
|
|
DA:59,1
|
|
DA:60,1
|
|
DA:61,1
|
|
LF:22
|
|
LH:22
|
|
FN:24,33,RefreshCookie.build
|
|
FNDA:1,RefreshCookie.build
|
|
FN:36,45,RefreshCookie.expired
|
|
FNDA:1,RefreshCookie.expired
|
|
FN:47,48,RefreshCookie.as_kwargs
|
|
FNDA:1,RefreshCookie.as_kwargs
|
|
FN:50,55,RefreshCookie.as_deletion_kwargs
|
|
FNDA:1,RefreshCookie.as_deletion_kwargs
|
|
FN:58,61,cookie_name
|
|
FNDA:1,cookie_name
|
|
FNF:5
|
|
FNH:5
|
|
BRDA:59,0,jump to line 60,1
|
|
BRDA:59,0,jump to line 61,1
|
|
BRF:2
|
|
BRH:2
|
|
end_of_record
|
|
SF:app\core\hashing.py
|
|
DA:9,1
|
|
DA:11,1
|
|
DA:12,1
|
|
DA:13,1
|
|
DA:14,1
|
|
DA:16,1
|
|
DA:19,1
|
|
DA:20,1
|
|
DA:21,1
|
|
DA:22,1
|
|
DA:23,1
|
|
DA:25,1
|
|
DA:26,1
|
|
DA:28,1
|
|
DA:29,1
|
|
DA:31,1
|
|
DA:32,1
|
|
DA:34,1
|
|
DA:35,1
|
|
DA:36,1
|
|
DA:37,1
|
|
DA:38,1
|
|
DA:40,1
|
|
DA:41,1
|
|
DA:42,1
|
|
DA:43,1
|
|
DA:44,1
|
|
DA:47,1
|
|
DA:54,1
|
|
LF:29
|
|
LH:29
|
|
FN:20,23,Argon2Hasher.__init__
|
|
FNDA:1,Argon2Hasher.__init__
|
|
FN:25,26,Argon2Hasher.hash
|
|
FNDA:1,Argon2Hasher.hash
|
|
FN:28,29,Argon2Hasher.verify
|
|
FNDA:1,Argon2Hasher.verify
|
|
FN:31,32,Argon2Hasher.verify_dummy
|
|
FNDA:1,Argon2Hasher.verify_dummy
|
|
FN:34,38,Argon2Hasher.needs_rehash
|
|
FNDA:1,Argon2Hasher.needs_rehash
|
|
FN:40,44,Argon2Hasher._verify
|
|
FNDA:1,Argon2Hasher._verify
|
|
FN:47,63,build_hasher
|
|
FNDA:1,build_hasher
|
|
FNF:7
|
|
FNH:7
|
|
end_of_record
|
|
SF:app\core\logging.py
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:11,1
|
|
DA:13,1
|
|
DA:15,1
|
|
DA:31,1
|
|
DA:32,1
|
|
DA:33,1
|
|
DA:34,1
|
|
DA:37,1
|
|
DA:38,1
|
|
DA:39,1
|
|
DA:40,1
|
|
DA:41,1
|
|
DA:42,1
|
|
DA:43,1
|
|
DA:44,1
|
|
DA:47,1
|
|
DA:48,1
|
|
DA:49,1
|
|
DA:91,1
|
|
DA:92,1
|
|
LF:24
|
|
LH:24
|
|
FN:31,34,redact
|
|
FNDA:1,redact
|
|
FN:38,44,RedactingFilter.filter
|
|
FNDA:1,RedactingFilter.filter
|
|
FN:47,88,configure_logging
|
|
FNDA:1,configure_logging
|
|
FN:91,92,get_logger
|
|
FNDA:1,get_logger
|
|
FNF:4
|
|
FNH:4
|
|
BRDA:32,0,jump to line 33,1
|
|
BRDA:32,0,jump to line 34,1
|
|
BRDA:41,0,jump to line 42,1
|
|
BRDA:41,0,jump to line 44,1
|
|
BRF:4
|
|
BRH:4
|
|
end_of_record
|
|
SF:app\core\mailer.py
|
|
DA:4,1
|
|
DA:5,1
|
|
DA:7,1
|
|
DA:9,1
|
|
DA:11,1
|
|
DA:14,1
|
|
DA:15,1
|
|
DA:24,1
|
|
DA:25,1
|
|
DA:26,1
|
|
DA:28,1
|
|
DA:29,0
|
|
DA:30,0
|
|
DA:31,0
|
|
DA:32,0
|
|
DA:33,0
|
|
DA:40,0
|
|
DA:48,0
|
|
LF:18
|
|
LH:11
|
|
FN:25,26,Mailer.__init__
|
|
FNDA:1,Mailer.__init__
|
|
FN:28,48,Mailer.send_password_reset_email
|
|
FNDA:0,Mailer.send_password_reset_email
|
|
FNF:2
|
|
FNH:1
|
|
end_of_record
|
|
SF:app\core\principal.py
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:9,1
|
|
DA:12,1
|
|
DA:13,1
|
|
LF:5
|
|
LH:5
|
|
end_of_record
|
|
SF:app\core\roles.py
|
|
DA:1,1
|
|
DA:2,1
|
|
DA:5,1
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:13,1
|
|
DA:14,1
|
|
DA:15,1
|
|
DA:18,1
|
|
DA:25,1
|
|
DA:26,1
|
|
LF:12
|
|
LH:12
|
|
FN:25,26,has_at_least
|
|
FNDA:1,has_at_least
|
|
FNF:1
|
|
FNH:1
|
|
end_of_record
|
|
SF:app\core\security.py
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:12,1
|
|
DA:13,1
|
|
DA:14,1
|
|
DA:15,1
|
|
DA:17,1
|
|
DA:19,1
|
|
DA:20,1
|
|
DA:22,1
|
|
DA:23,1
|
|
DA:26,1
|
|
DA:27,1
|
|
DA:30,1
|
|
DA:31,1
|
|
DA:34,1
|
|
DA:35,1
|
|
DA:42,1
|
|
DA:43,1
|
|
DA:51,1
|
|
DA:59,1
|
|
DA:60,1
|
|
DA:77,1
|
|
DA:78,1
|
|
DA:79,1
|
|
DA:87,1
|
|
DA:88,1
|
|
DA:89,1
|
|
DA:90,1
|
|
DA:92,1
|
|
DA:93,1
|
|
DA:95,1
|
|
DA:96,1
|
|
DA:97,1
|
|
DA:98,1
|
|
DA:99,1
|
|
DA:101,1
|
|
DA:110,1
|
|
DA:111,1
|
|
DA:116,1
|
|
DA:117,1
|
|
LF:41
|
|
LH:41
|
|
FN:51,74,encode_access_token
|
|
FNDA:1,encode_access_token
|
|
FN:77,107,decode_access_token
|
|
FNDA:1,decode_access_token
|
|
FN:110,111,generate_refresh_secret
|
|
FNDA:1,generate_refresh_secret
|
|
FN:116,117,fingerprint_refresh
|
|
FNDA:1,fingerprint_refresh
|
|
FNF:4
|
|
FNH:4
|
|
BRDA:92,0,jump to line 93,1
|
|
BRDA:92,0,jump to line 95,1
|
|
BRF:2
|
|
BRH:2
|
|
end_of_record
|
|
SF:app\db\__init__.py
|
|
end_of_record
|
|
SF:app\db\base.py
|
|
DA:1,1
|
|
DA:4,1
|
|
LF:2
|
|
LH:2
|
|
end_of_record
|
|
SF:app\db\session.py
|
|
DA:1,1
|
|
DA:2,1
|
|
DA:4,1
|
|
DA:11,1
|
|
DA:14,1
|
|
DA:15,1
|
|
DA:16,1
|
|
DA:17,1
|
|
DA:26,1
|
|
DA:27,1
|
|
DA:28,1
|
|
DA:31,1
|
|
DA:32,1
|
|
DA:33,1
|
|
LF:14
|
|
LH:14
|
|
FN:15,23,get_engine
|
|
FNDA:1,get_engine
|
|
FN:27,28,get_session_factory
|
|
FNDA:1,get_session_factory
|
|
FN:31,33,get_session
|
|
FNDA:1,get_session
|
|
FNF:3
|
|
FNH:3
|
|
end_of_record
|
|
SF:app\etl\__init__.py
|
|
end_of_record
|
|
SF:app\etl\historical_import.py
|
|
DA:1,1
|
|
DA:3,1
|
|
DA:4,1
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:12,1
|
|
DA:14,1
|
|
DA:16,1
|
|
DA:34,1
|
|
DA:42,1
|
|
DA:45,1
|
|
DA:47,1
|
|
DA:49,1
|
|
DA:50,1
|
|
DA:51,1
|
|
DA:53,1
|
|
DA:56,1
|
|
DA:58,1
|
|
DA:59,1
|
|
DA:61,1
|
|
DA:62,0
|
|
DA:64,1
|
|
DA:67,1
|
|
DA:76,1
|
|
DA:78,1
|
|
DA:79,1
|
|
DA:80,1
|
|
DA:81,0
|
|
DA:82,1
|
|
DA:83,1
|
|
DA:85,1
|
|
DA:87,1
|
|
DA:89,1
|
|
DA:92,1
|
|
DA:97,1
|
|
DA:99,1
|
|
DA:100,1
|
|
DA:102,1
|
|
DA:104,1
|
|
DA:105,0
|
|
DA:107,1
|
|
DA:108,1
|
|
DA:110,1
|
|
DA:111,1
|
|
DA:115,1
|
|
DA:117,1
|
|
DA:118,1
|
|
DA:120,1
|
|
DA:122,1
|
|
DA:123,0
|
|
DA:127,1
|
|
DA:133,1
|
|
DA:143,1
|
|
DA:145,1
|
|
DA:147,1
|
|
DA:152,1
|
|
DA:153,1
|
|
DA:155,0
|
|
DA:157,1
|
|
DA:159,1
|
|
DA:162,1
|
|
DA:167,1
|
|
DA:168,0
|
|
DA:170,1
|
|
DA:171,1
|
|
DA:172,1
|
|
DA:173,0
|
|
DA:174,0
|
|
DA:176,1
|
|
DA:177,1
|
|
DA:179,1
|
|
DA:180,0
|
|
DA:182,1
|
|
DA:185,1
|
|
DA:198,0
|
|
DA:212,0
|
|
DA:214,0
|
|
DA:215,0
|
|
DA:217,0
|
|
DA:228,0
|
|
DA:260,0
|
|
DA:263,1
|
|
DA:268,0
|
|
DA:281,0
|
|
DA:304,1
|
|
DA:312,1
|
|
DA:314,1
|
|
DA:319,1
|
|
DA:320,1
|
|
DA:322,1
|
|
DA:330,1
|
|
DA:332,1
|
|
DA:366,1
|
|
DA:369,1
|
|
DA:418,1
|
|
DA:435,0
|
|
DA:437,0
|
|
DA:439,0
|
|
DA:444,0
|
|
DA:445,0
|
|
DA:446,0
|
|
DA:447,0
|
|
DA:449,0
|
|
DA:450,0
|
|
DA:452,0
|
|
DA:454,0
|
|
DA:456,0
|
|
DA:457,0
|
|
DA:458,0
|
|
DA:460,0
|
|
DA:465,0
|
|
DA:467,0
|
|
DA:472,0
|
|
DA:473,0
|
|
DA:474,0
|
|
DA:482,0
|
|
DA:487,0
|
|
DA:502,0
|
|
DA:504,0
|
|
DA:509,0
|
|
DA:511,0
|
|
DA:516,0
|
|
DA:521,0
|
|
DA:526,0
|
|
DA:528,0
|
|
DA:543,0
|
|
DA:545,0
|
|
DA:546,0
|
|
DA:547,0
|
|
DA:548,0
|
|
DA:549,0
|
|
DA:552,0
|
|
DA:555,1
|
|
DA:557,0
|
|
DA:559,0
|
|
DA:566,0
|
|
DA:573,0
|
|
DA:579,0
|
|
DA:586,0
|
|
DA:592,0
|
|
DA:595,1
|
|
DA:597,0
|
|
DA:599,0
|
|
DA:600,0
|
|
DA:606,0
|
|
DA:608,0
|
|
DA:620,1
|
|
DA:621,0
|
|
LF:152
|
|
LH:84
|
|
FN:45,53,compute_sha256
|
|
FNDA:1,compute_sha256
|
|
FN:56,64,load_metadata
|
|
FNDA:1,load_metadata
|
|
FN:67,89,classify_quality
|
|
FNDA:1,classify_quality
|
|
FN:92,130,validate_source
|
|
FNDA:1,validate_source
|
|
FN:133,159,normalize_timestamps
|
|
FNDA:1,normalize_timestamps
|
|
FN:162,182,to_json_value
|
|
FNDA:1,to_json_value
|
|
FN:185,260,ensure_dataset
|
|
FNDA:0,ensure_dataset
|
|
FN:263,301,upsert_sites
|
|
FNDA:0,upsert_sites
|
|
FN:304,366,build_reading_batch
|
|
FNDA:1,build_reading_batch
|
|
FN:418,552,import_historical
|
|
FNDA:0,import_historical
|
|
FN:555,592,parse_args
|
|
FNDA:0,parse_args
|
|
FN:595,617,main
|
|
FNDA:0,main
|
|
FNF:12
|
|
FNH:7
|
|
BRDA:50,0,jump to line 51,1
|
|
BRDA:50,0,jump to line 53,1
|
|
BRDA:61,0,jump to line 62,0
|
|
BRDA:61,0,jump to line 64,1
|
|
BRDA:78,0,jump to line 79,1
|
|
BRDA:78,0,jump to line 80,1
|
|
BRDA:80,0,jump to line 81,0
|
|
BRDA:80,0,jump to line 82,1
|
|
BRDA:82,0,jump to line 83,1
|
|
BRDA:82,0,jump to line 85,1
|
|
BRDA:99,0,jump to line 100,1
|
|
BRDA:99,0,jump to line 102,1
|
|
BRDA:104,0,jump to line 105,0
|
|
BRDA:104,0,jump to line 107,1
|
|
BRDA:110,0,jump to line 111,1
|
|
BRDA:110,0,jump to line 115,1
|
|
BRDA:117,0,jump to line 118,1
|
|
BRDA:117,0,jump to line 120,1
|
|
BRDA:122,0,jump to line 123,0
|
|
BRDA:122,0,jump to line 127,1
|
|
BRDA:152,0,jump to line 153,1
|
|
BRDA:152,0,jump to line 155,0
|
|
BRDA:167,0,jump to line 168,0
|
|
BRDA:167,0,jump to line 170,1
|
|
BRDA:171,0,jump to line 172,1
|
|
BRDA:171,0,jump to line 176,1
|
|
BRDA:176,0,jump to line 177,1
|
|
BRDA:176,0,jump to line 179,1
|
|
BRDA:179,0,jump to line 180,0
|
|
BRDA:179,0,jump to line 182,1
|
|
BRDA:214,0,jump to line 215,-
|
|
BRDA:214,0,jump to line 217,-
|
|
BRDA:319,0,jump to line 320,1
|
|
BRDA:319,0,jump to line 366,1
|
|
BRDA:456,0,jump to line 457,-
|
|
BRDA:456,0,jump to line 460,-
|
|
BRDA:504,0,jump to line 509,-
|
|
BRDA:504,0,jump to line 528,-
|
|
BRDA:599,0,jump to line 600,-
|
|
BRDA:599,0,jump to line 606,-
|
|
BRDA:620,0,jump to line 621,0
|
|
BRDA:620,0,exit the module,1
|
|
BRF:42
|
|
BRH:26
|
|
end_of_record
|
|
SF:app\main.py
|
|
DA:1,1
|
|
DA:2,1
|
|
DA:3,1
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:13,1
|
|
DA:14,1
|
|
DA:15,1
|
|
DA:16,1
|
|
DA:17,1
|
|
DA:18,1
|
|
DA:19,1
|
|
DA:20,1
|
|
DA:22,1
|
|
DA:24,1
|
|
DA:25,1
|
|
DA:26,1
|
|
DA:27,1
|
|
DA:30,1
|
|
DA:31,1
|
|
DA:32,0
|
|
DA:33,0
|
|
DA:36,0
|
|
DA:37,0
|
|
DA:40,1
|
|
DA:41,1
|
|
DA:42,1
|
|
DA:44,1
|
|
DA:45,1
|
|
DA:58,1
|
|
DA:59,1
|
|
DA:63,1
|
|
DA:65,1
|
|
DA:66,1
|
|
DA:67,1
|
|
DA:68,1
|
|
DA:70,1
|
|
DA:72,1
|
|
DA:73,1
|
|
DA:74,1
|
|
DA:80,1
|
|
DA:81,1
|
|
DA:82,1
|
|
DA:88,1
|
|
DA:90,1
|
|
DA:93,1
|
|
DA:103,1
|
|
DA:105,1
|
|
DA:111,1
|
|
DA:116,1
|
|
DA:117,1
|
|
DA:119,1
|
|
LF:57
|
|
LH:53
|
|
FN:31,37,lifespan
|
|
FNDA:0,lifespan
|
|
FN:40,119,create_app
|
|
FNDA:1,create_app
|
|
FN:65,68,create_app.openapi_avec_logo
|
|
FNDA:1,create_app.openapi_avec_logo
|
|
FN:73,78,create_app.docs_swagger
|
|
FNDA:1,create_app.docs_swagger
|
|
FN:81,86,create_app.docs_redoc
|
|
FNDA:1,create_app.docs_redoc
|
|
FNF:5
|
|
FNH:4
|
|
BRDA:58,0,jump to line 59,1
|
|
BRDA:58,0,jump to line 88,1
|
|
BRDA:90,0,jump to line 93,1
|
|
BRDA:90,0,jump to line 103,1
|
|
BRDA:116,0,jump to line 117,1
|
|
BRDA:116,0,jump to line 119,1
|
|
BRF:6
|
|
BRH:6
|
|
end_of_record
|
|
SF:app\models\__init__.py
|
|
DA:4,1
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:12,1
|
|
LF:8
|
|
LH:8
|
|
end_of_record
|
|
SF:app\models\audit_log.py
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:12,1
|
|
DA:13,1
|
|
DA:14,1
|
|
DA:15,1
|
|
DA:17,1
|
|
DA:20,1
|
|
DA:21,1
|
|
DA:22,1
|
|
DA:25,1
|
|
DA:26,1
|
|
DA:27,1
|
|
DA:28,1
|
|
DA:29,1
|
|
DA:30,1
|
|
DA:31,1
|
|
DA:32,1
|
|
DA:33,1
|
|
DA:34,1
|
|
DA:35,1
|
|
DA:36,1
|
|
DA:37,1
|
|
DA:40,1
|
|
DA:43,1
|
|
DA:44,1
|
|
DA:45,1
|
|
DA:51,1
|
|
DA:52,1
|
|
DA:55,1
|
|
DA:56,1
|
|
DA:57,1
|
|
DA:58,1
|
|
DA:59,1
|
|
DA:60,1
|
|
DA:61,1
|
|
DA:62,1
|
|
DA:63,1
|
|
DA:64,1
|
|
LF:41
|
|
LH:41
|
|
end_of_record
|
|
SF:app\models\energy.py
|
|
DA:3,1
|
|
DA:4,1
|
|
DA:5,1
|
|
DA:7,1
|
|
DA:24,1
|
|
DA:25,1
|
|
DA:27,1
|
|
DA:30,1
|
|
DA:31,1
|
|
DA:32,1
|
|
DA:37,1
|
|
DA:38,1
|
|
DA:39,1
|
|
DA:40,1
|
|
DA:41,1
|
|
DA:43,1
|
|
DA:46,1
|
|
DA:47,1
|
|
DA:49,1
|
|
DA:50,1
|
|
DA:51,1
|
|
DA:52,1
|
|
DA:53,1
|
|
DA:54,1
|
|
DA:57,1
|
|
DA:58,1
|
|
DA:59,1
|
|
DA:81,1
|
|
DA:82,1
|
|
DA:85,1
|
|
DA:86,1
|
|
DA:87,1
|
|
DA:91,1
|
|
DA:92,1
|
|
DA:93,1
|
|
DA:94,1
|
|
DA:95,1
|
|
DA:96,1
|
|
DA:97,1
|
|
DA:98,1
|
|
DA:99,1
|
|
DA:100,1
|
|
DA:101,1
|
|
DA:102,1
|
|
DA:103,1
|
|
DA:104,1
|
|
DA:105,1
|
|
DA:108,1
|
|
DA:111,1
|
|
DA:121,1
|
|
DA:122,1
|
|
DA:123,1
|
|
DA:145,1
|
|
DA:146,1
|
|
DA:149,1
|
|
DA:150,1
|
|
DA:151,1
|
|
DA:152,1
|
|
DA:153,1
|
|
DA:154,1
|
|
DA:155,1
|
|
DA:156,1
|
|
DA:159,1
|
|
DA:160,1
|
|
DA:161,1
|
|
DA:179,1
|
|
DA:180,1
|
|
DA:181,1
|
|
DA:184,1
|
|
DA:185,1
|
|
DA:186,1
|
|
DA:187,1
|
|
DA:188,1
|
|
DA:189,1
|
|
DA:190,1
|
|
DA:191,1
|
|
DA:192,1
|
|
DA:193,1
|
|
DA:196,1
|
|
DA:197,1
|
|
DA:198,1
|
|
DA:202,1
|
|
DA:203,1
|
|
DA:207,1
|
|
DA:208,1
|
|
DA:209,1
|
|
DA:210,1
|
|
LF:87
|
|
LH:87
|
|
end_of_record
|
|
SF:app\models\login_attempt.py
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:11,1
|
|
DA:12,1
|
|
DA:13,1
|
|
DA:14,1
|
|
DA:16,1
|
|
DA:19,1
|
|
DA:20,1
|
|
DA:21,1
|
|
DA:22,1
|
|
DA:23,1
|
|
DA:26,1
|
|
DA:29,1
|
|
DA:30,1
|
|
DA:31,1
|
|
DA:37,1
|
|
DA:38,1
|
|
DA:41,1
|
|
DA:42,1
|
|
DA:43,1
|
|
DA:44,1
|
|
LF:23
|
|
LH:23
|
|
end_of_record
|
|
SF:app\models\password_reset_attempt.py
|
|
DA:6,1
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:12,1
|
|
DA:15,1
|
|
DA:16,1
|
|
DA:17,1
|
|
DA:22,1
|
|
DA:23,1
|
|
DA:26,1
|
|
DA:27,1
|
|
LF:12
|
|
LH:12
|
|
end_of_record
|
|
SF:app\models\password_reset_token.py
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:13,1
|
|
DA:16,1
|
|
DA:17,1
|
|
DA:18,1
|
|
DA:27,1
|
|
DA:30,1
|
|
DA:33,1
|
|
DA:34,1
|
|
DA:37,1
|
|
DA:38,1
|
|
DA:39,1
|
|
DA:40,1
|
|
LF:18
|
|
LH:18
|
|
end_of_record
|
|
SF:app\models\refresh_token.py
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:12,1
|
|
DA:13,1
|
|
DA:14,1
|
|
DA:15,1
|
|
DA:17,1
|
|
DA:20,1
|
|
DA:21,1
|
|
DA:22,1
|
|
DA:23,1
|
|
DA:24,1
|
|
DA:25,1
|
|
DA:28,1
|
|
DA:31,1
|
|
DA:32,1
|
|
DA:33,1
|
|
DA:47,1
|
|
DA:50,1
|
|
DA:51,1
|
|
DA:54,1
|
|
DA:55,1
|
|
DA:58,1
|
|
DA:59,1
|
|
DA:60,1
|
|
DA:61,1
|
|
DA:62,1
|
|
DA:63,1
|
|
DA:64,1
|
|
LF:30
|
|
LH:30
|
|
end_of_record
|
|
SF:app\models\user.py
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:12,1
|
|
DA:13,1
|
|
DA:15,1
|
|
DA:16,1
|
|
DA:19,1
|
|
DA:20,1
|
|
DA:21,1
|
|
DA:27,1
|
|
DA:30,1
|
|
DA:31,1
|
|
DA:32,1
|
|
DA:33,1
|
|
DA:34,1
|
|
DA:35,1
|
|
DA:40,1
|
|
DA:43,1
|
|
DA:44,1
|
|
DA:45,1
|
|
DA:48,1
|
|
LF:24
|
|
LH:24
|
|
end_of_record
|
|
SF:app\repositories\__init__.py
|
|
end_of_record
|
|
SF:app\repositories\alert.py
|
|
DA:1,1
|
|
DA:3,1
|
|
DA:4,1
|
|
DA:6,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:13,1
|
|
DA:16,1
|
|
DA:17,1
|
|
DA:18,0
|
|
DA:19,1
|
|
DA:20,0
|
|
DA:21,1
|
|
LF:14
|
|
LH:12
|
|
FN:10,11,AlertRepository.__init__
|
|
FNDA:1,AlertRepository.__init__
|
|
FN:13,21,AlertRepository.list_all
|
|
FNDA:1,AlertRepository.list_all
|
|
FNF:2
|
|
FNH:2
|
|
BRDA:17,0,jump to line 18,0
|
|
BRDA:17,0,jump to line 19,1
|
|
BRDA:19,0,jump to line 20,0
|
|
BRDA:19,0,jump to line 21,1
|
|
BRF:4
|
|
BRH:2
|
|
end_of_record
|
|
SF:app\repositories\audit_log.py
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:8,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:13,1
|
|
DA:26,1
|
|
DA:27,0
|
|
DA:28,0
|
|
DA:29,0
|
|
DA:32,1
|
|
DA:33,1
|
|
DA:34,1
|
|
DA:36,1
|
|
DA:49,0
|
|
LF:15
|
|
LH:11
|
|
FN:26,29,assemble_detail
|
|
FNDA:0,assemble_detail
|
|
FN:33,34,AuditLogRepository.__init__
|
|
FNDA:1,AuditLogRepository.__init__
|
|
FN:36,62,AuditLogRepository.record
|
|
FNDA:0,AuditLogRepository.record
|
|
FNF:3
|
|
FNH:1
|
|
BRDA:27,0,jump to line 28,-
|
|
BRDA:27,0,jump to line 29,-
|
|
BRF:2
|
|
BRH:0
|
|
end_of_record
|
|
SF:app\repositories\login_attempt.py
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:12,1
|
|
DA:15,1
|
|
DA:16,1
|
|
DA:22,1
|
|
DA:23,1
|
|
DA:24,1
|
|
DA:26,1
|
|
DA:34,0
|
|
DA:43,1
|
|
DA:46,0
|
|
DA:47,0
|
|
DA:48,0
|
|
DA:50,0
|
|
DA:60,0
|
|
DA:63,0
|
|
LF:20
|
|
LH:13
|
|
FN:23,24,LoginAttemptRepository.__init__
|
|
FNDA:1,LoginAttemptRepository.__init__
|
|
FN:26,41,LoginAttemptRepository.record
|
|
FNDA:0,LoginAttemptRepository.record
|
|
FN:43,67,LoginAttemptRepository.count_recent_failures
|
|
FNDA:0,LoginAttemptRepository.count_recent_failures
|
|
FNF:3
|
|
FNH:1
|
|
end_of_record
|
|
SF:app\repositories\password_reset_attempt.py
|
|
DA:1,1
|
|
DA:2,1
|
|
DA:4,1
|
|
DA:5,1
|
|
DA:7,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:16,1
|
|
DA:17,1
|
|
DA:18,1
|
|
DA:20,1
|
|
DA:21,0
|
|
DA:25,1
|
|
DA:28,0
|
|
DA:29,0
|
|
DA:30,0
|
|
DA:32,0
|
|
DA:41,0
|
|
DA:42,0
|
|
LF:19
|
|
LH:12
|
|
FN:17,18,PasswordResetAttemptRepository.__init__
|
|
FNDA:1,PasswordResetAttemptRepository.__init__
|
|
FN:20,23,PasswordResetAttemptRepository.record
|
|
FNDA:0,PasswordResetAttemptRepository.record
|
|
FN:25,42,PasswordResetAttemptRepository.count_recent
|
|
FNDA:0,PasswordResetAttemptRepository.count_recent
|
|
FNF:3
|
|
FNH:1
|
|
end_of_record
|
|
SF:app\repositories\password_reset_token.py
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:12,1
|
|
DA:15,1
|
|
DA:16,1
|
|
DA:21,1
|
|
DA:22,1
|
|
DA:23,1
|
|
DA:25,1
|
|
DA:34,0
|
|
DA:41,0
|
|
DA:42,0
|
|
DA:43,0
|
|
DA:45,1
|
|
DA:46,0
|
|
DA:56,0
|
|
DA:57,0
|
|
DA:58,0
|
|
DA:59,0
|
|
DA:63,1
|
|
DA:64,0
|
|
DA:69,0
|
|
DA:71,1
|
|
DA:72,0
|
|
DA:78,0
|
|
LF:28
|
|
LH:15
|
|
FN:22,23,PasswordResetTokenRepository.__init__
|
|
FNDA:1,PasswordResetTokenRepository.__init__
|
|
FN:25,43,PasswordResetTokenRepository.create
|
|
FNDA:0,PasswordResetTokenRepository.create
|
|
FN:45,59,PasswordResetTokenRepository.consume
|
|
FNDA:0,PasswordResetTokenRepository.consume
|
|
FN:63,69,PasswordResetTokenRepository.exists_valid
|
|
FNDA:0,PasswordResetTokenRepository.exists_valid
|
|
FN:71,78,PasswordResetTokenRepository.invalidate_all_for_user
|
|
FNDA:0,PasswordResetTokenRepository.invalidate_all_for_user
|
|
FNF:5
|
|
FNH:1
|
|
BRDA:57,0,jump to line 58,-
|
|
BRDA:57,0,jump to line 59,-
|
|
BRF:2
|
|
BRH:0
|
|
end_of_record
|
|
SF:app\repositories\reading.py
|
|
DA:1,1
|
|
DA:2,1
|
|
DA:4,1
|
|
DA:5,1
|
|
DA:7,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:12,1
|
|
DA:14,1
|
|
DA:18,0
|
|
DA:23,0
|
|
DA:25,1
|
|
DA:28,0
|
|
DA:34,0
|
|
DA:35,0
|
|
DA:37,1
|
|
DA:46,1
|
|
DA:53,1
|
|
DA:54,0
|
|
DA:55,1
|
|
LF:20
|
|
LH:14
|
|
FN:11,12,ReadingRepository.__init__
|
|
FNDA:1,ReadingRepository.__init__
|
|
FN:14,23,ReadingRepository.latest_by_site
|
|
FNDA:0,ReadingRepository.latest_by_site
|
|
FN:25,35,ReadingRepository.latest_for_site
|
|
FNDA:0,ReadingRepository.latest_for_site
|
|
FN:37,55,ReadingRepository.list_history
|
|
FNDA:1,ReadingRepository.list_history
|
|
FNF:4
|
|
FNH:2
|
|
BRDA:53,0,jump to line 54,0
|
|
BRDA:53,0,jump to line 55,1
|
|
BRF:2
|
|
BRH:1
|
|
end_of_record
|
|
SF:app\repositories\recommendation.py
|
|
DA:1,1
|
|
DA:3,1
|
|
DA:4,1
|
|
DA:6,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:13,1
|
|
DA:14,1
|
|
DA:15,1
|
|
DA:17,1
|
|
DA:18,1
|
|
DA:21,1
|
|
DA:22,1
|
|
LF:14
|
|
LH:14
|
|
FN:10,11,RecommendationRepository.__init__
|
|
FNDA:1,RecommendationRepository.__init__
|
|
FN:13,15,RecommendationRepository.list_all
|
|
FNDA:1,RecommendationRepository.list_all
|
|
FN:17,22,RecommendationRepository.get_by_id
|
|
FNDA:1,RecommendationRepository.get_by_id
|
|
FNF:3
|
|
FNH:3
|
|
end_of_record
|
|
SF:app\repositories\refresh_token.py
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:13,1
|
|
DA:16,1
|
|
DA:17,1
|
|
DA:24,1
|
|
DA:25,1
|
|
DA:26,1
|
|
DA:28,1
|
|
DA:38,0
|
|
DA:46,0
|
|
DA:47,0
|
|
DA:48,0
|
|
DA:50,1
|
|
DA:51,0
|
|
DA:71,0
|
|
DA:72,0
|
|
DA:73,0
|
|
DA:74,0
|
|
DA:81,1
|
|
DA:82,0
|
|
DA:83,0
|
|
DA:85,1
|
|
DA:86,0
|
|
DA:90,1
|
|
DA:91,0
|
|
DA:97,0
|
|
DA:99,1
|
|
DA:100,0
|
|
DA:106,0
|
|
LF:33
|
|
LH:17
|
|
FN:25,26,RefreshTokenRepository.__init__
|
|
FNDA:1,RefreshTokenRepository.__init__
|
|
FN:28,48,RefreshTokenRepository.create
|
|
FNDA:0,RefreshTokenRepository.create
|
|
FN:50,79,RefreshTokenRepository.claim_for_rotation
|
|
FNDA:0,RefreshTokenRepository.claim_for_rotation
|
|
FN:81,83,RefreshTokenRepository.inspect
|
|
FNDA:0,RefreshTokenRepository.inspect
|
|
FN:85,88,RefreshTokenRepository.link_replacement
|
|
FNDA:0,RefreshTokenRepository.link_replacement
|
|
FN:90,97,RefreshTokenRepository.revoke_family
|
|
FNDA:0,RefreshTokenRepository.revoke_family
|
|
FN:99,106,RefreshTokenRepository.revoke_all_for_user
|
|
FNDA:0,RefreshTokenRepository.revoke_all_for_user
|
|
FNF:7
|
|
FNH:1
|
|
BRDA:72,0,jump to line 73,-
|
|
BRDA:72,0,jump to line 74,-
|
|
BRF:2
|
|
BRH:0
|
|
end_of_record
|
|
SF:app\repositories\site.py
|
|
DA:1,1
|
|
DA:3,1
|
|
DA:4,1
|
|
DA:6,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:13,1
|
|
DA:14,1
|
|
DA:15,1
|
|
DA:17,1
|
|
DA:18,1
|
|
DA:19,1
|
|
DA:20,1
|
|
LF:14
|
|
LH:14
|
|
FN:10,11,SiteRepository.__init__
|
|
FNDA:1,SiteRepository.__init__
|
|
FN:13,15,SiteRepository.list_all
|
|
FNDA:1,SiteRepository.list_all
|
|
FN:17,20,SiteRepository.get_by_id
|
|
FNDA:1,SiteRepository.get_by_id
|
|
FNF:3
|
|
FNH:3
|
|
end_of_record
|
|
SF:app\repositories\user.py
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:12,1
|
|
DA:13,1
|
|
DA:16,1
|
|
DA:17,1
|
|
DA:18,1
|
|
DA:20,1
|
|
DA:21,0
|
|
DA:22,0
|
|
DA:24,1
|
|
DA:25,0
|
|
DA:27,1
|
|
DA:28,0
|
|
DA:29,0
|
|
DA:31,1
|
|
DA:32,0
|
|
DA:37,0
|
|
DA:39,1
|
|
DA:49,0
|
|
DA:57,0
|
|
DA:58,0
|
|
DA:59,0
|
|
DA:61,1
|
|
DA:64,0
|
|
DA:74,1
|
|
DA:76,0
|
|
DA:80,1
|
|
DA:81,0
|
|
DA:85,1
|
|
DA:86,0
|
|
DA:92,1
|
|
DA:93,0
|
|
LF:35
|
|
LH:19
|
|
FN:17,18,UserRepository.__init__
|
|
FNDA:1,UserRepository.__init__
|
|
FN:20,22,UserRepository.get_by_email
|
|
FNDA:0,UserRepository.get_by_email
|
|
FN:24,25,UserRepository.get_by_id
|
|
FNDA:0,UserRepository.get_by_id
|
|
FN:27,29,UserRepository.list_all
|
|
FNDA:0,UserRepository.list_all
|
|
FN:31,37,UserRepository.count_active_admins
|
|
FNDA:0,UserRepository.count_active_admins
|
|
FN:39,59,UserRepository.create
|
|
FNDA:0,UserRepository.create
|
|
FN:61,72,UserRepository.update_password
|
|
FNDA:0,UserRepository.update_password
|
|
FN:74,78,UserRepository.rehash_password
|
|
FNDA:0,UserRepository.rehash_password
|
|
FN:80,83,UserRepository.touch_last_login
|
|
FNDA:0,UserRepository.touch_last_login
|
|
FN:85,90,UserRepository.set_role
|
|
FNDA:0,UserRepository.set_role
|
|
FN:92,97,UserRepository.set_active
|
|
FNDA:0,UserRepository.set_active
|
|
FNF:11
|
|
FNH:1
|
|
end_of_record
|
|
SF:app\schemas\__init__.py
|
|
DA:1,1
|
|
DA:3,1
|
|
LF:2
|
|
LH:2
|
|
end_of_record
|
|
SF:app\schemas\alert.py
|
|
DA:1,1
|
|
DA:2,1
|
|
DA:4,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:12,1
|
|
DA:15,1
|
|
DA:16,1
|
|
DA:17,1
|
|
DA:18,1
|
|
DA:19,1
|
|
DA:22,1
|
|
DA:23,1
|
|
LF:16
|
|
LH:16
|
|
end_of_record
|
|
SF:app\schemas\auth.py
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:12,1
|
|
DA:14,1
|
|
DA:15,1
|
|
DA:17,1
|
|
DA:18,1
|
|
DA:20,1
|
|
DA:22,1
|
|
DA:23,1
|
|
DA:24,1
|
|
DA:25,1
|
|
DA:28,1
|
|
DA:29,1
|
|
DA:39,1
|
|
DA:40,1
|
|
DA:41,1
|
|
DA:44,1
|
|
DA:46,1
|
|
DA:49,1
|
|
DA:50,1
|
|
DA:51,1
|
|
DA:53,1
|
|
DA:54,1
|
|
DA:55,1
|
|
DA:56,1
|
|
DA:59,1
|
|
DA:63,1
|
|
DA:64,1
|
|
DA:65,1
|
|
DA:67,1
|
|
DA:68,1
|
|
DA:69,1
|
|
DA:70,1
|
|
DA:73,1
|
|
DA:74,1
|
|
DA:82,1
|
|
DA:83,1
|
|
DA:84,1
|
|
DA:87,1
|
|
DA:91,1
|
|
DA:93,1
|
|
LF:43
|
|
LH:43
|
|
FN:28,41,valide_complexite
|
|
FNDA:1,valide_complexite
|
|
FN:55,56,PasswordChangeRequest._new_password_est_complexe
|
|
FNDA:1,PasswordChangeRequest._new_password_est_complexe
|
|
FN:69,70,ResetPasswordRequest._new_password_est_complexe
|
|
FNDA:1,ResetPasswordRequest._new_password_est_complexe
|
|
FN:83,84,PrincipalResponse.from_principal
|
|
FNDA:1,PrincipalResponse.from_principal
|
|
FNF:4
|
|
FNH:4
|
|
BRDA:39,0,jump to line 40,1
|
|
BRDA:39,0,jump to line 41,1
|
|
BRF:2
|
|
BRH:2
|
|
end_of_record
|
|
SF:app\schemas\errors.py
|
|
DA:5,1
|
|
DA:8,1
|
|
DA:12,1
|
|
DA:17,1
|
|
DA:21,1
|
|
LF:5
|
|
LH:5
|
|
end_of_record
|
|
SF:app\schemas\health.py
|
|
DA:1,1
|
|
DA:3,1
|
|
DA:6,1
|
|
DA:16,1
|
|
LF:4
|
|
LH:4
|
|
end_of_record
|
|
SF:app\schemas\reading.py
|
|
DA:1,1
|
|
DA:2,1
|
|
DA:3,1
|
|
DA:4,1
|
|
DA:6,1
|
|
DA:9,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:12,1
|
|
DA:15,1
|
|
DA:16,1
|
|
DA:17,1
|
|
DA:18,1
|
|
DA:19,1
|
|
DA:22,1
|
|
DA:23,1
|
|
LF:16
|
|
LH:16
|
|
end_of_record
|
|
SF:app\schemas\recommendation.py
|
|
DA:1,1
|
|
DA:3,1
|
|
DA:6,1
|
|
DA:7,1
|
|
LF:4
|
|
LH:4
|
|
end_of_record
|
|
SF:app\schemas\sensor.py
|
|
DA:1,1
|
|
DA:2,1
|
|
DA:4,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:11,1
|
|
DA:19,1
|
|
DA:20,1
|
|
DA:29,1
|
|
DA:30,1
|
|
DA:38,1
|
|
DA:39,1
|
|
LF:12
|
|
LH:12
|
|
end_of_record
|
|
SF:app\schemas\site.py
|
|
DA:1,1
|
|
DA:2,1
|
|
DA:4,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:18,1
|
|
DA:19,1
|
|
LF:7
|
|
LH:7
|
|
end_of_record
|
|
SF:app\schemas\stats.py
|
|
DA:1,1
|
|
DA:2,1
|
|
DA:4,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:18,1
|
|
DA:19,1
|
|
LF:7
|
|
LH:7
|
|
end_of_record
|
|
SF:app\schemas\user.py
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:8,1
|
|
DA:10,1
|
|
DA:13,1
|
|
DA:16,1
|
|
DA:19,1
|
|
DA:20,1
|
|
DA:21,1
|
|
DA:24,1
|
|
DA:25,1
|
|
DA:38,1
|
|
LF:12
|
|
LH:12
|
|
end_of_record
|
|
SF:app\services\__init__.py
|
|
end_of_record
|
|
SF:app\services\alert.py
|
|
DA:1,1
|
|
DA:3,1
|
|
DA:4,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:11,1
|
|
DA:14,1
|
|
LF:8
|
|
LH:8
|
|
FN:8,9,AlertService.__init__
|
|
FNDA:1,AlertService.__init__
|
|
FN:11,14,AlertService.list_all
|
|
FNDA:1,AlertService.list_all
|
|
FNF:2
|
|
FNH:2
|
|
end_of_record
|
|
SF:app\services\auth.py
|
|
DA:12,1
|
|
DA:13,1
|
|
DA:14,1
|
|
DA:15,1
|
|
DA:17,1
|
|
DA:19,1
|
|
DA:20,1
|
|
DA:21,1
|
|
DA:22,1
|
|
DA:23,1
|
|
DA:24,1
|
|
DA:30,1
|
|
DA:31,1
|
|
DA:32,1
|
|
DA:33,1
|
|
DA:34,1
|
|
DA:35,1
|
|
DA:36,1
|
|
DA:37,1
|
|
DA:38,1
|
|
DA:40,1
|
|
DA:43,1
|
|
DA:47,1
|
|
DA:48,1
|
|
DA:51,1
|
|
DA:52,1
|
|
DA:55,1
|
|
DA:56,1
|
|
DA:59,1
|
|
DA:60,1
|
|
DA:61,1
|
|
DA:62,1
|
|
DA:65,1
|
|
DA:66,1
|
|
DA:69,1
|
|
DA:70,1
|
|
DA:77,1
|
|
DA:78,1
|
|
DA:86,1
|
|
DA:87,1
|
|
DA:94,1
|
|
DA:95,1
|
|
DA:112,1
|
|
DA:113,1
|
|
DA:114,1
|
|
DA:115,1
|
|
DA:116,1
|
|
DA:117,1
|
|
DA:118,1
|
|
DA:119,1
|
|
DA:120,1
|
|
DA:121,1
|
|
DA:122,1
|
|
DA:123,1
|
|
DA:124,1
|
|
DA:126,1
|
|
DA:129,1
|
|
DA:131,1
|
|
DA:132,1
|
|
DA:133,1
|
|
DA:134,1
|
|
DA:136,1
|
|
DA:137,1
|
|
DA:141,1
|
|
DA:142,1
|
|
DA:146,1
|
|
DA:147,1
|
|
DA:149,1
|
|
DA:150,1
|
|
DA:153,1
|
|
DA:156,1
|
|
DA:158,1
|
|
DA:160,1
|
|
DA:163,1
|
|
DA:164,1
|
|
DA:165,1
|
|
DA:166,1
|
|
DA:168,1
|
|
DA:169,1
|
|
DA:170,1
|
|
DA:171,1
|
|
DA:172,1
|
|
DA:174,1
|
|
DA:175,1
|
|
DA:183,1
|
|
DA:184,1
|
|
DA:186,1
|
|
DA:188,1
|
|
DA:189,1
|
|
DA:190,1
|
|
DA:191,1
|
|
DA:192,1
|
|
DA:194,1
|
|
DA:203,1
|
|
DA:204,1
|
|
DA:205,1
|
|
DA:207,1
|
|
DA:212,1
|
|
DA:215,1
|
|
DA:218,1
|
|
DA:227,1
|
|
DA:229,1
|
|
DA:230,1
|
|
DA:232,1
|
|
DA:240,1
|
|
DA:242,1
|
|
DA:248,1
|
|
DA:249,1
|
|
DA:250,1
|
|
DA:251,1
|
|
DA:252,1
|
|
DA:254,1
|
|
DA:255,1
|
|
DA:256,1
|
|
DA:263,1
|
|
DA:264,1
|
|
DA:272,1
|
|
DA:274,1
|
|
DA:275,1
|
|
DA:277,1
|
|
DA:278,1
|
|
DA:279,1
|
|
DA:280,1
|
|
DA:281,1
|
|
DA:287,1
|
|
DA:288,1
|
|
DA:290,1
|
|
DA:293,1
|
|
DA:294,1
|
|
DA:295,1
|
|
DA:300,1
|
|
DA:301,1
|
|
DA:302,1
|
|
DA:304,1
|
|
DA:307,1
|
|
DA:310,1
|
|
DA:313,1
|
|
DA:321,1
|
|
DA:323,1
|
|
DA:324,1
|
|
DA:325,0
|
|
DA:326,1
|
|
DA:328,1
|
|
DA:329,1
|
|
DA:332,1
|
|
DA:337,1
|
|
DA:338,1
|
|
DA:340,1
|
|
DA:341,1
|
|
DA:347,1
|
|
DA:354,1
|
|
DA:355,1
|
|
DA:363,1
|
|
DA:366,1
|
|
DA:367,1
|
|
DA:375,1
|
|
DA:377,1
|
|
DA:380,1
|
|
DA:381,1
|
|
DA:382,1
|
|
DA:384,1
|
|
DA:385,1
|
|
DA:389,1
|
|
DA:392,1
|
|
DA:401,1
|
|
DA:402,1
|
|
DA:404,1
|
|
DA:407,1
|
|
DA:408,1
|
|
DA:412,1
|
|
DA:417,1
|
|
DA:418,1
|
|
DA:420,1
|
|
DA:423,1
|
|
DA:424,1
|
|
DA:432,1
|
|
DA:433,1
|
|
DA:435,1
|
|
DA:436,1
|
|
DA:437,1
|
|
DA:441,1
|
|
DA:445,1
|
|
DA:446,1
|
|
DA:448,1
|
|
DA:449,1
|
|
DA:450,1
|
|
DA:452,1
|
|
DA:460,1
|
|
DA:463,1
|
|
DA:464,1
|
|
LF:190
|
|
LH:189
|
|
FN:60,62,RateLimitedError.__init__
|
|
FNDA:1,RateLimitedError.__init__
|
|
FN:95,124,AuthService.__init__
|
|
FNDA:1,AuthService.__init__
|
|
FN:126,158,AuthService.authenticate
|
|
FNDA:1,AuthService.authenticate
|
|
FN:160,186,AuthService.refresh
|
|
FNDA:1,AuthService.refresh
|
|
FN:188,192,AuthService.logout
|
|
FNDA:1,AuthService.logout
|
|
FN:194,230,AuthService.change_password
|
|
FNDA:1,AuthService.change_password
|
|
FN:232,275,AuthService.request_password_reset
|
|
FNDA:1,AuthService.request_password_reset
|
|
FN:277,281,AuthService._envoie_email_reset
|
|
FNDA:1,AuthService._envoie_email_reset
|
|
FN:287,288,AuthService.is_reset_token_valid
|
|
FNDA:1,AuthService.is_reset_token_valid
|
|
FN:290,326,AuthService.confirm_password_reset
|
|
FNDA:1,AuthService.confirm_password_reset
|
|
FN:328,338,AuthService.logout_all
|
|
FNDA:1,AuthService.logout_all
|
|
FN:340,352,AuthService._session
|
|
FNDA:1,AuthService._session
|
|
FN:354,361,AuthService._en_principal
|
|
FNDA:1,AuthService._en_principal
|
|
FN:363,375,AuthService._ouvre_une_famille
|
|
FNDA:1,AuthService._ouvre_une_famille
|
|
FN:377,402,AuthService._traite_rotation_refusee
|
|
FNDA:1,AuthService._traite_rotation_refusee
|
|
FN:404,433,AuthService._refuse_si_limite
|
|
FNDA:1,AuthService._refuse_si_limite
|
|
FN:435,450,AuthService._refuse_si_limite_reset
|
|
FNDA:1,AuthService._refuse_si_limite_reset
|
|
FN:452,464,AuthService._echoue
|
|
FNDA:1,AuthService._echoue
|
|
FNF:18
|
|
FNH:18
|
|
BRDA:132,0,jump to line 133,1
|
|
BRDA:132,0,jump to line 136,1
|
|
BRDA:136,0,jump to line 137,1
|
|
BRDA:136,0,jump to line 141,1
|
|
BRDA:141,0,jump to line 142,1
|
|
BRDA:141,0,jump to line 146,1
|
|
BRDA:146,0,jump to line 147,1
|
|
BRDA:146,0,jump to line 149,1
|
|
BRDA:165,0,jump to line 166,1
|
|
BRDA:165,0,jump to line 168,1
|
|
BRDA:169,0,jump to line 170,1
|
|
BRDA:169,0,jump to line 174,1
|
|
BRDA:190,0,jump to line 191,1
|
|
BRDA:190,0,jump to line 192,1
|
|
BRDA:204,0,jump to line 205,1
|
|
BRDA:204,0,jump to line 207,1
|
|
BRDA:248,0,jump to line 249,1
|
|
BRDA:248,0,jump to line 254,1
|
|
BRDA:294,0,jump to line 295,1
|
|
BRDA:294,0,jump to line 300,1
|
|
BRDA:301,0,jump to line 302,1
|
|
BRDA:301,0,jump to line 304,1
|
|
BRDA:324,0,jump to line 325,0
|
|
BRDA:324,0,jump to line 326,1
|
|
BRDA:381,0,jump to line 382,1
|
|
BRDA:381,0,jump to line 384,1
|
|
BRDA:384,0,jump to line 385,1
|
|
BRDA:384,0,jump to line 389,1
|
|
BRDA:417,0,jump to line 418,1
|
|
BRDA:417,0,jump to line 420,1
|
|
BRDA:423,0,jump to line 424,1
|
|
BRDA:423,0,jump to line 432,1
|
|
BRDA:445,0,jump to line 446,1
|
|
BRDA:445,0,jump to line 448,1
|
|
BRF:34
|
|
BRH:33
|
|
end_of_record
|
|
SF:app\services\data_quality.py
|
|
DA:6,1
|
|
DA:8,1
|
|
DA:10,1
|
|
DA:12,1
|
|
DA:15,1
|
|
DA:16,1
|
|
DA:17,1
|
|
DA:18,1
|
|
LF:8
|
|
LH:8
|
|
FN:15,18,qualite_ou_critique
|
|
FNDA:1,qualite_ou_critique
|
|
FNF:1
|
|
FNH:1
|
|
BRDA:16,0,jump to line 17,1
|
|
BRDA:16,0,jump to line 18,1
|
|
BRF:2
|
|
BRH:2
|
|
end_of_record
|
|
SF:app\services\reading.py
|
|
DA:1,1
|
|
DA:2,1
|
|
DA:4,1
|
|
DA:5,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:11,1
|
|
DA:15,1
|
|
DA:19,1
|
|
DA:20,1
|
|
DA:21,1
|
|
DA:23,1
|
|
DA:32,1
|
|
DA:33,1
|
|
DA:37,1
|
|
DA:38,1
|
|
DA:44,1
|
|
DA:45,1
|
|
DA:46,1
|
|
DA:47,1
|
|
DA:49,1
|
|
DA:50,1
|
|
DA:51,1
|
|
DA:52,1
|
|
DA:53,1
|
|
DA:56,1
|
|
DA:57,1
|
|
DA:58,1
|
|
DA:59,1
|
|
LF:29
|
|
LH:29
|
|
FN:20,21,ReadingService.__init__
|
|
FNDA:1,ReadingService.__init__
|
|
FN:23,35,ReadingService.list_history
|
|
FNDA:1,ReadingService.list_history
|
|
FN:38,53,ReadingService._resoudre_fenetre
|
|
FNDA:1,ReadingService._resoudre_fenetre
|
|
FN:56,59,_vers_utc
|
|
FNDA:1,_vers_utc
|
|
FNF:4
|
|
FNH:4
|
|
BRDA:46,0,jump to line 47,1
|
|
BRDA:46,0,jump to line 49,1
|
|
BRDA:49,0,jump to line 50,1
|
|
BRDA:49,0,jump to line 51,1
|
|
BRDA:51,0,jump to line 52,1
|
|
BRDA:51,0,jump to line 53,1
|
|
BRDA:57,0,jump to line 58,1
|
|
BRDA:57,0,jump to line 59,1
|
|
BRF:8
|
|
BRH:8
|
|
end_of_record
|
|
SF:app\services\recommendation.py
|
|
DA:1,1
|
|
DA:3,1
|
|
DA:4,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:11,1
|
|
DA:12,1
|
|
DA:15,1
|
|
DA:16,1
|
|
DA:17,1
|
|
DA:19,1
|
|
DA:20,1
|
|
DA:22,1
|
|
DA:23,1
|
|
DA:24,1
|
|
DA:25,1
|
|
DA:26,1
|
|
LF:17
|
|
LH:17
|
|
FN:16,17,RecommendationService.__init__
|
|
FNDA:1,RecommendationService.__init__
|
|
FN:19,20,RecommendationService.list_all
|
|
FNDA:1,RecommendationService.list_all
|
|
FN:22,26,RecommendationService.get_by_id
|
|
FNDA:1,RecommendationService.get_by_id
|
|
FNF:3
|
|
FNH:3
|
|
BRDA:24,0,jump to line 25,1
|
|
BRDA:24,0,jump to line 26,1
|
|
BRF:2
|
|
BRH:2
|
|
end_of_record
|
|
SF:app\services\sensor.py
|
|
DA:1,1
|
|
DA:2,1
|
|
DA:3,1
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:13,1
|
|
DA:21,1
|
|
DA:29,1
|
|
DA:30,1
|
|
DA:35,1
|
|
DA:36,1
|
|
DA:44,1
|
|
DA:45,1
|
|
DA:52,1
|
|
DA:53,1
|
|
DA:58,1
|
|
DA:59,1
|
|
DA:60,1
|
|
DA:61,1
|
|
DA:63,1
|
|
DA:64,1
|
|
DA:65,1
|
|
DA:67,1
|
|
DA:73,1
|
|
DA:74,1
|
|
DA:75,1
|
|
DA:82,1
|
|
DA:83,1
|
|
DA:85,1
|
|
DA:86,1
|
|
DA:93,1
|
|
DA:99,1
|
|
DA:113,1
|
|
DA:114,1
|
|
DA:115,1
|
|
DA:116,1
|
|
DA:117,1
|
|
DA:118,1
|
|
DA:121,1
|
|
DA:122,1
|
|
DA:123,1
|
|
DA:126,1
|
|
DA:132,1
|
|
DA:133,1
|
|
DA:134,1
|
|
LF:49
|
|
LH:49
|
|
FN:59,61,SensorService.__init__
|
|
FNDA:1,SensorService.__init__
|
|
FN:63,70,SensorService.status
|
|
FNDA:1,SensorService.status
|
|
FN:73,110,_sante_site
|
|
FNDA:1,_sante_site
|
|
FN:113,118,_overall_depuis_qualite
|
|
FNDA:1,_overall_depuis_qualite
|
|
FN:121,129,_diagnostic
|
|
FNDA:1,_diagnostic
|
|
FN:132,136,_tout_en_echec
|
|
FNDA:1,_tout_en_echec
|
|
FNF:6
|
|
FNH:6
|
|
BRDA:74,0,jump to line 75,1
|
|
BRDA:74,0,jump to line 82,1
|
|
BRDA:85,0,jump to line 86,1
|
|
BRDA:85,0,jump to line 93,1
|
|
BRDA:114,0,jump to line 115,1
|
|
BRDA:114,0,jump to line 116,1
|
|
BRDA:116,0,jump to line 117,1
|
|
BRDA:116,0,jump to line 118,1
|
|
BRF:8
|
|
BRH:8
|
|
end_of_record
|
|
SF:app\services\site.py
|
|
DA:1,1
|
|
DA:2,1
|
|
DA:3,1
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:11,1
|
|
DA:12,1
|
|
DA:15,1
|
|
DA:16,1
|
|
DA:19,1
|
|
DA:20,1
|
|
DA:35,1
|
|
DA:36,1
|
|
DA:37,1
|
|
DA:38,1
|
|
DA:40,1
|
|
DA:41,1
|
|
DA:43,1
|
|
DA:44,1
|
|
DA:45,1
|
|
DA:46,1
|
|
DA:47,1
|
|
DA:49,1
|
|
DA:50,1
|
|
DA:51,1
|
|
DA:53,1
|
|
DA:54,1
|
|
DA:69,1
|
|
LF:30
|
|
LH:30
|
|
FN:36,38,SiteService.__init__
|
|
FNDA:1,SiteService.__init__
|
|
FN:40,41,SiteService.list_all
|
|
FNDA:1,SiteService.list_all
|
|
FN:43,47,SiteService.get_by_id
|
|
FNDA:1,SiteService.get_by_id
|
|
FN:49,82,SiteService.current
|
|
FNDA:1,SiteService.current
|
|
FNF:4
|
|
FNH:4
|
|
BRDA:45,0,jump to line 46,1
|
|
BRDA:45,0,jump to line 47,1
|
|
BRDA:53,0,jump to line 54,1
|
|
BRDA:53,0,jump to line 69,1
|
|
BRF:4
|
|
BRH:4
|
|
end_of_record
|
|
SF:app\services\stats.py
|
|
DA:1,1
|
|
DA:2,1
|
|
DA:4,1
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:10,1
|
|
DA:11,1
|
|
DA:20,1
|
|
DA:21,1
|
|
DA:30,1
|
|
DA:31,1
|
|
DA:32,1
|
|
DA:33,1
|
|
DA:35,1
|
|
DA:36,1
|
|
DA:37,1
|
|
DA:39,1
|
|
DA:40,1
|
|
DA:41,1
|
|
DA:43,1
|
|
DA:54,1
|
|
DA:55,1
|
|
DA:56,1
|
|
DA:57,1
|
|
DA:58,1
|
|
DA:59,1
|
|
DA:60,1
|
|
DA:61,1
|
|
DA:63,1
|
|
DA:67,1
|
|
LF:31
|
|
LH:31
|
|
FN:31,33,StatsService.__init__
|
|
FNDA:1,StatsService.__init__
|
|
FN:35,52,StatsService.summary
|
|
FNDA:1,StatsService.summary
|
|
FN:55,74,StatsService._resume_site
|
|
FNDA:1,StatsService._resume_site
|
|
FNF:3
|
|
FNH:3
|
|
BRDA:59,0,jump to line 60,1
|
|
BRDA:59,0,jump to line 63,1
|
|
BRF:2
|
|
BRH:2
|
|
end_of_record
|
|
SF:app\services\user.py
|
|
DA:5,1
|
|
DA:6,1
|
|
DA:7,1
|
|
DA:8,1
|
|
DA:9,1
|
|
DA:11,1
|
|
DA:12,1
|
|
DA:13,1
|
|
DA:14,1
|
|
DA:15,1
|
|
DA:16,1
|
|
DA:17,1
|
|
DA:18,1
|
|
DA:19,1
|
|
DA:21,1
|
|
DA:24,1
|
|
DA:28,1
|
|
DA:29,1
|
|
DA:32,1
|
|
DA:33,1
|
|
DA:36,1
|
|
DA:37,1
|
|
DA:40,1
|
|
DA:41,1
|
|
DA:44,1
|
|
DA:45,1
|
|
DA:50,1
|
|
DA:51,1
|
|
DA:60,1
|
|
DA:61,1
|
|
DA:62,1
|
|
DA:63,1
|
|
DA:64,1
|
|
DA:66,1
|
|
DA:67,0
|
|
DA:69,1
|
|
DA:72,1
|
|
DA:73,1
|
|
DA:75,1
|
|
DA:76,1
|
|
DA:83,1
|
|
DA:90,1
|
|
DA:91,1
|
|
DA:93,1
|
|
DA:94,1
|
|
DA:95,1
|
|
DA:96,1
|
|
DA:98,1
|
|
DA:99,1
|
|
DA:100,1
|
|
DA:101,1
|
|
DA:102,1
|
|
DA:109,1
|
|
DA:110,1
|
|
DA:112,1
|
|
DA:113,1
|
|
DA:114,1
|
|
DA:115,0
|
|
DA:117,1
|
|
DA:120,1
|
|
DA:121,1
|
|
DA:122,1
|
|
DA:123,1
|
|
DA:129,1
|
|
DA:130,1
|
|
DA:132,1
|
|
DA:133,1
|
|
DA:134,1
|
|
DA:136,1
|
|
DA:139,1
|
|
DA:140,1
|
|
DA:147,1
|
|
DA:148,1
|
|
DA:150,1
|
|
DA:151,1
|
|
DA:152,1
|
|
DA:153,1
|
|
DA:154,1
|
|
DA:156,1
|
|
DA:159,1
|
|
DA:160,1
|
|
DA:161,1
|
|
DA:162,1
|
|
DA:163,1
|
|
DA:164,1
|
|
LF:85
|
|
LH:83
|
|
FN:51,64,UserService.__init__
|
|
FNDA:1,UserService.__init__
|
|
FN:66,67,UserService.list_all
|
|
FNDA:0,UserService.list_all
|
|
FN:69,91,UserService.create
|
|
FNDA:1,UserService.create
|
|
FN:93,110,UserService.change_role
|
|
FNDA:1,UserService.change_role
|
|
FN:112,130,UserService.set_active
|
|
FNDA:1,UserService.set_active
|
|
FN:132,148,UserService.reset_password
|
|
FNDA:1,UserService.reset_password
|
|
FN:150,154,UserService._exige
|
|
FNDA:1,UserService._exige
|
|
FN:156,164,UserService._refuse_si_dernier_admin
|
|
FNDA:1,UserService._refuse_si_dernier_admin
|
|
FNF:8
|
|
FNH:7
|
|
BRDA:72,0,jump to line 73,1
|
|
BRDA:72,0,jump to line 75,1
|
|
BRDA:95,0,jump to line 96,1
|
|
BRDA:95,0,jump to line 98,1
|
|
BRDA:114,0,jump to line 115,0
|
|
BRDA:114,0,jump to line 117,1
|
|
BRDA:121,0,jump to line 122,1
|
|
BRDA:121,0,jump to line 123,1
|
|
BRDA:152,0,jump to line 153,1
|
|
BRDA:152,0,jump to line 154,1
|
|
BRDA:161,0,jump to line 162,1
|
|
BRDA:161,0,jump to line 163,1
|
|
BRDA:163,0,jump to line 164,1
|
|
BRDA:163,0,return from function '_refuse_si_dernier_admin',1
|
|
BRF:14
|
|
BRH:13
|
|
end_of_record
|