test restore
This commit is contained in:
26
shop.py
26
shop.py
@@ -1,7 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# all the imports
|
||||
import sqlite3, time, datetime, hashlib, os,re
|
||||
from shutil import copyfile
|
||||
from shutil import copyfile, move
|
||||
from flask import Flask, request, session, g, redirect, url_for, \
|
||||
abort, render_template, flash
|
||||
from revprox import ReverseProxied
|
||||
@@ -200,6 +200,28 @@ def edit_md():
|
||||
flash('Saved new file.')
|
||||
return redirect(url_for('show_shop',shopid=shopid))
|
||||
|
||||
@app.route('/restore', methods=['POST'])
|
||||
def restore_md():
|
||||
if not session.get('logged_in'):
|
||||
abort(401)
|
||||
shopid=int(request.form['shopid'])
|
||||
ownerid=g.db.execute('select owner from shops where id=?',request.form['shopid']).fetchall()[0][0]
|
||||
shopname=g.db.execute('select shop from shops where id=?',request.form['shopid']).fetchall()[0][0]
|
||||
ownername=get_username(ownerid)
|
||||
data_dir=os.path.join(DATADIR, ownername)
|
||||
data_file=os.path.join(data_dir, shopname+".md")
|
||||
backup=data_file+".bkp"
|
||||
backup_tmp=data_file+".tmp"
|
||||
if not os.path.exists(backup):
|
||||
flash('Backup does not exist')
|
||||
return redirect(url_for('show_shop',shopid=shopid))
|
||||
copyfile(data_file,backup_tmp)
|
||||
copyfile(backup, data_file)
|
||||
move(backup_tmp, backup)
|
||||
flash('Backup restored')
|
||||
return redirect(url_for('show_shop',shopid=shopid))
|
||||
|
||||
|
||||
|
||||
@app.route('/toggle', methods=['POST'])
|
||||
def toggle_item():
|
||||
@@ -247,6 +269,7 @@ def remove_toggled():
|
||||
ownername=get_username(ownerid)
|
||||
data_dir=os.path.join(DATADIR, ownername)
|
||||
data_file=os.path.join(data_dir, shopname+".md")
|
||||
backup=data_file+".bkp"
|
||||
contents_file=open(data_file,'rt')
|
||||
contents=[]
|
||||
changed=False
|
||||
@@ -257,6 +280,7 @@ def remove_toggled():
|
||||
changed=True
|
||||
contents_file.close()
|
||||
if changed:
|
||||
copyfile(data_file, backup)
|
||||
contents_file=open(data_file,'wt')
|
||||
contents_file.write("\n".join(contents).encode('utf-8'))
|
||||
contents_file.close()
|
||||
|
||||
Reference in New Issue
Block a user