mirror of
https://github.com/comma-hacks/webrtc.git
synced 2025-09-27 12:32:20 +08:00
36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
import shelve
|
|
from uuid import uuid4
|
|
from socket import gethostname
|
|
import json
|
|
import pyqrcode
|
|
from secureput.secret import generate_secret_key
|
|
|
|
class App:
|
|
def __init__(self):
|
|
self.config = shelve.open("secureput_identity.shelve")
|
|
self.__init_config_default("deviceName", lambda: gethostname())
|
|
self.__init_config_default("deviceUUID", lambda: str(uuid4()))
|
|
self.__init_config_default("accountUUID", lambda: None)
|
|
|
|
def __init_config_default(self, key, default_value_lambda):
|
|
try:
|
|
self.config[key]
|
|
except KeyError:
|
|
self.config[key] = default_value_lambda()
|
|
|
|
def paired(self):
|
|
return self.config["accountUUID"] != None
|
|
|
|
def gen_pair_info(self):
|
|
pairing = {}
|
|
pairing["secret"] = generate_secret_key()
|
|
pairing["uuid"] = self.config["deviceUUID"]
|
|
self.config["deviceSecret"] = pairing["secret"]
|
|
url = pyqrcode.create(json.dumps(pairing))
|
|
print(url.terminal(quiet_zone=1))
|
|
|
|
if __name__ == "__main__":
|
|
app = App()
|
|
print(app.config["deviceName"])
|
|
print(app.config["deviceUUID"])
|
|
print(app.gen_pair_info()) |