-
Notifications
You must be signed in to change notification settings - Fork 1
/
app.py
102 lines (81 loc) · 3.2 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import logging
import os
import sys
import static.configs.EnvConf
import tempfile
from time import sleep
from static.blueprints.pathFix import pathFixer
from static.controllers.Permission import Permission
from static.tool.Logs import Log, LogType
from static.tool.FileManager import FileManager
from static.controllers.FileController import FileController
from static.classes.Registration import Register, isRegistered
from flask_mail import Mail, Message
from static.classes.FileUpload import FileUpload
from flask import Flask, render_template, send_file, redirect, send_from_directory
from flask import request, session, jsonify
from static.blueprints.testFile import getTestFiles
from static.blueprints.jsSessionFix import jsSessionFix
from static.blueprints.simpleRoute import simpleRoute
from static.blueprints.loginORregistry import loginORregistry
from static.blueprints.renderTrashbox import renderTrashbox
from static.blueprints.includeRender import includeRender
from static.blueprints.ajaxAction import ajaxAction
from static.blueprints.searchEngine import searchEngine
app = Flask(__name__)
app.secret_key = os.urandom(24)
app.register_blueprint(jsSessionFix)
app.register_blueprint(simpleRoute)
app.register_blueprint(loginORregistry)
app.register_blueprint(renderTrashbox)
app.register_blueprint(includeRender)
app.register_blueprint(ajaxAction)
app.register_blueprint(searchEngine)
app.config['MAIL_SERVER'] = 'smtp.gmail.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USERNAME'] = ''
app.config['MAIL_PASSWORD'] = ''
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True
mail = Mail()
mail.init_app(app)
@app.route('/sendMail', methods=['POST'])
def sendMail():
tresc = request.form.get('message')
podpis = request.form.get('podpis')
msg = Message("Message from user: " + podpis, sender='trashpandacloud@gmail.com',
recipients=['trashpandacloud@gmail.com'])
msg.body = tresc + '\n' + podpis
mail.send(msg)
return 'Send message.'
@app.route('/include/include_download', methods=['GET'])
@app.route('/include/include_download', methods=['POST'])
def download():
# if request.form.get('action') == 'download':
print('-----------Download---------------')
# Tu odbieram cala sciezke np.: /srv/Data/1234567890/twojastara.png/
path = request.form.get('attr1')
if request.method == 'GET':
if 'download_path' in session:
path = session['download_path']
# path = "/srv/Data/mikus/plik.txt"
name = os.path.basename(path)
dir = path.split("/")
dir.pop()
path = "/"
for item in dir:
path = path + item + "/"
print("sciezka do pliku"+path)
print("nazwa pliku to "+name)
# A tu zwracam odpowiedz do js'a do include_trashbox.html do funkcji "download" na samym dole
return send_from_directory(directory=path, mimetype=None,filename=name, as_attachment=True)
@app.route('/n/ser/h/', methods=['GET'])
def fortest():
from static.controllers.AdminControllers.main import render
return render()
@Permission.login
@Log(LogType.INFO, 101, "Run application", printToConsole=True)
def startServer():
if __name__ == '__main__':
app.run(debug=True, host="0.0.0.0", port=5000)
startServer()