Advertisement
Guest User

Untitled

a guest
Jan 12th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.59 KB | None | 0 0
  1. from __future__ import unicode_literals
  2.  
  3. from flask import (
  4.     Flask, render_template, url_for, redirect, request, session, flash
  5. )
  6. from flask.ext.script import Manager, Server
  7. from flask.ext.bootstrap import Bootstrap
  8.  
  9. import forms
  10.  
  11. app = Flask(__name__)
  12. server = Server(host='0.0.0.0', port='5000')
  13. app.secret_key = 'Some mega ultra hiper secret key'
  14. app.debug = True
  15. manager = Manager(app)
  16. manager.add_command('runserver', server)
  17. bootstrap = Bootstrap(app)
  18.  
  19. IMAGE_EXTENSIONS = ['.jpg', '.jpeg', '.gif', '.png']
  20.  
  21.  
  22. @app.route('/')
  23. def index():
  24.  
  25.     if 'USERNAME' in session:
  26.         return render_template('index.html', name = session['USERNAME'])
  27.     else:
  28.         return render_template('index.html')
  29.     """
  30.        if user is logged:
  31.            render template index.html with user name in "name" parameter
  32.        else:
  33.            just render template index.html
  34.    """
  35.  
  36.  
  37. @app.route('/browse')
  38. def browse():
  39.     """
  40.        render template with get_images function in "images" parameter
  41.    """
  42.  
  43.  
  44. @app.route('/register', methods=['GET', 'POST'])
  45. def register():
  46.     """
  47.        function to register users.
  48.        Checks if user already exists in users.txt using user_exists function.
  49.        if user exists:
  50.            flash message: "Sorry but user with given username already exists"
  51.            and redirect to register.html
  52.        Rendered based on RegistrationForm.
  53.    """
  54.  
  55.  
  56. @app.route('/login', methods=['GET', 'POST'])
  57. def login():
  58.     form = forms.LoginForm(request.form)
  59.  
  60.     if request.method == 'POST':
  61.         username = request.form.get('username','')
  62.         password = request.form.get('password','')
  63.         if (username, password) in ['TEST','TEST']:
  64.             session['USERNAME'] = 'TEST'
  65.             return redirect(url_for('index'))
  66.     else:
  67.         return render_template('login.html', form=form)
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.     """
  76.        if user provide corrected login and password combination:
  77.            flash message: "You have been logged successfully"
  78.            and redirect to index.html
  79.        else:
  80.            render login.html template with LoginForm as "form" parameter
  81.    """
  82.  
  83.  
  84. @app.route('/logout')
  85. def logout():
  86.     """
  87.        Pop user from session, send flash message:
  88.        "You have been logged out succesfully"
  89.        and redirect to index page
  90.    """
  91.  
  92.  
  93. def validate_password(username, password):
  94.     """
  95.        Helper function for login().
  96.        Checks if username and password combination match to data in users.txt
  97.        @param username: user name
  98.        @param password: user password
  99.        @return: True or False
  100.    """
  101.  
  102.  
  103. def user_exists(username):
  104.     """
  105.        Helper function for register().
  106.        Checks if user exists in users.txt
  107.        @param username: user name
  108.        @return: True or False
  109.    """
  110.  
  111.  
  112. def get_images():
  113.     """
  114.        Helper function for browse()
  115.        Creates reversed list with urls to images taken from images.txt file
  116.    """
  117.  
  118.  
  119. @app.errorhandler(404)
  120. def page_not_found(e):
  121.     """
  122.        render template 404.html and send 404 http status
  123.    """
  124.  
  125.  
  126. @app.errorhandler(500)
  127. def internal_server_error(e):
  128.     """
  129.        render template 500.html and send 500 http status
  130.    """
  131.  
  132.  
  133. @app.route('/add', methods=['GET', 'POST'])
  134. def add():
  135.     """
  136.        Render add.html with forms.AdditionForm(request.form)as "form" param
  137.        if form is correct open images.txt file and add url to next line, then
  138.        flash message: 'Photo added succesfully' and redirect to browse.html
  139.    """
  140.  
  141.  
  142. if __name__ == '__main__':
  143.     manager.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement