diff options
author | Marcin Kuzminski <marcin@python-works.com> | 2012-06-09 20:23:48 +0200 |
---|---|---|
committer | Marcin Kuzminski <marcin@python-works.com> | 2012-06-09 20:23:48 +0200 |
commit | 93eb347e11715a0542797b197a8a2bf3dcc517d1 (patch) | |
tree | 3d2761c724393569da2c5f4739f9d33de4fd70e1 /rhodecode/model/__init__.py | |
parent | 86a458c8c0669eaa87edb6b48fbfcc25ae8d8d66 (diff) |
Share common getter functions in base model, and remove duplicated functions from other models
--HG--
branch : codereview
Diffstat (limited to 'rhodecode/model/__init__.py')
-rw-r--r-- | rhodecode/model/__init__.py | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/rhodecode/model/__init__.py b/rhodecode/model/__init__.py index 9452e8e9..bce442cb 100644 --- a/rhodecode/model/__init__.py +++ b/rhodecode/model/__init__.py @@ -42,7 +42,7 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. import logging - +from rhodecode.model.db import User, Repository, Permission from rhodecode.model import meta log = logging.getLogger(__name__) @@ -96,3 +96,33 @@ class BaseModel(object): ) else: return callback(instance) + + def _get_user(self, user): + """ + Helper method to get user by ID, or username fallback + + :param user: + :type user: UserID, username, or User instance + """ + return self._get_instance(User, user, + callback=User.get_by_username) + + def _get_repo(self, repository): + """ + Helper method to get repository by ID, or repository name + + :param repository: + :type repository: RepoID, repository name or Repository Instance + """ + return self._get_instance(Repository, repository, + callback=Repository.get_by_repo_name) + + def _get_perm(self, permission): + """ + Helper method to get permission by ID, or permission name + + :param permission: + :type permission: PermissionID, permission_name or Permission instance + """ + return self._get_instance(Permission, permission, + callback=Permission.get_by_key) |