Rev546, Sidebar drag fix, Fix rebuild on dbschema changes, Test Dbschema changes, Fix atomicWrite error when old file already exists
This commit is contained in:
parent
bd67d8fe14
commit
c2fc131cdc
9 changed files with 31 additions and 8 deletions
|
@ -33,6 +33,7 @@ window.initScrollable = function () {
|
|||
contentPosition = scrollContentWrapper.scrollTop;
|
||||
scrollerBeingDragged = true;
|
||||
window.addEventListener('mousemove', scrollBarScroll)
|
||||
return false
|
||||
}
|
||||
|
||||
function stopDrag(evt) {
|
||||
|
@ -42,6 +43,7 @@ window.initScrollable = function () {
|
|||
|
||||
function scrollBarScroll(evt) {
|
||||
if (scrollerBeingDragged === true) {
|
||||
evt.preventDefault();
|
||||
var mouseDifferential = evt.pageY - normalizedPosition;
|
||||
var scrollEquivalent = mouseDifferential * (scrollContentWrapper.scrollHeight / scrollContainer.offsetHeight);
|
||||
scrollContentWrapper.scrollTop = contentPosition + scrollEquivalent;
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
-o-transition: top .08s;
|
||||
transition: top .08s;
|
||||
}
|
||||
.content {
|
||||
.scroller {
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
-o-transition: top .08s;
|
||||
-webkit-transition: top .08s; -moz-transition: top .08s; -o-transition: top .08s; -ms-transition: top .08s; transition: top .08s ;
|
||||
}
|
||||
.content {
|
||||
.scroller {
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
|
@ -58,7 +58,7 @@
|
|||
|
||||
|
||||
.body-sidebar { background-color: #666 !important; }
|
||||
#inner-iframe { -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; -o-transition: 0.3s ease-in-out; -ms-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out ; transform-origin: left; backface-visibility: hidden; outline: 1px solid transparent }
|
||||
#inner-iframe { -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; -o-transition: 0.3s ease-in-out; -ms-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out ; transform-origin: left; -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; -o-backface-visibility: hidden; -ms-backface-visibility: hidden; backface-visibility: hidden ; outline: 1px solid transparent }
|
||||
.body-sidebar iframe { -webkit-transform: rotateY(5deg); -moz-transform: rotateY(5deg); -o-transform: rotateY(5deg); -ms-transform: rotateY(5deg); transform: rotateY(5deg) ; opacity: 0.8; pointer-events: none } /* translateX(-200px) scale(0.95)*/
|
||||
|
||||
/* SIDEBAR */
|
||||
|
|
|
@ -95,6 +95,7 @@ window.initScrollable = function () {
|
|||
contentPosition = scrollContentWrapper.scrollTop;
|
||||
scrollerBeingDragged = true;
|
||||
window.addEventListener('mousemove', scrollBarScroll)
|
||||
return false
|
||||
}
|
||||
|
||||
function stopDrag(evt) {
|
||||
|
@ -104,6 +105,7 @@ window.initScrollable = function () {
|
|||
|
||||
function scrollBarScroll(evt) {
|
||||
if (scrollerBeingDragged === true) {
|
||||
evt.preventDefault();
|
||||
var mouseDifferential = evt.pageY - normalizedPosition;
|
||||
var scrollEquivalent = mouseDifferential * (scrollContentWrapper.scrollHeight / scrollContainer.offsetHeight);
|
||||
scrollContentWrapper.scrollTop = contentPosition + scrollEquivalent;
|
||||
|
@ -536,7 +538,6 @@ window.initScrollable = function () {
|
|||
}).call(this);
|
||||
|
||||
|
||||
|
||||
/* ---- plugins/Sidebar/media/morphdom.js ---- */
|
||||
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ class Config(object):
|
|||
|
||||
def __init__(self, argv):
|
||||
self.version = "0.3.2"
|
||||
self.rev = 542
|
||||
self.rev = 546
|
||||
self.argv = argv
|
||||
self.action = None
|
||||
self.createParser()
|
||||
|
|
|
@ -96,7 +96,7 @@ class Peer(object):
|
|||
self.onConnectionError()
|
||||
return None # Connection failed
|
||||
|
||||
for retry in range(0, 3): # Retry 3 times
|
||||
for retry in range(1, 4): # Retry 3 times
|
||||
try:
|
||||
res = self.connection.request(cmd, params, stream_to)
|
||||
if not res:
|
||||
|
|
|
@ -45,7 +45,7 @@ class SiteStorage:
|
|||
if check and not self.db_checked:
|
||||
changed_tables = self.db.checkTables()
|
||||
if changed_tables:
|
||||
self.rebuildDb(delete_db=False) # Todo only update the changed table datas
|
||||
self.rebuildDb(delete_db=False) # TODO: only update the changed table datas
|
||||
|
||||
def closeDb(self):
|
||||
if self.db:
|
||||
|
@ -176,7 +176,9 @@ class SiteStorage:
|
|||
# Update Sql cache
|
||||
if inner_path == "dbschema.json":
|
||||
self.has_db = self.isFile("dbschema.json")
|
||||
self.getDb().checkTables() # Check if any if table schema changed
|
||||
# Reopen DB to check changes
|
||||
self.closeDb()
|
||||
self.openDb()
|
||||
elif inner_path.endswith(".json") and self.has_db: # Load json file to db
|
||||
self.log.debug("Loading json file to db: %s" % inner_path)
|
||||
try:
|
||||
|
|
|
@ -49,6 +49,21 @@ class TestDb:
|
|||
assert "test_id" in cols
|
||||
assert "title" in cols
|
||||
|
||||
# Add new table
|
||||
assert "newtest" not in tables
|
||||
db.schema["tables"]["newtest"] = {
|
||||
"cols": [
|
||||
["newtest_id", "INTEGER"],
|
||||
["newtitle", "TEXT"],
|
||||
],
|
||||
"indexes": ["CREATE UNIQUE INDEX newtest_id ON newtest(newtest_id)"],
|
||||
"schema_changed": 1426195822
|
||||
}
|
||||
db.checkTables()
|
||||
tables = [row["name"] for row in db.execute("SELECT name FROM sqlite_master WHERE type='table'")]
|
||||
assert "test" in tables
|
||||
assert "newtest" in tables
|
||||
|
||||
db.close()
|
||||
|
||||
# Cleanup
|
||||
|
|
|
@ -3,6 +3,7 @@ import socket
|
|||
import struct
|
||||
import re
|
||||
import collections
|
||||
import time
|
||||
|
||||
|
||||
def atomicWrite(dest, content, mode="w"):
|
||||
|
@ -10,6 +11,8 @@ def atomicWrite(dest, content, mode="w"):
|
|||
f.write(content)
|
||||
f.flush()
|
||||
os.fsync(f.fileno())
|
||||
if os.path.isfile(dest + "-old"): # Previous incomplete write
|
||||
os.rename(dest + "-old", dest + "-old-%s" % time.time())
|
||||
os.rename(dest, dest + "-old")
|
||||
os.rename(dest + "-new", dest)
|
||||
os.unlink(dest + "-old")
|
||||
|
|
Loading…
Reference in a new issue