mirror of https://github.com/jumpserver/jumpserver
				
				
				
			fix: The account gather results do not have the last login time (#13625)
Co-authored-by: feng <1304903146@qq.com>pull/13627/head
							parent
							
								
									57d689bee6
								
							
						
					
					
						commit
						5836583490
					
				| 
						 | 
				
			
			@ -31,7 +31,7 @@ class GatherAccountsFilter:
 | 
			
		|||
    def posix_filter(info):
 | 
			
		||||
        username_pattern = re.compile(r'^(\S+)')
 | 
			
		||||
        ip_pattern = re.compile(r'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})')
 | 
			
		||||
        login_time_pattern = re.compile(r'\w{3} \d{2} \d{2}:\d{2}:\d{2} \d{4}')
 | 
			
		||||
        login_time_pattern = re.compile(r'\w{3} \w{3}\s+\d{1,2} \d{2}:\d{2}:\d{2} \d{4}')
 | 
			
		||||
        result = {}
 | 
			
		||||
        for line in info:
 | 
			
		||||
            usernames = username_pattern.findall(line)
 | 
			
		||||
| 
						 | 
				
			
			@ -46,7 +46,8 @@ class GatherAccountsFilter:
 | 
			
		|||
                result[username].update({'address': ip_addr})
 | 
			
		||||
            login_times = login_time_pattern.findall(line)
 | 
			
		||||
            if login_times:
 | 
			
		||||
                date = timezone.datetime.strptime(f'{login_times[0]} +0800', '%b %d %H:%M:%S %Y %z')
 | 
			
		||||
                datetime_str = login_times[0].split(' ', 1)[1] + " +0800"
 | 
			
		||||
                date = timezone.datetime.strptime(datetime_str, '%b %d %H:%M:%S %Y %z')
 | 
			
		||||
                result[username].update({'date': date})
 | 
			
		||||
        return result
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue