changeset 6466:0a3e1a620edf

model: inline _get_repo_group and _get_user_group calls
author Søren Løvborg <sorenl@unity3d.com>
date Wed, 18 Jan 2017 17:06:01 +0100
parents c706a8dae2c8
children ce0dfe6333e2
files kallithea/controllers/admin/repo_groups.py kallithea/controllers/api/api.py kallithea/lib/celerylib/tasks.py kallithea/model/repo.py kallithea/model/repo_group.py kallithea/model/user_group.py
diffstat 6 files changed, 39 insertions(+), 54 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/controllers/admin/repo_groups.py	Wed Jan 18 16:59:48 2017 +0100
+++ b/kallithea/controllers/admin/repo_groups.py	Wed Jan 18 17:06:01 2017 +0100
@@ -207,7 +207,7 @@
 
     @HasRepoGroupPermissionAnyDecorator('group.admin')
     def update(self, group_name):
-        c.repo_group = RepoGroupModel()._get_repo_group(group_name)
+        c.repo_group = RepoGroup.guess_instance(group_name)
         self.__load_defaults(extras=[c.repo_group.parent_group],
                              exclude=[c.repo_group])
 
@@ -253,7 +253,7 @@
 
     @HasRepoGroupPermissionAnyDecorator('group.admin')
     def delete(self, group_name):
