1
0

nightly commit

This commit is contained in:
2021-01-25 20:42:06 +08:00
parent b83b19364c
commit 35ead94b7d
9 changed files with 174 additions and 36 deletions

View File

@@ -20,8 +20,9 @@ def SafeDatabaseOperation(func):
# do real data work
try:
if self.isFirstRun:
self.isFirstRun = False
currentTime = utils.GetCurrentTimestamp()
if currentTime - self.latestClean > config.CustomConfig['auto-token-clean-duration']:
self.latestClean = currentTime
print('Cleaning outdated token...')
self.tokenOper_clean()
@@ -45,14 +46,14 @@ class CalendarDatabase(object):
self.db = None
self.cursor = None
self.mutex = threading.Lock()
self.isFirstRun = True
self.latestClean = 0
def open(self):
if (self.is_database_valid()):
raise Exception('Databade is opened')
if config.CustomConfig['database-type'] == 'sqlite':
self.db = sqlite3.connect(config.CustomConfig['database-config']['url'])
self.db = sqlite3.connect(config.CustomConfig['database-config']['url'], check_same_thread = False)
elif config.CustomConfig['database-type'] == 'mysql':
raise Exception('Not implemented database')
else:
@@ -114,7 +115,10 @@ class CalendarDatabase(object):
token,
utils.GetCurrentTimestamp()
))
return self.cursor.fetchone()[0]
result = self.cursor.fetchone()[0]
# need postpone expire on time
self.tokenOper_postpone_expireOn(token)
return result
# =============================== # =============================== operation function
# =============================== common

View File

