Guest User

Untitled

a guest
Jul 17th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. import sys
  2. from flask import Flask,request,render_template, g, flash, send_from_directory
  3. import datetime
  4. import locale
  5. from sqlite3 import dbapi2 as sqlite3
  6. from werkzeug import secure_filename
  7.  
  8. DATABASE = "./tmp/fileserver.db"
  9. TMP_FOLDER = "./tmp/"
  10. app = Flask(__name__)
  11. app.config.from_object(__name__)
  12. app.config.from_envvar('FLASKR_SETTINGS', silent=True)
  13.  
  14.  
  15. def connect_db():
  16. return sqlite3.connect(app.config['DATABASE'])
  17.  
  18.  
  19. @app.before_request
  20. def before_request():
  21. """Make sure we are connected to the database each request."""
  22. g.db = connect_db()
  23.  
  24.  
  25. @app.after_request
  26. def after_request(response):
  27. """Closes the database again at the end of the request."""
  28. g.db.close()
  29. return response
  30.  
  31.  
  32. @app.route("/")
  33. def show():
  34. return render_template('post_form.html',a="1")
  35.  
  36.  
  37. @app.route("/list")
  38. def list():
  39. cur = g.db.execute('select filename, filepath from entries order by id desc')
  40. entries = [dict(filename=row[0], filepath=row[1]) for row in cur.fetchall()]
  41. return render_template('show_list.html', entries=entries)
  42.  
  43.  
  44. @app.route('/add', methods=['GET', 'POST'])
  45. def upload():
  46. if request.method == 'POST':
  47. # get post data and save
  48. #print request.form["label"]
  49. #print "upload"
  50. filename = request.form["label"]
  51. filedata = request.form['upfile']
  52. d = datetime.datetime.today()
  53.  
  54. timestamp = d.strftime("%Y%m%d%H%M%S")
  55. print timestamp
  56. filename = "./tmp/"+timestamp+secure_filename(filename)
  57. f=open(filename, "w")
  58. f.write(filedata.encode("utf-8"))
  59. f.close()
  60.  
  61. g.db.execute('insert into entries (filename, filepath) values (?, ?)',
  62. [request.form['label'], filename])
  63. g.db.commit()
  64. #flash('New entry was successfully posted')
  65. return filedata
  66.  
  67.  
  68. @app.route('/tmp/<filename>')
  69. def uploaded_file(filename):
  70. return send_from_directory(app.config['TMP_FOLDER'],filename)
  71.  
  72.  
  73. if __name__ == "__main__":
  74. if len(sys.argv) >= 2 and sys.argv[1] == 'debug':
  75. print("starting debug mode")
  76. app.run(host='0.0.0.0', debug=True)
  77. else:
  78. app.run(host='0.0.0.0')
Add Comment
Please, Sign In to add comment