version 0.2.6, database support, dbrebuild and dbquery startup commands, connection firstchar error bugfix, log python gevent msgpack lib versions, sitestorage class for site file operations, dbquery websocket api command
This commit is contained in:
parent
bce0f56d45
commit
3b8d49207e
16 changed files with 699 additions and 120 deletions
|
@ -147,7 +147,7 @@ class UiRequest:
|
|||
query_string=query_string,
|
||||
wrapper_key=site.settings["wrapper_key"],
|
||||
permissions=json.dumps(site.settings["permissions"]),
|
||||
show_loadingscreen=json.dumps(not os.path.isfile(site.getPath(inner_path))),
|
||||
show_loadingscreen=json.dumps(not site.storage.isFile(inner_path)),
|
||||
homepage=config.homepage
|
||||
)
|
||||
|
||||
|
|
|
@ -116,6 +116,8 @@ class UiWebsocket:
|
|||
func = self.actionFileGet
|
||||
elif cmd == "fileQuery":
|
||||
func = self.actionFileQuery
|
||||
elif cmd == "dbQuery":
|
||||
func = self.actionDbQuery
|
||||
# Admin commands
|
||||
elif cmd == "sitePause" and "ADMIN" in permissions:
|
||||
func = self.actionSitePause
|
||||
|
@ -271,7 +273,7 @@ class UiWebsocket:
|
|||
try:
|
||||
import base64
|
||||
content = base64.b64decode(content_base64)
|
||||
open(self.site.getPath(inner_path), "wb").write(content)
|
||||
self.site.storage.write(inner_path, content)
|
||||
except Exception, err:
|
||||
return self.response(to, "Write error: %s" % err)
|
||||
|
||||
|
@ -284,17 +286,30 @@ class UiWebsocket:
|
|||
# Find data in json files
|
||||
def actionFileQuery(self, to, dir_inner_path, query):
|
||||
# s = time.time()
|
||||
dir_path = self.site.getPath(dir_inner_path)
|
||||
dir_path = self.site.storage.getPath(dir_inner_path)
|
||||
rows = list(QueryJson.query(dir_path, query))
|
||||
# self.log.debug("FileQuery %s %s done in %s" % (dir_inner_path, query, time.time()-s))
|
||||
return self.response(to, rows)
|
||||
|
||||
|
||||
# Sql query
|
||||
def actionDbQuery(self, to, query, params=None):
|
||||
rows = []
|
||||
try:
|
||||
res = self.site.storage.query(query, params)
|
||||
except Exception, err: # Response the error to client
|
||||
return self.response(to, {"error": str(err)})
|
||||
# Convert result to dict
|
||||
for row in res:
|
||||
rows.append(dict(row))
|
||||
return self.response(to, rows)
|
||||
|
||||
|
||||
# Return file content
|
||||
def actionFileGet(self, to, inner_path):
|
||||
try:
|
||||
self.site.needFile(inner_path, priority=1)
|
||||
body = open(self.site.getPath(inner_path)).read()
|
||||
body = self.site.storage.read(inner_path)
|
||||
except:
|
||||
body = None
|
||||
return self.response(to, body)
|
||||
|
@ -363,7 +378,7 @@ class UiWebsocket:
|
|||
site.saveSettings()
|
||||
site.worker_manager.running = False
|
||||
site.worker_manager.stopWorkers()
|
||||
site.deleteFiles()
|
||||
site.storage.deleteFiles()
|
||||
SiteManager.delete(address)
|
||||
site.updateWebsocket()
|
||||
else:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue