def updateVotes(self, vote): QUESTIONS_COLLECTION.find_one_and_update( {'_id': ObjectId(self.quesID)}, {'$inc': { 'votes': vote }}) votes = (QUESTIONS_COLLECTION.find_one({'_id': ObjectId(self.quesID) }))['votes'] return votes
def editQuestion(self, short_desc, long_desc): QUESTIONS_COLLECTION.find_one_and_update( {'_id': ObjectId(self.quesID)}, { '$set': { 'short_description': short_desc, 'long_description': long_desc } })
def setAcceptedAns(self, ansID, username): usr = (QUESTIONS_COLLECTION.find_one({'_id': ObjectId(self.quesID) }))['postedBy'] if username == usr: QUESTIONS_COLLECTION.find_one_and_update( {'_id': ObjectId(self.quesID)}, {'$set': { 'accepted_ans': ansID }})
def addFlaggedBy(self, userID, postedBy): ques_obj = QUESTIONS_COLLECTION.find_one( {'_id': ObjectId(self.quesID)}) flags = ques_obj['flaggedBy'] votes = ques_obj['votes'] if userID in flags: return "alreadyFlagged" QUESTIONS_COLLECTION.find_one_and_update( {'_id': ObjectId(self.quesID)}, {'$addToSet': { 'flaggedBy': userID }}) if (len(flags) >= 10): flag = "True" self.setFlag(postedBy, votes, flag) usr = User(postedBy) usr.update_karma(-votes) return "quesRemoved" return "flagged"
def setFlag(self, flag): QUESTIONS_COLLECTION.find_one_and_update( {'_id': ObjectId(self.quesID)}, {'$set': { 'flag': flag }})
def update_comments(self, commentID): QUESTIONS_COLLECTION.find_one_and_update( {'_id': ObjectId(self.quesID)}, {'$addToSet': { 'commentID': commentID }})
def insert_answers(self, ansID): QUESTIONS_COLLECTION.find_one_and_update( {'_id': ObjectId(self.quesID)}, {'$addToSet': { 'ansID': ansID }})
def removeAcceptedAns(self): QUESTIONS_COLLECTION.find_one_and_update( {'_id': ObjectId(self.quesID)}, {'$set': { 'accepted_ans': None }})
def setAcceptedAns(self, ansID): QUESTIONS_COLLECTION.find_one_and_update( {'_id': ObjectId(self.quesID)}, {'$set': { 'accepted_ans': ObjectId(ansID) }})
def removeFlag(self, userID): QUESTIONS_COLLECTION.find_one_and_update( {'_id': ObjectId(self.quesID)}, {'$pull': { 'flaggedBy': userID }})