Mercurial > kallithea
changeset 8685:dff9658bdd98
model: don't import Session from db - import meta and get it from the real source
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Mon, 12 Oct 2020 01:44:10 +0200 |
parents | 89f11587b2dc |
children | b095e2fbba44 |
files | kallithea/model/changeset_status.py kallithea/model/gist.py kallithea/model/permission.py kallithea/model/repo.py kallithea/model/repo_group.py kallithea/model/scm.py kallithea/model/user_group.py |
diffstat | 7 files changed, 61 insertions(+), 55 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/model/changeset_status.py Sat Oct 10 23:38:20 2020 +0200 +++ b/kallithea/model/changeset_status.py Mon Oct 12 01:44:10 2020 +0200 @@ -29,7 +29,8 @@ from sqlalchemy.orm import joinedload -from kallithea.model.db import ChangesetStatus, PullRequest, Repository, Session, User +from kallithea.model import meta +from kallithea.model.db import ChangesetStatus, PullRequest, Repository, User log = logging.getLogger(__name__) @@ -178,5 +179,5 @@ new_status.revision = rev new_status.pull_request = pull_request new_statuses.append(new_status) - Session().add(new_status) + meta.Session().add(new_status) return new_statuses
--- a/kallithea/model/gist.py Sat Oct 10 23:38:20 2020 +0200 +++ b/kallithea/model/gist.py Mon Oct 12 01:44:10 2020 +0200 @@ -34,7 +34,8 @@ from kallithea.lib import ext_json from kallithea.lib.utils2 import AttributeDict, ascii_bytes, safe_int, time_to_datetime -from kallithea.model.db import Gist, Session, User +from kallithea.model import meta +from kallithea.model.db import Gist, User from kallithea.model.repo import RepoModel from kallithea.model.scm import ScmModel @@ -121,8 +122,8 @@ gist.owner_id = owner.user_id gist.gist_expires = gist_expires gist.gist_type = gist_type - Session().add(gist) - Session().flush() # make database assign gist.gist_id + meta.Session().add(gist) + meta.Session().flush() # make database assign gist.gist_id if gist_type == Gist.GIST_PUBLIC: # use DB ID for easy to use GIST ID gist.gist_access_id = str(gist.gist_id) @@ -172,7 +173,7 @@ def delete(self, gist, fs_remove=True): gist = Gist.guess_instance(gist) try: - Session().delete(gist) + meta.Session().delete(gist) if fs_remove: self.__delete_gist(gist) else:
--- a/kallithea/model/permission.py Sat Oct 10 23:38:20 2020 +0200 +++ b/kallithea/model/permission.py Mon Oct 12 01:44:10 2020 +0200 @@ -32,7 +32,8 @@ from sqlalchemy.exc import DatabaseError from kallithea.lib.utils2 import asbool -from kallithea.model.db import Permission, Session, User, UserRepoGroupToPerm, UserRepoToPerm, UserToPerm, UserUserGroupToPerm +from kallithea.model import meta +from kallithea.model.db import Permission, User, UserRepoGroupToPerm, UserRepoToPerm, UserToPerm, UserUserGroupToPerm log = logging.getLogger(__name__) @@ -51,7 +52,7 @@ if not Permission.get_by_key(p[0]): new_perm = Permission() new_perm.permission_name = p[0] - Session().add(new_perm) + meta.Session().add(new_perm) def create_default_permissions(self, user, force=False): """ @@ -78,8 +79,8 @@ if force: for perm in perms: - Session().delete(perm) - Session().commit() + meta.Session().delete(perm) + meta.Session().commit() defined_perms_groups = [] # For every default permission that needs to be created, we check if # its group is already defined. If it's not, we create default permission. @@ -89,7 +90,7 @@ log.debug('GR:%s not found, creating permission %s', gr, perm_name) new_perm = _make_perm(perm_name) - Session().add(new_perm) + meta.Session().add(new_perm) def update(self, form_result): perm_user = User.get_by_username(username=form_result['perm_user_name']) @@ -113,7 +114,7 @@ .filter(UserToPerm.user == perm_user) \ .all() for p in u2p: - Session().delete(p) + meta.Session().delete(p) # create fresh set of permissions for def_perm_key in ['default_repo_perm', 'default_group_perm', @@ -124,7 +125,7 @@ 'default_register', 'default_extern_activate']: p = _make_new(perm_user, form_result[def_perm_key]) - Session().add(p) + meta.Session().add(p) # stage 3 update all default permissions for repos if checked if form_result['overwrite_default_repo']: @@ -157,8 +158,8 @@ .all(): g2p.permission = _def - Session().commit() + meta.Session().commit() except (DatabaseError,): log.error(traceback.format_exc()) - Session().rollback() + meta.Session().rollback() raise
--- a/kallithea/model/repo.py Sat Oct 10 23:38:20 2020 +0200 +++ b/kallithea/model/repo.py Mon Oct 12 01:44:10 2020 +0200 @@ -40,7 +40,8 @@ from kallithea.lib.utils import is_valid_repo_uri, make_ui from kallithea.lib.utils2 import LazyProperty, get_current_authuser, obfuscate_url_pw, remove_prefix from kallithea.lib.vcs.backends import get_backend -from kallithea.model.db import (Permission, RepoGroup, Repository, RepositoryField, Session, Statistics, Ui, User, UserGroup, UserGroupRepoGroupToPerm, +from kallithea.model import meta +from kallithea.model.db import (Permission, RepoGroup, Repository, RepositoryField, Statistics, Ui, User, UserGroup, UserGroupRepoGroupToPerm, UserGroupRepoToPerm, UserRepoGroupToPerm, UserRepoToPerm) @@ -65,7 +66,7 @@ repo_to_perm.repository = repository repo_to_perm.user_id = def_user.user_id - Session().add(repo_to_perm) + meta.Session().add(repo_to_perm) return repo_to_perm @@ -368,7 +369,7 @@ parent_repo = fork_of new_repo.fork = parent_repo - Session().add(new_repo) + meta.Session().add(new_repo) if fork_of and copy_fork_permissions: repo = fork_of @@ -409,7 +410,7 @@ ScmModel().toggle_following_repo(new_repo.repo_id, owner.user_id) # we need to flush here, in order to check if database won't # throw any exceptions, create filesystem dirs at the very end - Session().flush() + meta.Session().flush() return new_repo except Exception: log.error(traceback.format_exc()) @@ -493,7 +494,7 @@ old_repo_dict = repo.get_dict() try: - Session().delete(repo) + meta.Session().delete(repo) if fs_remove: self._delete_filesystem_repo(repo) else: @@ -525,7 +526,7 @@ if obj is None: # create new ! obj = UserRepoToPerm() - Session().add(obj) + meta.Session().add(obj) obj.repository = repo obj.user = user obj.permission = permission @@ -548,7 +549,7 @@ .filter(UserRepoToPerm.user == user) \ .scalar() if obj is not None: - Session().delete(obj) + meta.Session().delete(obj) log.debug('Revoked perm on %s on %s', repo, user) def grant_user_group_permission(self, repo, group_name, perm): @@ -574,7 +575,7 @@ if obj is None: # create new obj = UserGroupRepoToPerm() - Session().add(obj) + meta.Session().add(obj) obj.repository = repo obj.users_group = group_name @@ -598,7 +599,7 @@ .filter(UserGroupRepoToPerm.users_group == group_name) \ .scalar() if obj is not None: - Session().delete(obj) + meta.Session().delete(obj) log.debug('Revoked perm to %s on %s', repo, group_name) def delete_stats(self, repo_name): @@ -612,7 +613,7 @@ obj = Statistics.query() \ .filter(Statistics.repository == repo).scalar() if obj is not None: - Session().delete(obj) + meta.Session().delete(obj) except Exception: log.error(traceback.format_exc()) raise
--- a/kallithea/model/repo_group.py Sat Oct 10 23:38:20 2020 +0200 +++ b/kallithea/model/repo_group.py Mon Oct 12 01:44:10 2020 +0200 @@ -34,7 +34,8 @@ import kallithea.lib.utils2 from kallithea.lib.utils2 import LazyProperty -from kallithea.model.db import Permission, RepoGroup, Repository, Session, Ui, User, UserGroup, UserGroupRepoGroupToPerm, UserRepoGroupToPerm +from kallithea.model import meta +from kallithea.model.db import Permission, RepoGroup, Repository, Ui, User, UserGroup, UserGroupRepoGroupToPerm, UserRepoGroupToPerm log = logging.getLogger(__name__) @@ -65,7 +66,7 @@ repo_group_to_perm.group = new_group repo_group_to_perm.user_id = def_user.user_id - Session().add(repo_group_to_perm) + meta.Session().add(repo_group_to_perm) return repo_group_to_perm def _create_group(self, group_name): @@ -146,7 +147,7 @@ new_repo_group.parent_group = parent_group new_repo_group.group_name = new_repo_group.get_new_name(group_name) - Session().add(new_repo_group) + meta.Session().add(new_repo_group) # create an ADMIN permission for owner except if we're super admin, # later owner should go into the owner field of groups @@ -177,7 +178,7 @@ if not just_db: # we need to flush here, in order to check if database won't # throw any exceptions, create filesystem dirs at the very end - Session().flush() + meta.Session().flush() self._create_group(new_repo_group.group_name) return new_repo_group @@ -296,7 +297,7 @@ raise Exception('invalid repo group name %s' % group_name) repo_group.group_name = repo_group.get_new_name(group_name) new_path = repo_group.full_path - Session().add(repo_group) + meta.Session().add(repo_group) # iterate over all members of this groups and do fixes # if obj is a repoGroup also fix the name of the group according @@ -328,7 +329,7 @@ def delete(self, repo_group, force_delete=False): repo_group = RepoGroup.guess_instance(repo_group) try: - Session().delete(repo_group) + meta.Session().delete(repo_group) self._delete_group(repo_group, force_delete) except Exception: log.error('Error removing repo_group %s', repo_group) @@ -457,7 +458,7 @@ if obj is None: # create new ! obj = UserRepoGroupToPerm() - Session().add(obj) + meta.Session().add(obj) obj.group = repo_group obj.user = user obj.permission = permission @@ -481,7 +482,7 @@ .filter(UserRepoGroupToPerm.group == repo_group) \ .scalar() if obj is not None: - Session().delete(obj) + meta.Session().delete(obj) log.debug('Revoked perm on %s on %s', repo_group, user) def grant_user_group_permission(self, repo_group, group_name, perm): @@ -508,7 +509,7 @@ if obj is None: # create new obj = UserGroupRepoGroupToPerm() - Session().add(obj) + meta.Session().add(obj) obj.group = repo_group obj.users_group = group_name @@ -533,5 +534,5 @@ .filter(UserGroupRepoGroupToPerm.users_group == group_name) \ .scalar() if obj is not None: - Session().delete(obj) + meta.Session().delete(obj) log.debug('Revoked perm to %s on %s', repo_group, group_name)
--- a/kallithea/model/scm.py Sat Oct 10 23:38:20 2020 +0200 +++ b/kallithea/model/scm.py Mon Oct 12 01:44:10 2020 +0200 @@ -46,7 +46,8 @@ from kallithea.lib.vcs.exceptions import RepositoryError from kallithea.lib.vcs.nodes import FileNode from kallithea.lib.vcs.utils.lazy import LazyProperty -from kallithea.model.db import PullRequest, RepoGroup, Repository, Session, Ui, User, UserFollowing, UserLog +from kallithea.model import meta +from kallithea.model.db import PullRequest, RepoGroup, Repository, Ui, User, UserFollowing, UserLog log = logging.getLogger(__name__) @@ -230,7 +231,7 @@ if f is not None: try: - Session().delete(f) + meta.Session().delete(f) action_logger(UserTemp(user_id), 'stopped_following_repo', RepoTemp(follow_repo_id)) @@ -243,7 +244,7 @@ f = UserFollowing() f.user_id = user_id f.follows_repository_id = follow_repo_id - Session().add(f) + meta.Session().add(f) action_logger(UserTemp(user_id), 'started_following_repo', @@ -259,7 +260,7 @@ if f is not None: try: - Session().delete(f) + meta.Session().delete(f) return except Exception: log.error(traceback.format_exc()) @@ -269,7 +270,7 @@ f = UserFollowing() f.user_id = user_id f.follows_user_id = follow_user_id - Session().add(f) + meta.Session().add(f) except Exception: log.error(traceback.format_exc()) raise
--- a/kallithea/model/user_group.py Sat Oct 10 23:38:20 2020 +0200 +++ b/kallithea/model/user_group.py Mon Oct 12 01:44:10 2020 +0200 @@ -28,8 +28,8 @@ import traceback from kallithea.lib.exceptions import RepoGroupAssignmentError, UserGroupsAssignedException -from kallithea.model.db import (Permission, Session, User, UserGroup, UserGroupMember, UserGroupRepoToPerm, UserGroupToPerm, UserGroupUserGroupToPerm, - UserUserGroupToPerm) +from kallithea.model import meta +from kallithea.model.db import Permission, User, UserGroup, UserGroupMember, UserGroupRepoToPerm, UserGroupToPerm, UserGroupUserGroupToPerm, UserUserGroupToPerm log = logging.getLogger(__name__) @@ -51,7 +51,7 @@ user_group_to_perm.user_group = user_group user_group_to_perm.user_id = def_user.user_id - Session().add(user_group_to_perm) + meta.Session().add(user_group_to_perm) return user_group_to_perm def _update_permissions(self, user_group, perms_new=None, @@ -106,7 +106,7 @@ new_user_group.users_group_active = active if group_data: new_user_group.group_data = group_data - Session().add(new_user_group) + meta.Session().add(new_user_group) self._create_default_perms(new_user_group) self.grant_user_permission(user_group=new_user_group, @@ -130,13 +130,13 @@ for u_id in set(v): member = UserGroupMember(user_group.users_group_id, u_id) members_list.append(member) - Session().add(member) + meta.Session().add(member) user_group.members = members_list setattr(user_group, k, v) # Flush to make db assign users_group_member_id to newly # created UserGroupMembers. - Session().flush() + meta.Session().flush() except Exception: log.error(traceback.format_exc()) raise @@ -160,7 +160,7 @@ if assigned_groups and not force: raise UserGroupsAssignedException( 'User Group assigned to %s' % ", ".join(assigned_groups)) - Session().delete(user_group) + meta.Session().delete(user_group) except Exception: log.error(traceback.format_exc()) raise @@ -184,7 +184,7 @@ user_group.members.append(user_group_member) user.group_member.append(user_group_member) - Session().add(user_group_member) + meta.Session().add(user_group_member) return user_group_member except Exception: log.error(traceback.format_exc()) @@ -203,7 +203,7 @@ if user_group_member: try: - Session().delete(user_group_member) + meta.Session().delete(user_group_member) return True except Exception: log.error(traceback.format_exc()) @@ -235,7 +235,7 @@ new = UserGroupToPerm() new.users_group = user_group new.permission = perm - Session().add(new) + meta.Session().add(new) return new def revoke_perm(self, user_group, perm): @@ -246,7 +246,7 @@ .filter(UserGroupToPerm.users_group == user_group) \ .filter(UserGroupToPerm.permission == perm).scalar() if obj is not None: - Session().delete(obj) + meta.Session().delete(obj) def grant_user_permission(self, user_group, user, perm): """ @@ -271,7 +271,7 @@ if obj is None: # create new ! obj = UserUserGroupToPerm() - Session().add(obj) + meta.Session().add(obj) obj.user_group = user_group obj.user = user obj.permission = permission @@ -295,7 +295,7 @@ .filter(UserUserGroupToPerm.user_group == user_group) \ .scalar() if obj is not None: - Session().delete(obj) + meta.Session().delete(obj) log.debug('Revoked perm on %s on %s', user_group, user) def grant_user_group_permission(self, target_user_group, user_group, perm): @@ -322,7 +322,7 @@ if obj is None: # create new ! obj = UserGroupUserGroupToPerm() - Session().add(obj) + meta.Session().add(obj) obj.user_group = user_group obj.target_user_group = target_user_group obj.permission = permission @@ -344,7 +344,7 @@ .filter(UserGroupUserGroupToPerm.user_group == user_group) \ .scalar() if obj is not None: - Session().delete(obj) + meta.Session().delete(obj) log.debug('Revoked perm on %s on %s', target_user_group, user_group) def enforce_groups(self, user, groups, extern_type=None):