# HG changeset patch # User Søren Løvborg # Date 2017-02-27 20:36:49 # Node ID 6edba875451d837dc0e8e7c5b39ff9a053352b30 # Parent 62e9be5eb783e0d12eeb5e6a65182dba63fe53a3 cleanup: drop superfluous Session.add calls Session.add should only be called on newly created database objects. Per the Kallithea contribution guidelines: When getting an object from the session (via Session().query or any of the utility functions that look up objects in the database), it's already part of the session, and should not be added again. diff --git a/kallithea/lib/db_manage.py b/kallithea/lib/db_manage.py --- a/kallithea/lib/db_manage.py +++ b/kallithea/lib/db_manage.py @@ -132,7 +132,6 @@ class DbManage(object): paths.ui_value = paths.ui_value.replace('*', '') - self.sa.add(paths) self.sa.commit() def fix_default_user(self): @@ -146,7 +145,6 @@ class DbManage(object): def_user.lastname = 'User' def_user.email = 'anonymous@kallithea-scm.org' - self.sa.add(def_user) self.sa.commit() def fix_settings(self): @@ -326,7 +324,6 @@ class DbManage(object): def_usr = User.get_default_user() for g in RepoGroup.query().all(): g.group_name = g.get_new_name(g.name) - self.sa.add(g) # get default perm default = UserRepoGroupToPerm.query() \ .filter(UserRepoGroupToPerm.group == g) \ diff --git a/kallithea/model/changeset_status.py b/kallithea/model/changeset_status.py --- a/kallithea/model/changeset_status.py +++ b/kallithea/model/changeset_status.py @@ -178,7 +178,6 @@ class ChangesetStatusModel(BaseModel): #update all current statuses with older version for st in cur_statuses: st.version += 1 - self.sa.add(st) new_statuses = [] for rev in revisions: diff --git a/kallithea/model/gist.py b/kallithea/model/gist.py --- a/kallithea/model/gist.py +++ b/kallithea/model/gist.py @@ -128,7 +128,6 @@ class GistModel(BaseModel): # use DB ID for easy to use GIST ID gist_id = safe_unicode(gist.gist_id) gist.gist_access_id = gist_id - self.sa.add(gist) gist_repo_path = os.path.join(GIST_STORE_LOC, gist_id) log.debug('Creating new %s GIST repo in %s', gist_type, gist_repo_path) diff --git a/kallithea/model/permission.py b/kallithea/model/permission.py --- a/kallithea/model/permission.py +++ b/kallithea/model/permission.py @@ -101,7 +101,6 @@ class PermissionModel(BaseModel): # stage 1 set anonymous access if perm_user.is_default_user: perm_user.active = str2bool(form_result['anonymous']) - self.sa.add(perm_user) # stage 2 reset defaults and set them from form data def _make_new(usr, perm_name): @@ -144,7 +143,6 @@ class PermissionModel(BaseModel): #don't reset PRIVATE repositories if not r2p.repository.private: r2p.permission = _def - self.sa.add(r2p) if form_result['overwrite_default_group']: _def_name = form_result['default_group_perm'].split('group.')[-1] @@ -154,7 +152,6 @@ class PermissionModel(BaseModel): .filter(UserRepoGroupToPerm.user == perm_user) \ .all(): g2p.permission = _def - self.sa.add(g2p) if form_result['overwrite_default_user_group']: _def_name = form_result['default_user_group_perm'].split('usergroup.')[-1] @@ -164,7 +161,6 @@ class PermissionModel(BaseModel): .filter(UserUserGroupToPerm.user == perm_user) \ .all(): g2p.permission = _def - self.sa.add(g2p) self.sa.commit() except (DatabaseError,): diff --git a/kallithea/model/repo.py b/kallithea/model/repo.py --- a/kallithea/model/repo.py +++ b/kallithea/model/repo.py @@ -333,8 +333,6 @@ class RepoModel(BaseModel): ex_field = RepositoryField.get_by_key_name(key=k, repo=cur_repo) if ex_field: ex_field.field_value = kwargs[field] - self.sa.add(ex_field) - self.sa.add(cur_repo) if org_repo_name != cur_repo.repo_name: # rename repository @@ -511,7 +509,6 @@ class RepoModel(BaseModel): if forks == 'detach': for r in repo.forks: r.fork = None - self.sa.add(r) elif forks == 'delete': for r in repo.forks: self.delete(r, forks='delete') @@ -552,10 +549,10 @@ class RepoModel(BaseModel): if obj is None: # create new ! obj = UserRepoToPerm() + self.sa.add(obj) obj.repository = repo obj.user = user obj.permission = permission - self.sa.add(obj) log.debug('Granted perm %s to %s on %s', perm, user, repo) return obj @@ -601,11 +598,11 @@ class RepoModel(BaseModel): if obj is None: # create new obj = UserGroupRepoToPerm() + self.sa.add(obj) obj.repository = repo obj.users_group = group_name obj.permission = permission - self.sa.add(obj) log.debug('Granted perm %s to %s on %s', perm, group_name, repo) return obj diff --git a/kallithea/model/repo_group.py b/kallithea/model/repo_group.py --- a/kallithea/model/repo_group.py +++ b/kallithea/model/repo_group.py @@ -311,7 +311,6 @@ class RepoGroupModel(BaseModel): log.debug('Fixing repo %s to new name %s' \ % (obj.repo_name, new_name)) obj.repo_name = new_name - self.sa.add(obj) self._rename_group(old_path, new_path) @@ -452,10 +451,10 @@ class RepoGroupModel(BaseModel): if obj is None: # create new ! obj = UserRepoGroupToPerm() + self.sa.add(obj) obj.group = repo_group obj.user = user obj.permission = permission - self.sa.add(obj) log.debug('Granted perm %s to %s on %s', perm, user, repo_group) return obj @@ -503,11 +502,11 @@ class RepoGroupModel(BaseModel): if obj is None: # create new obj = UserGroupRepoGroupToPerm() + self.sa.add(obj) obj.group = repo_group obj.users_group = group_name obj.permission = permission - self.sa.add(obj) log.debug('Granted perm %s to %s on %s', perm, group_name, repo_group) return obj diff --git a/kallithea/model/scm.py b/kallithea/model/scm.py --- a/kallithea/model/scm.py +++ b/kallithea/model/scm.py @@ -327,7 +327,6 @@ class ScmModel(BaseModel): raise RepositoryError("Cannot set repository as fork of repository with other type") repo.fork = fork - self.sa.add(repo) return repo def _handle_rc_scm_extras(self, username, repo_name, repo_alias, diff --git a/kallithea/model/user.py b/kallithea/model/user.py --- a/kallithea/model/user.py +++ b/kallithea/model/user.py @@ -226,7 +226,6 @@ class UserModel(BaseModel): if k == 'firstname': k = 'name' setattr(user, k, v) - self.sa.add(user) def update_user(self, user, **kwargs): from kallithea.lib.auth import get_crypt_password @@ -243,7 +242,6 @@ class UserModel(BaseModel): v = get_crypt_password(v) setattr(user, k, v) - self.sa.add(user) return user def delete(self, user, cur_user=None): diff --git a/kallithea/model/user_group.py b/kallithea/model/user_group.py --- a/kallithea/model/user_group.py +++ b/kallithea/model/user_group.py @@ -272,10 +272,10 @@ class UserGroupModel(BaseModel): if obj is None: # create new ! obj = UserUserGroupToPerm() + self.sa.add(obj) obj.user_group = user_group obj.user = user obj.permission = permission - self.sa.add(obj) log.debug('Granted perm %s to %s on %s', perm, user, user_group) return obj @@ -323,10 +323,10 @@ class UserGroupModel(BaseModel): if obj is None: # create new ! obj = UserGroupUserGroupToPerm() + self.sa.add(obj) obj.user_group = user_group obj.target_user_group = target_user_group obj.permission = permission - self.sa.add(obj) log.debug('Granted perm %s to %s on %s', perm, target_user_group, user_group) return obj