elif re.match(validator, username) and re.match(validator, password) and re.match(validator, email): newUser = model_user.User(username, password, email, user.get("website")) self.session.add(newUser) self.session.commit() return {"user": newUser.to_dict()} else: raise rpc_exceptions.UserRegistrationValidationException raise rpc_exceptions.UserNameTaken def returning(self, params): """ Tests if the user is a valid returning user """ value = {"returning": False} if params[0]: user = params[0] username = user["username"] last_sec = user["sec_key"] value["returning"] = security.has_stored_sec_key(username, last_sec) if not value["returning"]: security.destroy_security_cookies() return value user = User() register_method("user.login", user.login) register_method("user.returning", user.returning) register_method("user.register", user.register)
user_tags = self.session.query(model_user_tag.UserTag).join( model_user.User).filter( model_user.User.username == userDict['username']) return [x.to_dict() for x in user_tags] @required_user_perm_dec def select_tag(self, userDict, params): """ Select a tag for a user. """ user_tag = self.session.query(model_user_tag.UserTag).filter( model_user.User.username == userDict['username'] and tag_id == params[0]['id'] ).first() if user_tag: user_tag.user_selected = True else: user = self.session.query(model_user.User).filter( model_user.User.username == userDict['username']).first() tag = self.session.query(model_tag.Tag).filter( model_tag.Tag.id == params[0]['id']).first() user_tag = model_user_tag.UserTag(user, tag) self.session.add(user_tag) self.session.commit() usertag = UserTag() register_method('usertag.deselect_tag', usertag.deselect_tag) register_method('usertag.list', usertag.list) register_method('usertag.select_tag', usertag.select_tag)
return [x.article.to_dict() for x in top_articles] @no_required_perms_dec def ListAntiArticles(self, user_dict, params): """ List articles a person may not normally care for. """ top_articles = None try: user = User() if user.auth_match(user_dict['username'], user_dict['sec_key']): top_articles = self.session.query(model_user_suggested_article.UserSuggestedArticle).order_by('id').all() except rpc_exceptions.UserNotLoggedInException: top_articles = self.session.query( model_article.Article).order_by('-id').all() return [x.article.to_dict() for x in top_articles] @no_required_perms_dec def ListRandomArticles(self, user_dict, params): """ List random articles to try and find new interests for a person. """ articles = self.session.query(model_article.Article).order_by('id').all() return [x.to_dict() for x in articles] article = Article() register_method('article.listantiarticles', article.ListAntiArticles) register_method('article.nonuserlist', article.NonUserList) register_method('article.listrandomarticles', article.ListRandomArticles) register_method('article.listuserarticles', article.ListUserArticles)
# Company: # Author: Rob McGinley # Date: April 30, 2011 # Copyright: 2011 import backend.models.tag as model_tag from backend.rpc.dispatch import register_method from database_connectivity import DatbaseConnectivity from user import required_user_perm_dec class Tag(DatbaseConnectivity): def __init__(self): """ Create session for correct object query/update/create/delete """ super(Tag, self).__init__() @required_user_perm_dec def list(self, user_dict, params): tags = self.session.query(model_tag.Tag).all() return [x.to_dict() for x in tags] tag = Tag() register_method('tag.list', tag.list)