Coverage for auth/lib_stat_usage.py: 69%

35 statements  

« prev     ^ index     » next       coverage.py v7.9.1, created at 2026-02-10 01:10 +0100

1# -*- coding: utf-8 -*- 

2__author__ = 'moilerat' 

3# 

4# # Safia copyright 2022-2023 VR - LICENSETOBEDEFINED : on premise treatment custom 

5# 

6#! Stat for usage in airtable from apia (mail send) 

7#! stat connexion utilisateur dans colonne misc_info de type jsonb dans mtruser.validated_ip 

8# 

9 

10def get_usage(lpgss, mtr_user_id, ipv4 = None, nb_day = None, type = None, 

11 limit =0, offset = 0): 

12 

13 # TODO VR rename record or retrieve 

14 data = lpgss.get_usage_connection_ip_info(mtr_user_id, ipv4, type, nb_day, 

15 limit = limit, offset = offset) 

16 

17 return data 

18 

19def record_usage(mtr_user_id, ipv4, type, info_message = "default", lpgss = None): 

20 

21 try: 

22 id_ipv4 = lpgss.record_ip_2fa(mtr_user_id, ipv4) 

23 except Exception as e: 

24 print("ERROR RECORD USAGE") 

25 info = {"message": info_message} 

26 

27 if type == "link_reset_password": 

28 pass 

29 elif type == "code_validation_2fa": 

30 pass 

31 elif type == "try_connect": 

32 pass 

33 elif type == "link_validate_email": 

34 pass 

35 elif type == "usage_datou": 

36 pass 

37 

38 try: 

39 lpgss.record_connection_ip_info(id_ipv4, type, info) 

40 except Exception as e: 

41 print("ERROR RECORD record_connection_ip_info") 

42 

43 return True 

44 

45 

46 

47 

48# CA c'est plutot deprecetad au 4/2/25 

49class StatUsageAPIA(): 

50 

51 def __init__(self, lib_at = None): 

52 if lib_at != None: 

53 self.connect = lib_at 

54 self.connector_type = "airtable" 

55 else : 

56 self.connector_type = "NONE" 

57 

58 def record_usage(self, 

59 mail, 

60 cost, 

61 input = "", 

62 output = ""): 

63 

64 if self.connector_type == "airtable" : 

65 return self.connect.record_usage(mail, cost, input, output) 

66 else : 

67 return None 

68 

69