def post(self): response = ResponseModel() try: vote_model = self.get_json_model("vote") state = vote_model['state'] post_id = vote_model['post_id'] user = yield gen.Task(UserActions._get_me_by_id,self.current_uid()) post = yield gen.Task(PostActions._get_post_by_id,post_id) reply_id = vote_model.get('reply_id',None) vote = None if reply_id == None: if state == 1: vote,error = yield gen.Task(CallIT.gen_run,VoteActions._upvote_post,user, post, state) elif state == -1: vote,error = yield gen.Task(CallIT.gen_run,VoteActions._downvote_post,user, post, state) else: replies =filter(lambda x: x.id == ObjectId(reply_id), post.replies) if len(replies) != 1: raise Exception("There can only be one!!") reply = replies[0] if state == 1: vote,error = yield gen.Task(CallIT.gen_run,VoteActions._upvote_reply,user, post,reply, state) elif state == -1: vote,error = yield gen.Task(CallIT.gen_run,VoteActions._downvote_reply,user, post, reply,state) response.model = vote except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def post(self): try: username = self.get_json_arg("username", strip=True) password = self.get_json_arg("password", strip=True) response = ResponseModel() print username,password user = yield gen.Task(AuthActions._login,username, password) if user != None and user.active: self.set_current_user(user) self.uid = user.id self.username = user.username response.success = user != None response.model['user'] = user self.write_json(response) else: self.set_status(401, "Unauthorized") if not user.active: response.args['Message'] = 'You must verify your email first' response.args['Error'] = 1 self.write_json(response) return except AttributeError as e: logger.error(self.request) self.set_status(401, "Unauthorized") except: self.set_status(401, "Unauthorized")
def get(self, id): response = ResponseModel() try: if id == None: raise Exception("No id provided") detailed = self.get_argument("detailed", False) fields = self.get_argument("fields", default=[]) if fields != []: fields = fields.split(",") elif self.current_uid != id and detailed: raise Exception("Invalid Permissions") else: response.model['user'], error = yield gen.Task( CallIT.gen_run, UserActions._get_user_by_id, id, detailed=False, includes=fields) if response.model['user'] == None: self.set_status(404, "User not found") except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def get(self, tag_id): response = ResponseModel() q = self.get_argument("q", strip=True, default=False) try: nresults = int( self.get_argument("nresults", strip=True, default=50)) page = int(self.get_argument("page", strip=True, default=1)) tagids = self.get_argument("tag_ids", strip=True, default=False) if q: response.model['tags'], error = yield gen.Task( CallIT.gen_run, TagActions._get_tags_by_freq, q, nresults, page) elif tagids: response.model['tags'], error = yield gen.Task( CallIT.gen_run, TagActions._get_tags_by_ids, tagids) elif tag_id != None: response.model['tags'], error = yield gen.Task( CallIT.gen_run, TagActions._get_tag_by_id, tag_id) else: response.model['tags'], error = yield gen.Task( CallIT.gen_run, TagActions._get_top_tags, nresults, page) if not response.model['tags']: self.set_status(404, "Tag not found") except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def post(self): try: username = self.get_json_arg("username", strip=True) password = self.get_json_arg("password", strip=True) response = ResponseModel() print username, password user = yield gen.Task(AuthActions._login, username, password) if user != None and user.active: self.set_current_user(user) self.uid = user.id self.username = user.username response.success = user != None response.model['user'] = user self.write_json(response) else: self.set_status(401, "Unauthorized") if not user.active: response.args[ 'Message'] = 'You must verify your email first' response.args['Error'] = 1 self.write_json(response) return except AttributeError as e: logger.error(self.request) self.set_status(401, "Unauthorized") except: self.set_status(401, "Unauthorized")
def delete(self, username): response = ResponseModel() try: cur_user = yield gen.Task(UserActions._get_user_by_id, self.current_uid()) user = yield gen.Task(UserActions._delete_user, cur_user) response.model['user'] = user except Exception, e: response.success = False logger.error(e)
def post(self, username): response = ResponseModel() user = None pro_img = None try: rip = self.request.remote_ip if rip == '127.0.0.1': rip = self.settings['local_ip'] recaptcha = self.get_json_model("recaptcha") cap_resp = captcha.submit(recaptcha['challenge'], recaptcha['response'], self.settings['captcha_priv'], rip) if not cap_resp.is_valid: response.success = False response.args['Message'] = 'Captcha Fail' response.args['Error'] = 1 self.write_json(response) return img = self.get_json_model("profile_img", default=None) user_data = self.get_json_model('user') user, error = yield gen.Task(CallIT.gen_run, UserActions._register, user_data, user_data['password']) pro_img, error = yield gen.Task( CallIT.gen_run, ProfileImageActions.save_profile_image, user.id, user, img) #Maybe return user here, response.model['user'] = "******" except Exception, e: if isinstance(user, Document): user.delete() if isinstance(pro_img, Document): pro_img.delete() response.success = False response.args['Message'] = e.message logger.error(e) if "username" in e.message and "duplicate" in e.message: response.args['Error'] = 2 if "email" in e.message and "duplicate" in e.message: response.args['Error'] = 3 self.write_json(response) return
def delete(self,post_id): response = ResponseModel() try: cur_user = yield gen.Task(UserActions._get_user_by_id,self.current_uid()) cur_post = yield gen.Task(PostActions._get_post_by_id,post_id) post = yield gen.Task (PostActions._delete_post,cur_user,cur_post) response.model['post'] = post except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def get(self): response = ResponseModel() try: nresults = int(self.get_argument("nresults",strip=True,default=50)) page = int(self.get_argument("page",strip=True,default=1)) response.model['tags'],error = yield gen.Task(CallIT.gen_run,TagActions._get_tags_by_owner,self.current_uid(),nresults, page) except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def post(self,post_id): response = ResponseModel() try: post_model = self.get_json_model("post") user = yield gen.Task(UserActions._get_user_by_id,self.current_uid()) response.model['post'],error = yield gen.Task(CallIT.gen_run,PostActions._create_post,user, post_model) except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def post(self,post_id,reply_id): response = ResponseModel() try: reply_model = self.get_json_model("reply") content = reply_model['content'] user = yield gen.Task(UserActions._get_user_by_id,self.current_uid()) response.model['reply'],error = yield gen.Task(CallIT.gen_run,ReplyActions._create_reply,user, post_id,content,reply_id) except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def get(self): response = ResponseModel() try: nresults = int( self.get_argument("nresults", strip=True, default=20)) page = int(self.get_argument("page", strip=True, default=1)) except Exception, e: response.success = False response.args['Message'] = "Error parsing arguments" logger.error(e) self.write_json(response) return
def get(self): response = ResponseModel() try: nresults = int(self.get_argument("nresults",strip=True,default=1)) excludes = self.get_argument("exclude",strip=True,default="[]") excludes = loads(excludes) response.model['tags'],error = yield gen.Task(CallIT.gen_run, TagActions._get_tags_by_random,excludes,nresults) except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def get(self, username=None): response = ResponseModel() try: if username == None: username = self.current_uid() tags, error = yield gen.Task(CallIT.gen_run, UserActions._get_followers, username) response.model['followers'] = tags except Exception, e: response.success = False logger.error(e)
def post(self,username=None): response = ResponseModel() try: old_pass = self.get_argument("old_pass", strip=True) new_pass = self.get_argument("new_pass", strip=True) curr_user = yield gen.Task(UserActions._get_user_by_id,self.current_uid(),detailed=True,deref=False) success = yield gen.Task(AuthActions._change_password,curr_user, old_pass, new_pass) response.model['password_change'] = success # print user.default_tags except Exception, e: response.success = False logger.error(e)
def get(self,post_id,reply_id): response = ResponseModel() try: sort = self.get_argument("sort", default=None, strip=True) nresults = int(self.get_argument("nresults", default=300, strip=True)) page = int(self.get_argument("page", default=1, strip=True)) except Exception, e: response.success = False response.args['Message'] = "Error parsing arguments" logger.error(e) self.write_json(response) return
def get(self,post_id): response = ResponseModel() try: nresults = int(self.get_argument("nresults",strip=True,default=25)) page = int(self.get_argument("page",strip=True,default=1)) sort = self.get_argument('sort',strip=True,default='erank') tags = self.get_argument("tags", default=None, strip=True) except Exception, e: response.success = False response.args['Message'] = "Error parsing arguments" logger.error(e) self.write_json(response) return
def put(self,post_id,reply_id): response = ResponseModel() try: if post_id == None or reply_id == None: raise Exception("You need a postId and replyId for this action") reply_model = self.get_json_model("reply") content = reply_model['content'] user = yield gen.Task(UserActions._get_user_by_id,self.current_uid()) response.model['reply'] = yield gen.Task(ReplyActions._update_reply,user, post_id,content,reply_id) except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def get(self): response = ResponseModel() try: nresults = int( self.get_argument("nresults", strip=True, default=50)) page = int(self.get_argument("page", strip=True, default=1)) response.model['tags'], error = yield gen.Task( CallIT.gen_run, TagActions._get_tags_by_owner, self.current_uid(), nresults, page) except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def get(self): response = ResponseModel() try: query = self.get_argument("q",strip=True) fields = self.get_argument("fields",default=[]) if fields != []: fields = fields.split(",") response.model['search'],error = yield gen.Task(CallIT.gen_run,SearchActions.search,query) except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def put(self,tag_id): response = ResponseModel() try: img = self.get_json_model("profile_img",default=None) user = yield gen.Task(UserActions._get_me_by_id,self.current_uid()) tag = yield gen.Task(TagActions._get_tag_by_id,tag_id) tag_model = self.get_json_model("tag") response.model['tag'] = yield gen.Task(TagActions._update_tag,user, tag,tag_model) if img != None: yield gen.Task(ProfileImageActions.save_profile_image,tag.id,user, img) except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def get(self): response = ResponseModel() try: nresults = int(self.get_argument("nresults", strip=True, default=1)) excludes = self.get_argument("exclude", strip=True, default="[]") excludes = loads(excludes) response.model['tags'], error = yield gen.Task( CallIT.gen_run, TagActions._get_tags_by_random, excludes, nresults) except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def get(self): response = ResponseModel() try: query = self.get_argument("q", strip=True) fields = self.get_argument("fields", default=[]) if fields != []: fields = fields.split(",") response.model['search'], error = yield gen.Task( CallIT.gen_run, SearchActions.search, query) except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def post(self, not_id=None): response = ResponseModel() try: user = yield gen.Task(UserActions._get_me_by_id, self.current_uid()) if not_id == None: resp = UserActions._read_all_notifications(user) response.model['read'] = resp else: resp = UserActions._read_notification(user, not_id) response.model['read'] = resp except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def put(self, tag_id): response = ResponseModel() try: img = self.get_json_model("profile_img", default=None) user = yield gen.Task(UserActions._get_me_by_id, self.current_uid()) tag = yield gen.Task(TagActions._get_tag_by_id, tag_id) tag_model = self.get_json_model("tag") response.model['tag'] = yield gen.Task(TagActions._update_tag, user, tag, tag_model) if img != None: yield gen.Task(ProfileImageActions.save_profile_image, tag.id, user, img) except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def put(self, username): response = ResponseModel() try: img = self.get_json_model("profile_img", default=None) cur_user = yield gen.Task(UserActions._get_me_by_id, self.current_uid()) user = yield gen.Task(UserActions._update, cur_user, self.get_json_model('user')) if img != None: yield gen.Task(ProfileImageActions.save_profile_image, user.id, user, img) response.model['user'] = yield gen.Task( UserActions._get_user_by_id, self.current_uid()) except Exception, e: response.success = False logger.error(e)
def post(self, username=None): response = ResponseModel() try: old_pass = self.get_argument("old_pass", strip=True) new_pass = self.get_argument("new_pass", strip=True) curr_user = yield gen.Task(UserActions._get_user_by_id, self.current_uid(), detailed=True, deref=False) success = yield gen.Task(AuthActions._change_password, curr_user, old_pass, new_pass) response.model['password_change'] = success # print user.default_tags except Exception, e: response.success = False logger.error(e)
def get(self, username=None): response = ResponseModel() try: if username == None: cur_user, error = yield gen.Task(CallIT.gen_run, UserActions._get_user_by_id, self.current_uid()) else: cur_user, error = yield gen.Task(CallIT.gen_run, UserActions._get_user_by_id, username) tags, error = yield gen.Task(CallIT.gen_run, UserActions._get_default_tags, cur_user) response.model['tags'] = tags except Exception, e: response.success = False logger.error(e)
def post(self, username=None): response = ResponseModel() try: tags = self.get_json_model('tags') cur_user = yield gen.Task(UserActions._get_user_by_id, self.current_uid(), detailed=True, deref=False) cur_user.reload() user, error = yield gen.Task(CallIT.gen_run, UserActions._add_tags_default, cur_user, tags, save=True) response.model['user'] = "******" # print user.default_tags except Exception, e: response.success = False logger.error(e)
def post(self,tag_id): response = ResponseModel() img = self.get_json_model("profile_img",default=None) try: tag_model = self.get_json_model("tag") user = yield gen.Task(UserActions._get_user_by_id,self.current_uid()) tag,error = yield gen.Task(CallIT.gen_run,TagActions._create_tag,user, tag_model) response.model['tag'] = tag if img != None: pro_img,error = yield gen.Task(CallIT.gen_run,ProfileImageActions.save_profile_image,tag.id, user, img) except Exception, e: if isinstance(tag,Document): tag.delete() if isinstance(pro_img,Document): pro_img.delete() response.success = False response.args['Message'] = e.message logger.error(e)
def get(self): response = ResponseModel() try: uniqueid = self.get_argument('regid', strip=True).lower() user = User.objects(reg_id=uniqueid).first() if user != None: if user.active: response.model['verification'] = True self.write_json(response) return user.active = True user.save() response.model['verification'] = True else: response.model['verification'] = False except Exception, e: response.success = False response.model['verification'] = False logger.error(e)
def get(self): response = ResponseModel() try: uniqueid = self.get_argument('regid',strip=True).lower() user = User.objects(reg_id=uniqueid).first() if user != None: if user.active: response.model['verification'] = True self.write_json(response) return user.active = True user.save() response.model['verification'] = True else: response.model['verification'] = False except Exception, e: response.success = False response.model['verification'] = False logger.error(e)
def post(self): response = ResponseModel() try: vote_model = self.get_json_model("vote") state = vote_model['state'] post_id = vote_model['post_id'] user = yield gen.Task(UserActions._get_me_by_id, self.current_uid()) post = yield gen.Task(PostActions._get_post_by_id, post_id) reply_id = vote_model.get('reply_id', None) vote = None if reply_id == None: if state == 1: vote, error = yield gen.Task(CallIT.gen_run, VoteActions._upvote_post, user, post, state) elif state == -1: vote, error = yield gen.Task(CallIT.gen_run, VoteActions._downvote_post, user, post, state) else: replies = filter(lambda x: x.id == ObjectId(reply_id), post.replies) if len(replies) != 1: raise Exception("There can only be one!!") reply = replies[0] if state == 1: vote, error = yield gen.Task(CallIT.gen_run, VoteActions._upvote_reply, user, post, reply, state) elif state == -1: vote, error = yield gen.Task(CallIT.gen_run, VoteActions._downvote_reply, user, post, reply, state) response.model = vote except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def get(self,tag_id): response = ResponseModel() q = self.get_argument("q",strip=True,default=False) try: nresults = int(self.get_argument("nresults",strip=True,default=50)) page = int(self.get_argument("page",strip=True,default=1)) tagids = self.get_argument("tag_ids",strip=True,default=False) if q: response.model['tags'],error = yield gen.Task(CallIT.gen_run,TagActions._get_tags_by_freq,q, nresults, page) elif tagids: response.model['tags'],error = yield gen.Task(CallIT.gen_run,TagActions._get_tags_by_ids,tagids) elif tag_id != None: response.model['tags'],error = yield gen.Task(CallIT.gen_run,TagActions._get_tag_by_id,tag_id) else: response.model['tags'],error = yield gen.Task(CallIT.gen_run,TagActions._get_top_tags,nresults, page) if not response.model['tags']: self.set_status(404, "Tag not found") except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def post(self, tag_id): response = ResponseModel() img = self.get_json_model("profile_img", default=None) try: tag_model = self.get_json_model("tag") user = yield gen.Task(UserActions._get_user_by_id, self.current_uid()) tag, error = yield gen.Task(CallIT.gen_run, TagActions._create_tag, user, tag_model) response.model['tag'] = tag if img != None: pro_img, error = yield gen.Task( CallIT.gen_run, ProfileImageActions.save_profile_image, tag.id, user, img) except Exception, e: if isinstance(tag, Document): tag.delete() if isinstance(pro_img, Document): pro_img.delete() response.success = False response.args['Message'] = e.message logger.error(e)
def get(self, username): response = ResponseModel() try: username = username.lower() if username == None: raise Exception("No username provided") detailed = self.get_argument("detailed", False) fields = self.get_argument("fields", default=[]) if fields != []: fields = fields.split(",") elif self.current_username() != username and detailed: raise Exception("Invalid Permissions") else: response.model['user'], error = yield gen.Task( CallIT.gen_run, UserActions._get_user_by_name, username, detailed, includes=fields) except Exception, e: response.success = False response.args['Message'] = e.message logger.error(e)
def get(self): response = ResponseModel() response.success = True response.args['Message'] = "Status: OK" self.write_json(response)