@@ -14,10 +14,12 @@ import config
import database
app = Flask(__name__)
calendar_db = database.CalendarDatabase()
# render_static_resources = None
# =============================================database
'''
def get_database():
db = getattr(g, '_database', None)
if db is None:
@@ -30,6 +32,7 @@ def close_database(exception):
db = getattr(g, '_database', None)
if db is not None:
db.close()
'''
# ============================================= static page route
@@ -70,7 +73,7 @@ def web_loginHandle():
def api_common_saltHandle():
result = (False, None)
if (CheckParameter(('username', ))):
db = get_database()
db = calendar_db
result = db.common_salt(request.form['username'])
return ConstructResponseBody(result)
@@ -79,7 +82,7 @@ def api_common_saltHandle():
def api_common_loginHandle():
result = (False, None)
if (CheckParameter(('username', 'password'))):
db = get_database()
db = calendar_db
result = db.common_login(
request.form['username'],
request.form['password']
@@ -91,7 +94,7 @@ def api_common_loginHandle():
def api_common_webLoginHandle():
result = (False, None)
if (CheckParameter(('username', 'password'))):
db = get_database()
db = calendar_db
result = db.common_webLogin(
request.form['username'],
request.form['password']
@@ -103,7 +106,7 @@ def api_common_webLoginHandle():
def api_common_logoutHandle():
result = (False, None)
if (CheckParameter(('token', ))):
db = get_database()
db = calendar_db
result = db.common_logout(request.form['token'])
return ConstructResponseBody(result)
@@ -112,7 +115,7 @@ def api_common_logoutHandle():
def api_common_tokenValidHandle():
result = (False, None)
if (CheckParameter(('token', ))):
db = get_database()
db = calendar_db
result = db.common_tokenValid(request.form['token'])
return ConstructResponseBody(result)
@@ -194,7 +197,7 @@ def api_collection_getSharedHandle():
def api_todo_getFullHandle():
result = (False, None)
if (CheckParameter(('token', ))):
db = get_database()
db = calendar_db
result = db.todo_getFull(request.form['token'])
return ConstructResponseBody(result)
@@ -203,7 +206,7 @@ def api_todo_getFullHandle():
def api_todo_getListHandle():
result = (False, None)
if (CheckParameter(('token', ))):
db = get_database()
db = calendar_db
result = db.todo_getList(request.form['token'])
return ConstructResponseBody(result)
@@ -212,7 +215,7 @@ def api_todo_getListHandle():
def api_todo_getDetailHandle():
result = (False, None)
if (CheckParameter(('token', 'uuid'))):
db = get_database()
db = calendar_db
result = db.todo_getDetail(
request.form['token'],
request.form['uuid']
@@ -224,7 +227,7 @@ def api_todo_getDetailHandle():
def api_todo_addHandle():
result = (False, None)
if (CheckParameter(('token', ))):
db = get_database()
db = calendar_db
result = db.todo_add(request.form['token'])
return ConstructResponseBody(result)
@@ -233,7 +236,7 @@ def api_todo_addHandle():
def api_todo_updateHandle():
result = (False, None)
if (CheckParameter(('token', 'uuid', 'data', 'lastChange'))):
db = get_database()
db = calendar_db
result = db.todo_update(
request.form['token'],
request.form['uuid'],
@@ -247,7 +250,7 @@ def api_todo_updateHandle():
def api_todo_deleteHandle():
result = (False, None)
if (CheckParameter(('token', 'uuid', 'lastChange'))):
db = get_database()
db = calendar_db
result = db.todo_delete(
request.form['token'],
request.form['uuid'],
@@ -307,5 +310,7 @@ def ConstructResponseBody(returnedTuple):
}
def run():
calendar_db.open()
app.run(port=config.CustomConfig['web']['port'])
calendar_db.close()

View File

@@ -43,7 +43,6 @@ CREATE TABLE calendar(
[ccn_description] TEXT NOT NULL,
[ccn_lastChange] TEXT NOT NULL,
[ccn_eventDateTimeType] TINYINT NOT NULL,
[ccn_eventDateTimeStart] BIGINT NOT NULL,
[ccn_eventDateTimeEnd] BIGINT NOT NULL,

View File

@@ -29,13 +29,5 @@ $(document).ready(function() {
});
function ccn_calendar_LoadCalendarBody() {
$.ajax({
url: $("#jsrender-tmpl-calendarItem").attr('src'),
type: "GET",
async: false,
success: function (data) {
var tmpl = $.templates(data);
$('#ccn-calendar-calendarBbody').append(tmpl.render());
}
});
$('#ccn-calendar-calendarBbody').append(ccn_template_calendarItem.render());
}

View File

@@ -1,6 +1,6 @@
$(document).ready(function() {
ccn_pages_currentPage = ccn_pages_enumPages.login;
// template process
ccn_template_Load();
@@ -9,11 +9,11 @@ $(document).ready(function() {
cnn_headerNav_BindEvents();
cnn_headerNav_LoggedRefresh();
// bind login event
$("#ccn-login-form-login").click(ccn_login_startLogin);
// apply i18n
ccn_i18n_ApplyLanguage();
// bind login event
$("#ccn-login-form-login").click(ccn_login_startLogin);
});
function ccn_login_startLogin() {

View File

@@ -11,15 +11,15 @@ $(document).ready(function() {
cnn_headerNav_BindEvents();
cnn_headerNav_LoggedRefresh();
// apply i18n
ccn_i18n_ApplyLanguage();
// refresh once
ccn_todo_Refresh();
// bind event
$("#ccn-todo-btnAdd").click(ccn_todo_Add);
$("#ccn-todo-btnRefresh").click(ccn_todo_Refresh);
// apply i18n
ccn_i18n_ApplyLanguage();
});
function ccn_todo_RefreshCacheList() {

View File

@@ -2,9 +2,9 @@
<div>
{{for start=0 end=7 step=1 itemVar="~column"}}
<div id="ccn-calendar-calendarItem-{{:~row}}-{{:~column}}">
<p><b>1</b></p>
<p><small>春分</small></p>
<p><span class="icon is-small"><i class="fas fa-tasks"></i></span>114514</p>
<p><b id="ccn-calendar-calendarItem-title-{{:~row}}-{{:~column}}">&nbsp;</b></p>
<p><small id="ccn-calendar-calendarItem-desc-{{:~row}}-{{:~column}}">&nbsp;</small></p>
<p><span class="icon is-small"><i class="fas fa-tasks"></i></span id="ccn-calendar-calendarItem-task-{{:~row}}-{{:~column}}">&nbsp;</p>
</div>
{{/for}}
</div>