aboutsummaryrefslogtreecommitdiff
path: root/rhodecode/model/__init__.py
diff options
context:
space:
mode:
authorMarcin Kuzminski <marcin@python-works.com>2012-06-09 20:23:48 +0200
committerMarcin Kuzminski <marcin@python-works.com>2012-06-09 20:23:48 +0200
commit93eb347e11715a0542797b197a8a2bf3dcc517d1 (patch)
tree3d2761c724393569da2c5f4739f9d33de4fd70e1 /rhodecode/model/__init__.py
parent86a458c8c0669eaa87edb6b48fbfcc25ae8d8d66 (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__.py32
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)