Function to upload site in ftp or sftp
This commit is contained in:
@@ -21,7 +21,7 @@ csrf = CSRFProtect(app)
|
||||
app.secret_key = 'your_secret_key'
|
||||
app.config.from_pyfile('config.py')
|
||||
|
||||
THEMES_FOLDER = './themes/'
|
||||
THEMES_FOLDER = './templates/themes/'
|
||||
USERS_FOLDER = app.config['USERS_FOLDER']
|
||||
bcrypt = Bcrypt(app)
|
||||
|
||||
@@ -108,8 +108,7 @@ def editPhoto(page, image, bloc):
|
||||
else:
|
||||
return redirect ('/#'+bloc)
|
||||
else:
|
||||
return render_template(THEMES_FOLDER+theme+'/blocs/edit/_image-edit'+'.html', form=form, image=myblocs[bloc][image], bloc=myblocs[bloc])
|
||||
|
||||
return render_template(THEMES_FOLDER+theme+'/blocs/edit/_image-edit'+'.html', form=form, image=myblocs[bloc][image], bloc=myblocs[bloc])
|
||||
|
||||
@app.route('/upload-gallery/<bloc>', methods=['POST'], defaults={'page': ''})
|
||||
@app.route('/<page>/upload-gallery/<bloc>', methods=['POST'])
|
||||
@@ -169,7 +168,6 @@ def delImage(page, bloc, image):
|
||||
|
||||
return make_response(('Image removed', 200))
|
||||
|
||||
|
||||
@app.route('/imgs_list/<blocname>', methods=['GET'], defaults={'page': ''})
|
||||
@app.route('/<page>/imgs_list/<blocname>', methods=['GET'])
|
||||
@login_required
|
||||
@@ -186,7 +184,6 @@ def imagesList(page, blocname):
|
||||
return render_template(THEMES_FOLDER+theme+'/blocs/edit/images_list.html',page=page,
|
||||
bloc=bloc)
|
||||
|
||||
|
||||
@app.route('/edit/<blocname>', methods=['GET', 'POST'], defaults={'page': ''})
|
||||
@app.route('/<page>/edit/<blocname>', methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@@ -298,7 +295,6 @@ def addBloc(page):
|
||||
else:
|
||||
return redirect(url_for('edit'))
|
||||
|
||||
|
||||
@app.route('/addPage', methods=['POST'])
|
||||
@login_required
|
||||
def addPage():
|
||||
@@ -340,10 +336,6 @@ def rmPage(pageName):
|
||||
|
||||
|
||||
return redirect(url_for('edit'))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@app.route('/sortblocs', methods=['POST'], defaults={'page': ''})
|
||||
@app.route('/<page>/sortblocs', methods=['POST'])
|
||||
@@ -393,14 +385,14 @@ def editMenu():
|
||||
flash (u'Le menu a bien été modifier', 'success');
|
||||
return redirect(url_for('edit'))
|
||||
|
||||
@app.route('/public/img/<filename>')
|
||||
@app.route('/img/<filename>')
|
||||
@login_required
|
||||
def myimgs(filename):
|
||||
user = '%s' % escape(session['username'])
|
||||
return send_from_directory(
|
||||
os.path.join(USERS_FOLDER, user, 'public', 'img'), filename )
|
||||
|
||||
@app.route('/public/img/thumbnails/<filename>')
|
||||
@app.route('/img/thumbnails/<filename>')
|
||||
@login_required
|
||||
def mythumbnails(filename):
|
||||
user = '%s' % escape(session['username'])
|
||||
@@ -414,7 +406,7 @@ def favicon():
|
||||
|
||||
|
||||
|
||||
@app.route('/publish', methods=['GET'])
|
||||
@app.route('/publish', methods=['POST'])
|
||||
@login_required
|
||||
def publish():
|
||||
user = '%s' % escape(session['username'])
|
||||
@@ -422,6 +414,15 @@ def publish():
|
||||
listPages = db.getPages()
|
||||
theme = db.datas['config']['theme']
|
||||
menu = db.datas['menu']
|
||||
test_alphanum = "^[A-Za-z0-9/_-]*$"
|
||||
|
||||
|
||||
serverAddress = str(request.form['serverAddress'])
|
||||
serverPort = str(request.form['serverPort'])
|
||||
username = str(request.form['username'])
|
||||
password = str(request.form['password'])
|
||||
folder = str(request.form['folder'])
|
||||
|
||||
|
||||
for page in listPages:
|
||||
myblocs = db.getBlocs(page)['blocs']
|
||||
@@ -442,6 +443,23 @@ def publish():
|
||||
page='/',
|
||||
myblocs=myblocs)
|
||||
|
||||
db.writeHTML(theme, 'index', htmlExport)
|
||||
db.writeHTML(theme, '/', htmlExport)
|
||||
|
||||
|
||||
if serverPort == '' or serverPort.isdigit() == False :
|
||||
serverPort = '22'
|
||||
|
||||
|
||||
|
||||
if folder == '' :
|
||||
folder = '/'
|
||||
elif(bool(re.match(test_alphanum, folder)) == False):
|
||||
folder = '/'
|
||||
|
||||
|
||||
if db.publish(username, password, serverAddress, serverPort, folder) == False:
|
||||
return make_response(('Impossible de publier le site ', 500))
|
||||
|
||||
|
||||
return redirect(url_for('edit'))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user