Advertisement
Guest User

Untitled

a guest
Jul 15th, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. #This is the endpoint. It feeds fullcalendar.js
  2. @mod.route('/event_data_endpoint')
  3. def event_data_endpoint():
  4. events = Events.query.filter_by(approved=True).all()
  5. return json.dumps(Events.serialize_list(events))
  6. #Serializer modified from a Stack Exchange post :)
  7. class Serializer(object):
  8. def serialize(self):
  9. return {c: getattr(self, c) for c in inspect(self).attrs.keys() if c is not 'rsvps'}
  10.  
  11. @staticmethod
  12. def serialize_list(l):
  13. return [m.serialize() for m in l]
  14. #The Event model
  15. class Events(db.Model, Serializer):
  16. id = db.Column(db.Integer, primary_key=True)
  17. title = db.Column(db.String(120))
  18. location = db.Column(db.String(120))
  19. start = db.Column(db.DateTime)
  20. url = db.Column(db.String())
  21. additional_information = db.Column(db.String())
  22. category = db.Column(db.String(120))
  23. color = db.Column(db.String(30))
  24. submitted_by = db.ForeignKey('user.id')
  25. approved = db.Column(db.Boolean, default=False)
  26. rsvps = db.relationship('RSVP',
  27. backref='events',
  28. lazy='dynamic',
  29. cascade='all, delete-orphan')
  30.  
  31. def __repr__(self):
  32. return str(self.title)
  33.  
  34. def serialize(self):
  35. d = Serializer.serialize(self)
  36. return d
  37. #Events added like this:
  38. event=Events(title = form.title.data,
  39. location = form.location.data,
  40. start = form.start.data,
  41. url = form.url.data,
  42. additional_information = form.additional_information.data,
  43. color='red',
  44. submitted_by=current_user.id)
  45. db.session.add(event)
  46. db.session.commit()
  47. #Database config
  48. if os.environ.get('DATABASE_URL') is None:
  49. SQLALCHEMY_DATABASE_URI = "mysql+pymysql://{username}:{password}@{hostname}/{database}".format(
  50. username='username',
  51. password='password',
  52. hostname='example.mysql.pythonanywhere-services.com',
  53. database='example$default',
  54. )
  55. SQLALCHEMY_POOL_RECYCLE = 299
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement