19 lines
433 B
Python
19 lines
433 B
Python
from datetime import datetime
|
|
import re
|
|
|
|
USER_PATTERN = re.compile(r"^[a-z_][a-z0-9_-]{0,31}$")
|
|
|
|
class SSHUser:
|
|
user: str
|
|
last_login: datetime | None
|
|
|
|
def __repr__(self):
|
|
return f"SSHUser(user='{self.user}', last_login={self.last_login})"
|
|
|
|
def __init__(self, user: str):
|
|
self.user = user
|
|
self.last_login = None
|
|
|
|
def validate(self):
|
|
return USER_PATTERN.match(self.user) is not None
|