Version 0.2.2, Localstorage support using WrapperApi, User manage bugfix
This commit is contained in:
parent
655607466c
commit
9f9433a61e
5 changed files with 49 additions and 7 deletions
|
@ -3,7 +3,7 @@ import ConfigParser
|
|||
|
||||
class Config(object):
|
||||
def __init__(self):
|
||||
self.version = "0.2.1"
|
||||
self.version = "0.2.2"
|
||||
self.parser = self.createArguments()
|
||||
argv = sys.argv[:] # Copy command line arguments
|
||||
argv = self.parseConfig(argv) # Add arguments from config file
|
||||
|
|
|
@ -69,6 +69,10 @@ class Wrapper
|
|||
@actionWrapperPrompt(message)
|
||||
else if cmd == "wrapperSetViewport" # Set the viewport
|
||||
@actionSetViewport(message)
|
||||
else if cmd == "wrapperGetLocalStorage"
|
||||
@actionGetLocalStorage(message)
|
||||
else if cmd == "wrapperSetLocalStorage"
|
||||
@actionSetLocalStorage(message)
|
||||
else # Send to websocket
|
||||
if message.id < 1000000
|
||||
@ws.send(message) # Pass message to websocket
|
||||
|
@ -126,6 +130,16 @@ class Wrapper
|
|||
$('<meta name="viewport" id="viewport">').attr("content", @toHtmlSafe message.params).appendTo("head")
|
||||
|
||||
|
||||
actionGetLocalStorage: (message) ->
|
||||
data = localStorage.getItem "site.#{window.address}"
|
||||
if data then data = JSON.parse(data)
|
||||
@sendInner {"cmd": "response", "to": message.id, "result": data}
|
||||
|
||||
|
||||
actionSetLocalStorage: (message) ->
|
||||
back = localStorage.setItem "site.#{window.address}", JSON.stringify(message.params)
|
||||
|
||||
|
||||
# EOF actions
|
||||
|
||||
|
||||
|
|
|
@ -807,6 +807,10 @@ jQuery.extend( jQuery.easing,
|
|||
return this.actionWrapperPrompt(message);
|
||||
} else if (cmd === "wrapperSetViewport") {
|
||||
return this.actionSetViewport(message);
|
||||
} else if (cmd === "wrapperGetLocalStorage") {
|
||||
return this.actionGetLocalStorage(message);
|
||||
} else if (cmd === "wrapperSetLocalStorage") {
|
||||
return this.actionSetLocalStorage(message);
|
||||
} else {
|
||||
if (message.id < 1000000) {
|
||||
return this.ws.send(message);
|
||||
|
@ -891,6 +895,24 @@ jQuery.extend( jQuery.easing,
|
|||
}
|
||||
};
|
||||
|
||||
Wrapper.prototype.actionGetLocalStorage = function(message) {
|
||||
var data;
|
||||
data = localStorage.getItem("site." + window.address);
|
||||
if (data) {
|
||||
data = JSON.parse(data);
|
||||
}
|
||||
return this.sendInner({
|
||||
"cmd": "response",
|
||||
"to": message.id,
|
||||
"result": data
|
||||
});
|
||||
};
|
||||
|
||||
Wrapper.prototype.actionSetLocalStorage = function(message) {
|
||||
var back;
|
||||
return back = localStorage.setItem("site." + window.address, JSON.stringify(message.params));
|
||||
};
|
||||
|
||||
Wrapper.prototype.onOpenWebsocket = function(e) {
|
||||
this.ws.cmd("channelJoin", {
|
||||
"channel": "siteChanged"
|
||||
|
|
|
@ -25,9 +25,9 @@ class User:
|
|||
self.log.debug("Saved")
|
||||
|
||||
|
||||
# Get BIP32 address from site address
|
||||
# Return: BIP32 auth address
|
||||
def getAuthAddress(self, address):
|
||||
# Get user site data
|
||||
# Return: {"auth_address": "xxx", "auth_privatekey": "xxx"}
|
||||
def getSiteData(self, address):
|
||||
if not address in self.sites: # Genreate new BIP32 child key based on site address
|
||||
s = time.time()
|
||||
address_id = int(address.encode("hex"), 16) # Convert site address to int
|
||||
|
@ -38,12 +38,17 @@ class User:
|
|||
}
|
||||
self.save()
|
||||
self.log.debug("Added new site: %s in %.3fs" % (address, time.time()-s))
|
||||
return self.sites[address]
|
||||
|
||||
return self.sites[address]["auth_address"]
|
||||
|
||||
# Get BIP32 address from site address
|
||||
# Return: BIP32 auth address
|
||||
def getAuthAddress(self, address):
|
||||
return self.getSiteData(address)["auth_address"]
|
||||
|
||||
|
||||
def getAuthPrivatekey(self, address):
|
||||
return self.sites[address]["auth_privatekey"]
|
||||
return self.getSiteData(address)["auth_privatekey"]
|
||||
|
||||
|
||||
|
||||
|
@ -51,3 +56,4 @@ class User:
|
|||
def setData(self, data):
|
||||
for key, val in data.items():
|
||||
setattr(self, key, val)
|
||||
|
||||
|
|
|
@ -60,6 +60,6 @@ def getCurrent():
|
|||
def reload():
|
||||
import imp
|
||||
global users, User
|
||||
users.clear() # Remove all items
|
||||
User = imp.load_source("User", "src/User/User.py").User # Reload source
|
||||
users.clear() # Remove all items
|
||||
load()
|
||||
|
|
Loading…
Reference in a new issue