| 25 | |
| 26 | |
| 27 | class SsoCharacter: |
| 28 | def __init__(self, charID, name, client, server, accessToken=None, refreshToken=None): |
| 29 | self.characterID = charID |
| 30 | self.characterName = name |
| 31 | self.client = client |
| 32 | self.server = server |
| 33 | self.accessToken = accessToken |
| 34 | self.refreshToken = refreshToken |
| 35 | self.accessTokenExpires = None |
| 36 | |
| 37 | @reconstructor |
| 38 | def init(self): |
| 39 | pass |
| 40 | |
| 41 | @property |
| 42 | def characterDisplay(self): |
| 43 | return "{} [{}]".format(self.characterName, self.server) |
| 44 | def is_token_expired(self): |
| 45 | if self.accessTokenExpires is None: |
| 46 | return True |
| 47 | return datetime.datetime.now() >= self.accessTokenExpires |
| 48 | |
| 49 | def __repr__(self): |
| 50 | return "SsoCharacter(ID={}, name={}, client={}) at {}".format( |
| 51 | self.ID, self.characterName, self.client, hex(id(self)) |
| 52 | ) |