2019-08-12 12:56:19 +00:00
|
|
|
import json
|
2019-07-17 14:58:39 +00:00
|
|
|
|
|
|
|
from pyotp import TOTP
|
|
|
|
|
|
|
|
|
|
|
|
class OTPCredentials:
|
2019-11-11 18:49:35 +00:00
|
|
|
def __init__(self, name, realm, seed):
|
|
|
|
self.name = name # type: str
|
|
|
|
self.realm = realm # type: str
|
|
|
|
self.seed = seed # type: str
|
2019-07-17 14:58:39 +00:00
|
|
|
|
|
|
|
def get_json(self):
|
2019-11-11 18:49:35 +00:00
|
|
|
return {"name": self.name, "realm": self.realm, "token": TOTP(self.seed).now()}
|
2019-08-12 12:56:19 +00:00
|
|
|
|
|
|
|
|
|
|
|
def load_dump_pretty(content):
|
2019-11-11 18:49:35 +00:00
|
|
|
if isinstance(content, bytes):
|
|
|
|
content = content.decode("utf-8")
|
2019-08-12 12:56:19 +00:00
|
|
|
parsed = json.loads(content)
|
2019-11-11 18:49:35 +00:00
|
|
|
return json.dumps(parsed, indent=4, sort_keys=True)
|