github-org-manager 0.7.13__tar.gz → 0.7.14__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: github-org-manager
3
- Version: 0.7.13
3
+ Version: 0.7.14
4
4
  Summary: Manage a GitHub Organization, its teams, repository permissions, and more
5
5
  Keywords: github,github-management,permissions,access-control
6
6
  Author: Max Mehl
@@ -26,7 +26,7 @@ Classifier: Programming Language :: Python :: 3.14
26
26
  Requires-Dist: pygithub>=2.8.1,<3
27
27
  Requires-Dist: pyyaml>=6.0.3,<7
28
28
  Requires-Dist: requests>=2.32.5,<3
29
- Requires-Dist: python-slugify>=8.0.4,<9
29
+ Requires-Dist: python-slugify>=9,<10
30
30
  Requires-Dist: jsonschema>=4.25.1,<5
31
31
  Requires-Python: >=3.10, <4
32
32
  Project-URL: Repository, https://github.com/OpenRailAssociation/github-org-manager
@@ -512,14 +512,22 @@ class GHorg:
512
512
  return []
513
513
 
514
514
  def _get_current_team_members(self, team: Team) -> dict[NamedUser, str]:
515
- """Return dict of current users with their respective roles. Also
516
- contains members of child teams.
515
+ """Return dict of current users with their respective roles. Only
516
+ contains direct members of the team, not members of child teams.
517
517
  """
518
518
  current_users: dict[NamedUser, str] = {}
519
519
  for role in ("member", "maintainer"):
520
- # Make a two-step check whether person is actually in team, as
521
- # get_members() also return child-team members
520
+ # Check whether person is actually direct member of team, as
521
+ # get_members() also returns child-team members, marked via the
522
+ # "inherited" flag in the API response
522
523
  for user in list(team.get_members(role=role)):
524
+ if user._rawData.get("inherited"): # noqa: SLF001
525
+ logging.debug(
526
+ "User '%s' is only member of a child team of '%s', ignoring",
527
+ user.login,
528
+ team.name,
529
+ )
530
+ continue
523
531
  current_users.update({user: role})
524
532
 
525
533
  return current_users
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "github-org-manager"
3
- version = "0.7.13"
3
+ version = "0.7.14"
4
4
  description = "Manage a GitHub Organization, its teams, repository permissions, and more"
5
5
  requires-python = ">=3.10,<4"
6
6
  readme = "README.md"
@@ -33,7 +33,7 @@ dependencies = [
33
33
  "pygithub>=2.8.1,<3",
34
34
  "pyyaml>=6.0.3,<7",
35
35
  "requests>=2.32.5,<3",
36
- "python-slugify>=8.0.4,<9",
36
+ "python-slugify>=9,<10",
37
37
  "jsonschema>=4.25.1,<5",
38
38
  ]
39
39
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  [project]
6
6
  name = "github-org-manager"
7
- version = "0.7.13"
7
+ version = "0.7.14"
8
8
  description = "Manage a GitHub Organization, its teams, repository permissions, and more"
9
9
  authors = [{ name = "Max Mehl", email = "max.mehl@deutschebahn.com" }]
10
10
  requires-python = ">=3.10,<4"
@@ -35,7 +35,7 @@ dependencies = [
35
35
  "pygithub>=2.8.1,<3",
36
36
  "pyyaml>=6.0.3,<7",
37
37
  "requests>=2.32.5,<3",
38
- "python-slugify>=8.0.4,<9",
38
+ "python-slugify>=9,<10",
39
39
  "jsonschema>=4.25.1,<5",
40
40
  ]
41
41