-        gr = c.repo_group = RepoGroupModel()._get_repo_group(group_name)
+        gr = c.repo_group = RepoGroup.guess_instance(group_name)
         repos = gr.repositories.all()
         if repos:
             h.flash(_('This group contains %s repositories and cannot be '
@@ -297,7 +297,7 @@
     def show(self, group_name):
         c.active = 'settings'
 
-        c.group = c.repo_group = RepoGroupModel()._get_repo_group(group_name)
+        c.group = c.repo_group = RepoGroup.guess_instance(group_name)
 
         groups = RepoGroup.query(sorted=True).filter_by(parent_group=c.group).all()
         c.groups = self.scm_model.get_repo_groups(groups)
@@ -314,7 +314,7 @@
     def edit(self, group_name):
         c.active = 'settings'
 
-        c.repo_group = RepoGroupModel()._get_repo_group(group_name)
+        c.repo_group = RepoGroup.guess_instance(group_name)
         self.__load_defaults(extras=[c.repo_group.parent_group],
                              exclude=[c.repo_group])
         defaults = self.__load_data(c.repo_group.group_id)
@@ -329,14 +329,14 @@
     @HasRepoGroupPermissionAnyDecorator('group.admin')
     def edit_repo_group_advanced(self, group_name):
         c.active = 'advanced'
-        c.repo_group = RepoGroupModel()._get_repo_group(group_name)
+        c.repo_group = RepoGroup.guess_instance(group_name)
 
         return render('admin/repo_groups/repo_group_edit.html')
 
     @HasRepoGroupPermissionAnyDecorator('group.admin')
     def edit_repo_group_perms(self, group_name):
         c.active = 'perms'
-        c.repo_group = RepoGroupModel()._get_repo_group(group_name)
+        c.repo_group = RepoGroup.guess_instance(group_name)
         self.__load_defaults()
         defaults = self.__load_data(c.repo_group.group_id)
 
@@ -355,7 +355,7 @@
         :param group_name:
         """
 
-        c.repo_group = RepoGroupModel()._get_repo_group(group_name)
+        c.repo_group = RepoGroup.guess_instance(group_name)
         valid_recursive_choices = ['none', 'repos', 'groups', 'all']
         form_result = RepoGroupPermsForm(valid_recursive_choices)().to_python(request.POST)
         if not request.authuser.is_admin:
--- a/kallithea/controllers/api/api.py	Wed Jan 18 16:59:48 2017 +0100
+++ b/kallithea/controllers/api/api.py	Wed Jan 18 17:06:01 2017 +0100
@@ -96,7 +96,7 @@
 
     :param repogroupid:
     """
-    repo_group = RepoGroupModel()._get_repo_group(repogroupid)
+    repo_group = RepoGroup.guess_instance(repogroupid)
     if repo_group is None:
         raise JSONRPCError(
             'repository group `%s` does not exist' % (repogroupid,))
--- a/kallithea/lib/celerylib/tasks.py	Wed Jan 18 16:59:48 2017 +0100
+++ b/kallithea/lib/celerylib/tasks.py	Wed Jan 18 17:06:01 2017 +0100
@@ -47,7 +47,7 @@
 from kallithea.lib.compat import json, OrderedDict
 from kallithea.lib.hooks import log_create_repository
 
-from kallithea.model.db import Statistics, Repository, User
+from kallithea.model.db import Statistics, RepoGroup, Repository, User
 
 
 setup_cache_regions(config)  # pragma: no cover
@@ -380,7 +380,7 @@
         RepoModel(DBS)._create_filesystem_repo(
             repo_name=repo_name,
             repo_type=repo_type,
-            repo_group=RepoModel(DBS)._get_repo_group(repo_group),
+            repo_group=RepoGroup.guess_instance(repo_group),
             clone_uri=clone_uri,
         )
         repo = Repository.get_by_repo_name(repo_name_full)
@@ -459,7 +459,7 @@
         RepoModel(DBS)._create_filesystem_repo(
             repo_name=repo_name,
             repo_type=repo_type,
-            repo_group=RepoModel(DBS)._get_repo_group(repo_group),
+            repo_group=RepoGroup.guess_instance(repo_group),
             clone_uri=source_repo_path,
         )
         repo = Repository.get_by_repo_name(repo_name_full)
--- a/kallithea/model/repo.py	Wed Jan 18 16:59:48 2017 +0100
+++ b/kallithea/model/repo.py	Wed Jan 18 17:06:01 2017 +0100
@@ -58,12 +58,6 @@
 
     URL_SEPARATOR = Repository.url_sep()
 
-    def _get_user_group(self, users_group):
-        return UserGroup.guess_instance(users_group)
-
-    def _get_repo_group(self, repo_group):
-        return RepoGroup.guess_instance(repo_group)
-
     def _create_default_perms(self, repository, private):
         # create default permission
         default = 'repository.read'
@@ -370,7 +364,7 @@
 
         owner = User.guess_instance(owner)
         fork_of = Repository.guess_instance(fork_of)
-        repo_group = self._get_repo_group(repo_group)
+        repo_group = RepoGroup.guess_instance(repo_group)
         try:
             repo_name = safe_unicode(repo_name)
             description = safe_unicode(description)
@@ -606,7 +600,7 @@
         :param perm: Instance of Permission, or permission_name
         """
         repo = Repository.guess_instance(repo)
-        group_name = self._get_user_group(group_name)
+        group_name = UserGroup.guess_instance(group_name)
         permission = Permission.guess_instance(perm)
 
         # check if we have that permission already
@@ -635,7 +629,7 @@
             or user group name
         """
         repo = Repository.guess_instance(repo)
-        group_name = self._get_user_group(group_name)
+        group_name = UserGroup.guess_instance(group_name)
 
         obj = self.sa.query(UserGroupRepoToPerm) \
             .filter(UserGroupRepoToPerm.repository == repo) \
--- a/kallithea/model/repo_group.py	Wed Jan 18 16:59:48 2017 +0100
+++ b/kallithea/model/repo_group.py	Wed Jan 18 17:06:01 2017 +0100
@@ -43,12 +43,6 @@
 
 class RepoGroupModel(BaseModel):
 
-    def _get_user_group(self, users_group):
-        return UserGroup.guess_instance(users_group)
-
-    def _get_repo_group(self, repo_group):
-        return RepoGroup.guess_instance(repo_group)
-
     @LazyProperty
     def repos_path(self):
         """
@@ -142,7 +136,7 @@
                just_db=False, copy_permissions=False):
         try:
             owner = User.guess_instance(owner)
-            parent_group = self._get_repo_group(parent)
+            parent_group = RepoGroup.guess_instance(parent)
             new_repo_group = RepoGroup()
             new_repo_group.owner = owner
             new_repo_group.group_description = group_description or group_name
@@ -283,7 +277,7 @@
     def update(self, repo_group, form_data):
 
         try:
-            repo_group = self._get_repo_group(repo_group)
+            repo_group = RepoGroup.guess_instance(repo_group)
             old_path = repo_group.full_path
 
             # change properties
@@ -327,7 +321,7 @@
             raise
 
     def delete(self, repo_group, force_delete=False):
-        repo_group = self._get_repo_group(repo_group)
+        repo_group = RepoGroup.guess_instance(repo_group)
         try:
             self.sa.delete(repo_group)
             self._delete_group(repo_group, force_delete)
@@ -337,7 +331,7 @@
 
     def add_permission(self, repo_group, obj, obj_type, perm, recursive):
         from kallithea.model.repo import RepoModel
-        repo_group = self._get_repo_group(repo_group)
+        repo_group = RepoGroup.guess_instance(repo_group)
         perm = Permission.guess_instance(perm)
 
         for el in repo_group.recursive_groups_and_repos():
@@ -393,7 +387,7 @@
         :param recursive: recurse to all children of group
         """
         from kallithea.model.repo import RepoModel
-        repo_group = self._get_repo_group(repo_group)
+        repo_group = RepoGroup.guess_instance(repo_group)
 
         for el in repo_group.recursive_groups_and_repos():
             # iterated obj is an instance of a repos group or repository in
@@ -446,7 +440,7 @@
         :param perm: Instance of Permission, or permission_name
         """
 
-        repo_group = self._get_repo_group(repo_group)
+        repo_group = RepoGroup.guess_instance(repo_group)
         user = User.guess_instance(user)
         permission = Permission.guess_instance(perm)
 
@@ -474,7 +468,7 @@
         :param user: Instance of User, user_id or username
         """
 
-        repo_group = self._get_repo_group(repo_group)
+        repo_group = RepoGroup.guess_instance(repo_group)
         user = User.guess_instance(user)
 
         obj = self.sa.query(UserRepoGroupToPerm) \
@@ -496,8 +490,8 @@
             or user group name
         :param perm: Instance of Permission, or permission_name
         """
-        repo_group = self._get_repo_group(repo_group)
-        group_name = self._get_user_group(group_name)
+        repo_group = RepoGroup.guess_instance(repo_group)
+        group_name = UserGroup.guess_instance(group_name)
         permission = Permission.guess_instance(perm)
 
         # check if we have that permission already
@@ -526,8 +520,8 @@
         :param group_name: Instance of UserGroup, users_group_id,
             or user group name
         """
-        repo_group = self._get_repo_group(repo_group)
-        group_name = self._get_user_group(group_name)
+        repo_group = RepoGroup.guess_instance(repo_group)
+        group_name = UserGroup.guess_instance(group_name)
 
         obj = self.sa.query(UserGroupRepoGroupToPerm) \
             .filter(UserGroupRepoGroupToPerm.group == repo_group) \
--- a/kallithea/model/user_group.py	Wed Jan 18 16:59:48 2017 +0100
+++ b/kallithea/model/user_group.py	Wed Jan 18 17:06:01 2017 +0100
@@ -39,9 +39,6 @@
 
 class UserGroupModel(BaseModel):
 
-    def _get_user_group(self, user_group):
-        return UserGroup.guess_instance(user_group)
-
     def _create_default_perms(self, user_group):
         # create default permission
         default_perm = 'usergroup.read'
@@ -98,7 +95,7 @@
         return UserGroup.get(user_group_id)
 
     def get_group(self, user_group):
-        return self._get_user_group(user_group)
+        return UserGroup.guess_instance(user_group)
 
     def get_by_name(self, name, cache=False, case_insensitive=False):
         return UserGroup.get_by_group_name(name, cache, case_insensitive)
@@ -127,7 +124,7 @@
     def update(self, user_group, form_data):
 
         try:
-            user_group = self._get_user_group(user_group)
+            user_group = UserGroup.guess_instance(user_group)
 
             for k, v in form_data.items():
                 if k == 'users_group_members':
@@ -157,7 +154,7 @@
         :param user_group:
         :param force:
         """
-        user_group = self._get_user_group(user_group)
+        user_group = UserGroup.guess_instance(user_group)
         try:
             # check if this group is not assigned to repo
             assigned_groups = UserGroupRepoToPerm.query() \
@@ -173,7 +170,7 @@
             raise
 
     def add_user_to_group(self, user_group, user):
-        user_group = self._get_user_group(user_group)
+        user_group = UserGroup.guess_instance(user_group)
         user = User.guess_instance(user)
 
         for m in user_group.members:
@@ -197,7 +194,7 @@
             raise
 
     def remove_user_from_group(self, user_group, user):
-        user_group = self._get_user_group(user_group)
+        user_group = UserGroup.guess_instance(user_group)
         user = User.guess_instance(user)
 
         user_group_member = None
@@ -219,7 +216,7 @@
             return False
 
     def has_perm(self, user_group, perm):
-        user_group = self._get_user_group(user_group)
+        user_group = UserGroup.guess_instance(user_group)
         perm = Permission.guess_instance(perm)
 
         return UserGroupToPerm.query() \
@@ -227,7 +224,7 @@
             .filter(UserGroupToPerm.permission == perm).scalar() is not None
 
     def grant_perm(self, user_group, perm):
-        user_group = self._get_user_group(user_group)
+        user_group = UserGroup.guess_instance(user_group)
         perm = Permission.guess_instance(perm)
 
         # if this permission is already granted skip it
@@ -245,7 +242,7 @@
         return new
 
     def revoke_perm(self, user_group, perm):
-        user_group = self._get_user_group(user_group)
+        user_group = UserGroup.guess_instance(user_group)
         perm = Permission.guess_instance(perm)
 
         obj = UserGroupToPerm.query() \
@@ -265,7 +262,7 @@
         :param perm: Instance of Permission, or permission_name
         """
 
-        user_group = self._get_user_group(user_group)
+        user_group = UserGroup.guess_instance(user_group)
         user = User.guess_instance(user)
         permission = Permission.guess_instance(perm)
 
@@ -293,7 +290,7 @@
         :param user: Instance of User, user_id or username
         """
 
-        user_group = self._get_user_group(user_group)
+        user_group = UserGroup.guess_instance(user_group)
         user = User.guess_instance(user)
 
         obj = self.sa.query(UserUserGroupToPerm) \
@@ -312,8 +309,8 @@
         :param user_group:
         :param perm:
         """
-        target_user_group = self._get_user_group(target_user_group)
-        user_group = self._get_user_group(user_group)
+        target_user_group = UserGroup.guess_instance(target_user_group)
+        user_group = UserGroup.guess_instance(user_group)
         permission = Permission.guess_instance(perm)
         # forbid assigning same user group to itself
         if target_user_group == user_group:
@@ -342,8 +339,8 @@
         :param target_user_group:
         :param user_group:
         """
-        target_user_group = self._get_user_group(target_user_group)
-        user_group = self._get_user_group(user_group)
+        target_user_group = UserGroup.guess_instance(target_user_group)
+        user_group = UserGroup.guess_instance(user_group)
 
         obj = self.sa.query(UserGroupUserGroupToPerm) \
             .filter(UserGroupUserGroupToPerm.target_user_group == target_user_group) \