aboutsummaryrefslogtreecommitdiff
path: root/rhodecode/model/db.py
diff options
context:
space:
mode:
Diffstat (limited to 'rhodecode/model/db.py')
-rwxr-xr-xrhodecode/model/db.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/rhodecode/model/db.py b/rhodecode/model/db.py
index 7a2924e4..7a188f8f 100755
--- a/rhodecode/model/db.py
+++ b/rhodecode/model/db.py
@@ -454,6 +454,26 @@ class User(Base, BaseModel):
return ret
+ @classmethod
+ def get_from_cs_author(cls, author):
+ """
+ Tries to get User objects out of commit author string
+
+ :param author:
+ """
+ from rhodecode.lib.helpers import email, author_name
+ # Valid email in the attribute passed, see if they're in the system
+ _email = email(author)
+ if _email:
+ user = cls.get_by_email(_email, case_insensitive=True)
+ if user:
+ return user
+ # Maybe we can match by username?
+ _author = author_name(author)
+ user = cls.get_by_username(_author, case_insensitive=True)
+ if user:
+ return user
+
def update_lastlogin(self):
"""Update user lastlogin"""
self.last_login = datetime.datetime.now()