basic backup implementation (in progress)

This commit is contained in:
azivner 2017-10-05 21:43:39 -04:00
parent 9abb97627c
commit ee4eca33d4
4 changed files with 27 additions and 3 deletions

1
TODO
View File

@ -12,6 +12,7 @@ New features:
- javascript editor
- persisted recent notes (is wiped out after reload)
- sync of current page?
- create new subnote from inside the editor - possibly with selection of text
Refactorings:
- modularize frontend

22
src/backup.py Normal file
View File

@ -0,0 +1,22 @@
from datetime import datetime
import utils
from sql import getOption, setOption
import config_provider
from shutil import copyfile
def backup():
now = utils.nowTimestamp()
last_backup_date = int(getOption('last_backup_date'))
if now - last_backup_date > 43200:
config = config_provider.getConfig()
document_path = config['Document']['documentPath']
backup_directory = config['Backup']['backupDirectory']
date_str = datetime.utcnow().strftime("%Y-%m-%d %H:%M")
copyfile(document_path, backup_directory + "/" + "backup-" + date_str + ".db")
setOption('last_backup_date', now)

View File

@ -1,19 +1,20 @@
import base64
import os
import math
import time
from flask import Blueprint, jsonify
from flask_login import login_required
from sql import getResults, getSingleResult, getOption
import utils
import backup
tree_api = Blueprint('tree_api', __name__)
@tree_api.route('/api/tree', methods = ['GET'])
@login_required
def getTree():
backup.backup()
notes = getResults("select "
"notes_tree.*, "
"COALESCE(clone.note_title, notes.note_title) as note_title, "

View File

@ -2,4 +2,4 @@ from datetime import datetime
import time
def nowTimestamp():
return time.mktime(datetime.utcnow().timetuple())
return int(time.mktime(datetime.utcnow().timetuple()))