Advertisement
Guest User

Untitled

a guest
Sep 14th, 2016
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1.  
  2. # current dir /templates
  3. template_dir = os.path.join(os.path.dirname(__file__), 'templates')
  4. # jinja look for templates in template_dir
  5. jinja_env = jinja2.Environment(loader=jinja2.FileSystemLoader(template_dir),
  6. autoescape=True)
  7.  
  8.  
  9. # Article Entity
  10.  
  11.  
  12. class Article(db.Model):
  13. subject = db.StringProperty(required=True)
  14. content = db.TextProperty(required=True)
  15. created = db.DateTimeProperty(auto_now_add=True)
  16. userid = db.IntegerProperty(required=True)
  17. # list of userid who like the article
  18. like = db.StringListProperty()
  19. # list of userid who dislike the article
  20. dislike = db.StringListProperty()
  21.  
  22. def getUsername(self):
  23. return User.get_by_id(int(self.userid)).username
  24.  
  25. def get_id(self):
  26. return self.key().id()
  27.  
  28. # render the article
  29. def renderpost(self, user):
  30. is_like = False
  31. is_dislike = False
  32. # check if the current user likes or dislikes the article
  33. if user:
  34. if str(user.get_id()) in self.like:
  35. is_like = True
  36. if str(user.get_id()) in self.dislike:
  37. is_dislike = True
  38. return render_str("post.html", user=user, article=self, like=is_like,
  39. dislike=is_dislike)
  40.  
  41. # render the comments related to this article
  42. def rendercomment(self, user):
  43. comments = db.GqlQuery(
  44. "SELECT * FROM Comment WHERE articleid = %s ORDER BY created"
  45. % self.get_id())
  46. comment_render = ""
  47. if comments is not None:
  48. for comment in comments:
  49. if comment is not None:
  50. comment_render += render_str("comment.html",
  51. user=user, comment=comment)
  52. return comment_render
  53.  
  54. # User Entity
  55.  
  56.  
  57. class User(db.Model):
  58. username = db.StringProperty(required=True)
  59. password = db.StringProperty(required=True)
  60. email = db.StringProperty()
  61.  
  62. def get_id(self):
  63. return self.key().id()
  64.  
  65. # Comment Entity
  66.  
  67.  
  68. class Comment(db.Model):
  69. userid = db.IntegerProperty(required=True)
  70. articleid = db.IntegerProperty(required=True)
  71. content = db.TextProperty(required=True)
  72. created = db.DateTimeProperty(auto_now_add=True)
  73.  
  74. def getUsername(self):
  75. return User.get_by_id(int(self.userid)).username
  76.  
  77. def get_id(self):
  78. return self.key().id()
  79.  
  80.  
  81. def render_str(template, **params):
  82. t = jinja_env.get_template(template)
  83. return t.render(params)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement