def getMostActivityOfUsers(self):
     dao = statsDAO()
     dates = dao.getPostDatesAvailable()
     if not dates:
         return jsonify(Error="No Posts found"), 400
     return jsonify(
         MostActivityOfUsersPerDates=dao.getMostActivityOfUsers(dates)), 200
 def getTrendingHashtagsTotal(self):
     dao = statsDAO()
     dates = dao.getAvailableTrendingDates()
     if not dates:
         return jsonify(Error="No hashtags found"), 400
     return jsonify(
         TrendingHashtags=dao.getTrendringHashtagsTotal(dates)), 200
 def getStatByChoice(self, form):
     stat = form['stat']
     dao = statsDAO()
     if len(form) == 2:
         uid = form['uid']
         if stat == "postsperdaybyuser":
             dao2 = usersDAO()
             if not dao2.getUserById(uid):
                 return jsonify(Error="User " + str(uid) +
                                " not found"), 404
             dates = dao.getDatesOfPostsPerDayByUser(uid)
             if not dates:
                 return jsonify(Error="No Posts found for user: "******"Invalid statistic per user operation"), 404
     if len(form) == 1:
         if stat == "mostactivityofusers":
             dates = dao.getPostDatesAvailable()
             if not dates:
                 return jsonify(Error="No Posts found"), 400
             return jsonify(MostActiveUsersPerDates=dao.
                            getMostActivityOfUsers(dates)), 200
         elif stat == "repliesperdates":
             dates = dao.getAvailableRepliesDates()
             if not dates:
                 return jsonify(Error="No replies found"), 400
             return jsonify(
                 RepliesPerDates=dao.getRepliesPerDates(dates)), 200
         elif stat == "postsperdates":
             dates = dao.getPostDatesAvailable()
             if not dates:
                 return jsonify(Error="No Posts found"), 400
             return jsonify(PostsPerDates=dao.getPostsPerDates(dates)), 200
         elif stat == "likesperdates":
             dates = dao.getReactionsDatesAvailable()
             if not dates:
                 return jsonify(Error="No reactions found"), 400
             return jsonify(LikesPerDates=dao.getLikesPerDate(dates)), 200
         elif stat == "dislikesperdates":
             dates = dao.getReactionsDatesAvailable()
             if not dates:
                 return jsonify(Error="No reactions found"), 400
             return jsonify(Dislikes=dao.getDisikesPerDate(dates)), 200
         elif stat == "trending":
             dates = dao.getAvailableTrendingDates()
             if not dates:
                 return jsonify(Error="No hashtags found"), 400
             return jsonify(
                 TrendingHashtags=dao.getTrendringHashtags(dates)), 200
         return jsonify(Error="Invalid statistic operation"), 404
     return jsonify(Error="Malformed stats request"), 400
 def getMostActiveUsers(self):
     dao = statsDAO()
     if not dao.isTherePost():
         return jsonify(Error="No Posts found"), 400
     return jsonify(MostActiveUsersPerDates=dao.getMostActiveUsers()), 200