diff -r d01d0ae7d6c8 -r b2b823466a8b app/soc/models/user.py --- a/app/soc/models/user.py Wed Aug 20 18:36:55 2008 +0000 +++ b/app/soc/models/user.py Wed Aug 20 21:59:00 2008 +0000 @@ -63,3 +63,36 @@ link_name.help_text = ugettext_lazy( 'Field used in URLs to identify user. ' 'Lower ASCII characters only.') + + @staticmethod + def doesUserExist(user=None): + """Returns if user already exists in the Datastore. + + Args: + user: a Google Account object, + """ + #: let's do a gql query and check if user exists in datastore + data = self.getUser(user) + if data: + return True + else: + return False + + @staticmethod + def getUser(user=None): + """Returns User entity from datastore, or None if not found. + + Args: + user: a Google Account object, + """ + return User.gql('WHERE id = :1', user).get() + + @staticmethod + def getUserForLinkname(link_name=None): + """Returns User entity for linkname or None if not found. + + Args: + link_name: linkname used in URLs to identify user, + """ + return User.gql('WHERE link_name = :1', link_name).get() + \ No newline at end of file