@@ -74,9 +74,9 @@ def aggregate_user_sum(self, data: list):
7474 """
7575 df = pandas .DataFrame .from_records (data ).fillna ({})
7676 if 'Instances' in data [0 ]:
77- df = df .groupby ('User' ).agg ({'Cost' : sum , 'Instances' : sum }).reset_index ()
77+ df = df .groupby ('User' ).agg ({'Cost' : ' sum' , 'Instances' : sum }).reset_index ()
7878 else :
79- df = df .groupby ('User' ).agg ({'Cost' : sum }).reset_index ()
79+ df = df .groupby ('User' ).agg ({'Cost' : ' sum' }).reset_index ()
8080 return self .filter_sort_list (user_resources = df .to_dict ('records' ))
8181
8282 def aws_user_usage (self , days : int , cost_usage : int ):
@@ -87,25 +87,25 @@ def aws_user_usage(self, days: int, cost_usage: int):
8787 @return:
8888 """
8989 users = []
90- cc = []
9190 user_data = self ._elastic_upload .elastic_search_operations .get_index_hits (days = days ,
9291 index = self ._elastic_upload .es_index )
9392 user_data = self .aggregate_user_sum (user_data )
9493 for user_usage in user_data :
9594 user = user_usage ['User' ]
9695 if user_usage ['Cost' ] > cost_usage :
97- file_name = ""
98- if user_usage .get ('Instances' ):
99- used_instances = self .get_user_used_instances (user_used_list = user_usage .get ('Instances' ))
100- with open (file_name , 'w' ) as file :
101- json .dump (used_instances , file , indent = 4 )
10296 ignore_user_mails = self ._elastic_upload .literal_eval (self .__ignore_mails )
10397 if user not in ignore_user_mails :
98+ cc = []
10499 special_user_mails = self ._elastic_upload .literal_eval (self ._elastic_upload .special_user_mails )
105100 to = user if user not in special_user_mails else special_user_mails [user ]
106101 ldap_data = self .__ldap .get_user_details (user_name = to )
107102 name = to
108- file_name = os .path .join ('/tmp' , f'{ to } _resource.json' )
103+ file_name = None
104+ if user_usage .get ('Instances' ):
105+ used_instances = self .get_user_used_instances (user_used_list = user_usage .get ('Instances' ))
106+ file_name = os .path .join ('/tmp' , f'{ to } _resource.json' )
107+ with open (file_name , 'w' ) as file :
108+ json .dump (used_instances , file , indent = 4 )
109109
110110 if ldap_data :
111111 cc .append (f'{ ldap_data .get ("managerId" )} @redhat.com' )
@@ -114,8 +114,10 @@ def aws_user_usage(self, days: int, cost_usage: int):
114114 user_usage = user_usage [
115115 'Cost' ], name = name ,
116116 usage_cost = self .COST_USAGE_DOLLAR )
117- self ._elastic_upload .postfix_mail .send_email_postfix (subject = subject , content = body , to = to , cc = cc ,
118- filename = file_name )
117+ email_kwargs = {'subject' : subject , 'content' : body , 'to' : to , 'cc' : cc }
118+ if file_name :
119+ email_kwargs ['filename' ] = file_name
120+ self ._elastic_upload .postfix_mail .send_email_postfix (** email_kwargs )
119121 users .append (to )
120122 return users
121123
0 commit comments