partial cleanup of User.py
This commit is contained in:
parent
fee071647e
commit
701b5e2449
1 changed files with 110 additions and 119 deletions
|
@ -21,11 +21,11 @@ class User(object):
|
||||||
|
|
||||||
self.log = logging.getLogger("User:%s" % self.master_address)
|
self.log = logging.getLogger("User:%s" % self.master_address)
|
||||||
|
|
||||||
|
|
||||||
# Save to data/users.json
|
# Save to data/users.json
|
||||||
def save(self):
|
def save(self):
|
||||||
users = json.load(open("%s/users.json" % config.data_dir))
|
users = json.load(open("%s/users.json" % config.data_dir))
|
||||||
if not self.master_address in users: users[self.master_address] = {} # Create if not exist
|
if self.master_address not in users:
|
||||||
|
users[self.master_address] = {} # Create if not exist
|
||||||
user_data = users[self.master_address]
|
user_data = users[self.master_address]
|
||||||
if self.master_seed: user_data["master_seed"] = self.master_seed
|
if self.master_seed: user_data["master_seed"] = self.master_seed
|
||||||
user_data["sites"] = self.sites
|
user_data["sites"] = self.sites
|
||||||
|
@ -33,15 +33,13 @@ class User(object):
|
||||||
open("%s/users.json" % config.data_dir, "w").write(json.dumps(users, indent=2, sort_keys=True))
|
open("%s/users.json" % config.data_dir, "w").write(json.dumps(users, indent=2, sort_keys=True))
|
||||||
self.log.debug("Saved")
|
self.log.debug("Saved")
|
||||||
|
|
||||||
|
|
||||||
def getAddressAuthIndex(self, address):
|
def getAddressAuthIndex(self, address):
|
||||||
return int(address.encode("hex"), 16)
|
return int(address.encode("hex"), 16)
|
||||||
|
|
||||||
|
|
||||||
# Get user site data
|
# Get user site data
|
||||||
# Return: {"auth_address": "xxx", "auth_privatekey": "xxx"}
|
# Return: {"auth_address": "xxx", "auth_privatekey": "xxx"}
|
||||||
def getSiteData(self, address, create=True):
|
def getSiteData(self, address, create=True):
|
||||||
if not address in self.sites: # Genreate new BIP32 child key based on site address
|
if address not in self.sites: # Generate new BIP32 child key based on site address
|
||||||
if not create: return {"auth_address": None, "auth_privatekey": None} # Dont create user yet
|
if not create: return {"auth_address": None, "auth_privatekey": None} # Dont create user yet
|
||||||
s = time.time()
|
s = time.time()
|
||||||
address_id = self.getAddressAuthIndex(address) # Convert site address to int
|
address_id = self.getAddressAuthIndex(address) # Convert site address to int
|
||||||
|
@ -54,7 +52,6 @@ class User(object):
|
||||||
self.log.debug("Added new site: %s in %.3fs" % (address, time.time()-s))
|
self.log.debug("Added new site: %s in %.3fs" % (address, time.time()-s))
|
||||||
return self.sites[address]
|
return self.sites[address]
|
||||||
|
|
||||||
|
|
||||||
# Get data for a new, unique site
|
# Get data for a new, unique site
|
||||||
# Return: [site_address, bip32_index, {"auth_address": "xxx", "auth_privatekey": "xxx", "privatekey": "xxx"}]
|
# Return: [site_address, bip32_index, {"auth_address": "xxx", "auth_privatekey": "xxx", "privatekey": "xxx"}]
|
||||||
def getNewSiteData(self):
|
def getNewSiteData(self):
|
||||||
|
@ -69,7 +66,6 @@ class User(object):
|
||||||
self.save()
|
self.save()
|
||||||
return site_address, bip32_index, self.sites[site_address]
|
return site_address, bip32_index, self.sites[site_address]
|
||||||
|
|
||||||
|
|
||||||
# Get BIP32 address from site address
|
# Get BIP32 address from site address
|
||||||
# Return: BIP32 auth address
|
# Return: BIP32 auth address
|
||||||
def getAuthAddress(self, address, create=True):
|
def getAuthAddress(self, address, create=True):
|
||||||
|
@ -79,7 +75,6 @@ class User(object):
|
||||||
else:
|
else:
|
||||||
return self.getSiteData(address, create)["auth_address"]
|
return self.getSiteData(address, create)["auth_address"]
|
||||||
|
|
||||||
|
|
||||||
def getAuthPrivatekey(self, address, create=True):
|
def getAuthPrivatekey(self, address, create=True):
|
||||||
cert = self.getCert(address)
|
cert = self.getCert(address)
|
||||||
if cert:
|
if cert:
|
||||||
|
@ -87,7 +82,6 @@ class User(object):
|
||||||
else:
|
else:
|
||||||
return self.getSiteData(address, create)["auth_privatekey"]
|
return self.getSiteData(address, create)["auth_privatekey"]
|
||||||
|
|
||||||
|
|
||||||
# Add cert for the user
|
# Add cert for the user
|
||||||
def addCert(self, auth_address, domain, auth_type, auth_user_name, cert_sign):
|
def addCert(self, auth_address, domain, auth_type, auth_user_name, cert_sign):
|
||||||
domain = domain.lower()
|
domain = domain.lower()
|
||||||
|
@ -109,7 +103,6 @@ class User(object):
|
||||||
self.save()
|
self.save()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def setCert(self, address, domain):
|
def setCert(self, address, domain):
|
||||||
site_data = self.getSiteData(address)
|
site_data = self.getSiteData(address)
|
||||||
if domain:
|
if domain:
|
||||||
|
@ -119,7 +112,6 @@ class User(object):
|
||||||
self.save()
|
self.save()
|
||||||
return site_data
|
return site_data
|
||||||
|
|
||||||
|
|
||||||
# Get cert for the site address
|
# Get cert for the site address
|
||||||
# Return: { "auth_address": ..., "auth_privatekey":..., "auth_type": "web", "auth_user_name": "nofish", "cert_sign": ... } or None
|
# Return: { "auth_address": ..., "auth_privatekey":..., "auth_type": "web", "auth_user_name": "nofish", "cert_sign": ... } or None
|
||||||
def getCert(self, address):
|
def getCert(self, address):
|
||||||
|
@ -127,7 +119,6 @@ class User(object):
|
||||||
if not site_data or not "cert" in site_data: return None # Site dont have cert
|
if not site_data or not "cert" in site_data: return None # Site dont have cert
|
||||||
return self.certs.get(site_data["cert"])
|
return self.certs.get(site_data["cert"])
|
||||||
|
|
||||||
|
|
||||||
# Get cert user name for the site address
|
# Get cert user name for the site address
|
||||||
# Return: user@certprovider.bit or None
|
# Return: user@certprovider.bit or None
|
||||||
def getCertUserId(self, address):
|
def getCertUserId(self, address):
|
||||||
|
|
Loading…
Reference in a new issue