__init__.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. from flask import Flask
  2. from config import Config
  3. from flask_sqlalchemy import SQLAlchemy
  4. from flask_migrate import Migrate
  5. from flask_login import LoginManager
  6. from sqlalchemy.sql import exists
  7. import re
  8. app = Flask(__name__)
  9. login = LoginManager(app)
  10. login.login_view = 'login'
  11. app.config.from_object(Config)
  12. db = SQLAlchemy(app)
  13. migrate = Migrate(app, db)
  14. admin = 'Sinopsys'
  15. from flask_login import current_user
  16. from app.models import Votes, User
  17. r = r'(?:(?:https?|ftp)://)?(?:\S+(?::\S*)?@)?(?:(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:/[^\s]*)?'
  18. def urlify(value):
  19. href = '<a href="{link}">{link}</a>'
  20. links = re.findall(r, value)
  21. for l in links:
  22. value = value.replace(l, href.format(link=l))
  23. return value
  24. def exists_vote(user_id, sugg_id):
  25. # vote_exists = db.session.query(exists().where(
  26. # Votes.user_id == user_id and
  27. # Votes.sugg_id == sugg_id)).scalar()
  28. vote_exists = Votes.query.filter_by(user_id=user_id,
  29. sugg_id=sugg_id).first() is not None
  30. return vote_exists
  31. def get_users_voted(sugg_id):
  32. users_voted = ''
  33. votes = Votes.query.filter_by(sugg_id=sugg_id).all()
  34. for v in votes:
  35. u = User.query.get(v.user_id)
  36. if u is not None:
  37. users_voted += u.username + ', '
  38. users_voted = users_voted.strip(', ')
  39. return users_voted
  40. app.jinja_env.globals.update(exists_vote=exists_vote)
  41. app.jinja_env.globals.update(get_users_voted=get_users_voted)
  42. app.jinja_env.globals.update(urlify=urlify)
  43. from app import routes, models
  44. # EOF