Skip to content

Commit 65ceb7f

Browse files
ref: fix typing for sentry.models.__init__
star imports were clobbering names with incompatible types
1 parent e719c10 commit 65ceb7f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+87
-91
lines changed

pyproject.toml

-1
Original file line numberDiff line numberDiff line change
@@ -643,7 +643,6 @@ module = [
643643
"sentry.migrations.0381_fix_org_slug_casing",
644644
"sentry.migrations.0407_recreate_perf_alert_subscriptions",
645645
"sentry.migrations.0418_add_actor_constraints",
646-
"sentry.models",
647646
"sentry.models.actor",
648647
"sentry.models.apiapplication",
649648
"sentry.models.artifactbundle",

src/sentry/api/endpoints/filechange.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
from sentry.api.exceptions import ResourceDoesNotExist
77
from sentry.api.paginator import OffsetPaginator
88
from sentry.api.serializers import serialize
9-
from sentry.models import CommitFileChange, Release, ReleaseCommit, Repository
9+
from sentry.models import Release, ReleaseCommit, Repository
10+
from sentry.models.commitfilechange import CommitFileChange
1011

1112

1213
@region_silo_endpoint

src/sentry/api/endpoints/organization_release_meta.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
from sentry.api.bases.organization import OrganizationReleasesBaseEndpoint
88
from sentry.api.exceptions import ResourceDoesNotExist
99
from sentry.api.serializers.models.release import expose_version_info
10-
from sentry.models import CommitFileChange, ProjectPlatform, Release, ReleaseCommit, ReleaseProject
10+
from sentry.models import ProjectPlatform, Release, ReleaseCommit, ReleaseProject
11+
from sentry.models.commitfilechange import CommitFileChange
1112

1213

1314
@region_silo_endpoint

src/sentry/api/endpoints/organization_users.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
from sentry.api.bases.organization import OrganizationEndpoint
77
from sentry.api.serializers import serialize
88
from sentry.api.serializers.models import OrganizationMemberWithProjectsSerializer
9-
from sentry.models import OrganizationMember, OrganizationMemberTeam, ProjectTeam
9+
from sentry.models import OrganizationMember, OrganizationMemberTeam
10+
from sentry.models.projectteam import ProjectTeam
1011

1112

1213
@region_silo_endpoint

src/sentry/api/serializers/models/filechange.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from sentry.api.serializers import Serializer, register
22
from sentry.api.serializers.models.commit import get_users_for_commits
3-
from sentry.models import Commit, CommitFileChange, Repository
3+
from sentry.models import Commit, Repository
4+
from sentry.models.commitfilechange import CommitFileChange
45

56

67
@register(CommitFileChange)

src/sentry/api/serializers/models/organization_member/expand/projects.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
from collections import defaultdict
22
from typing import Any, Mapping, MutableMapping, Sequence, cast
33

4-
from sentry.models import OrganizationMember, OrganizationMemberTeam, ProjectTeam, TeamStatus, User
4+
from sentry.models import OrganizationMember, OrganizationMemberTeam, TeamStatus, User
5+
from sentry.models.projectteam import ProjectTeam
56

67
from ..base import OrganizationMemberSerializer
78
from ..response import OrganizationMemberWithProjectsResponse

src/sentry/api/serializers/models/project.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,13 @@
4747
ProjectBookmark,
4848
ProjectOption,
4949
ProjectPlatform,
50-
ProjectTeam,
5150
Release,
5251
Team,
5352
User,
5453
UserReport,
5554
)
5655
from sentry.models.options.project_option import OPTION_KEYS
56+
from sentry.models.projectteam import ProjectTeam
5757
from sentry.notifications.helpers import (
5858
get_most_specific_notification_setting_value,
5959
transform_to_notification_settings_by_scope,

src/sentry/api/serializers/models/team.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@
3838
OrganizationAccessRequest,
3939
OrganizationMember,
4040
OrganizationMemberTeam,
41-
ProjectTeam,
4241
Team,
4342
TeamAvatar,
4443
User,
4544
)
45+
from sentry.models.projectteam import ProjectTeam
4646
from sentry.roles import organization_roles, team_roles
4747
from sentry.scim.endpoints.constants import SCIM_SCHEMA_GROUP
4848
from sentry.utils.query import RangeQuerySetWrapper

src/sentry/api/serializers/rest_framework/commit.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from rest_framework import serializers
22

33
from sentry.api.serializers.rest_framework.list import ListField
4-
from sentry.models import CommitFileChange
4+
from sentry.models.commitfilechange import CommitFileChange
55

66

77
class CommitPatchSetSerializer(serializers.Serializer):

src/sentry/deletions/__init__.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ def load_defaults():
9090
from sentry import models
9191
from sentry.discover.models import DiscoverSavedQuery
9292
from sentry.incidents.models import AlertRule
93+
from sentry.models.commitfilechange import CommitFileChange
9394
from sentry.monitors import models as monitor_models
9495

9596
from . import defaults
@@ -102,7 +103,7 @@ def load_defaults():
102103
default_manager.register(models.ApiToken, BulkModelDeletionTask)
103104
default_manager.register(models.Commit, defaults.CommitDeletionTask)
104105
default_manager.register(models.CommitAuthor, defaults.CommitAuthorDeletionTask)
105-
default_manager.register(models.CommitFileChange, BulkModelDeletionTask)
106+
default_manager.register(CommitFileChange, BulkModelDeletionTask)
106107
default_manager.register(models.Deploy, BulkModelDeletionTask)
107108
default_manager.register(DiscoverSavedQuery, defaults.DiscoverSavedQueryDeletionTask)
108109
default_manager.register(models.Distribution, BulkModelDeletionTask)

src/sentry/deletions/defaults/commit.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
class CommitDeletionTask(ModelDeletionTask):
55
def get_child_relations(self, instance):
6-
from sentry.models import CommitFileChange, ReleaseCommit, ReleaseHeadCommit
6+
from sentry.models import ReleaseCommit, ReleaseHeadCommit
7+
from sentry.models.commitfilechange import CommitFileChange
78

89
return [
910
ModelRelation(CommitFileChange, {"commit_id": instance.id}),

src/sentry/deletions/defaults/project.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ def get_child_relations(self, instance):
66
from sentry import models
77
from sentry.discover.models import DiscoverSavedQueryProject
88
from sentry.incidents.models import AlertRule, IncidentProject
9+
from sentry.models.projectteam import ProjectTeam
910
from sentry.monitors.models import Monitor
1011
from sentry.replays.models import ReplayRecordingSegment
1112
from sentry.snuba.models import QuerySubscription
@@ -34,7 +35,7 @@ def get_child_relations(self, instance):
3435
models.LatestAppConnectBuildsCheck,
3536
models.ProjectBookmark,
3637
models.ProjectKey,
37-
models.ProjectTeam,
38+
ProjectTeam,
3839
models.PromptsActivity,
3940
# order matters, ProjectCodeOwners to be deleted before RepositoryProjectPathConfig
4041
models.ProjectCodeOwners,

src/sentry/deletions/defaults/team.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
class TeamDeletionTask(ModelDeletionTask):
55
def get_child_relations(self, instance):
6-
from sentry.models import ProjectTeam
6+
from sentry.models.projectteam import ProjectTeam
77

88
return [
99
ModelRelation(ProjectTeam, {"team_id": instance.id}),

src/sentry/discover/endpoints/discover_key_transactions.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
from sentry.api.utils import InvalidParams
1515
from sentry.discover.endpoints import serializers
1616
from sentry.discover.models import TeamKeyTransaction
17-
from sentry.models import ProjectTeam, Team
17+
from sentry.models import Team
18+
from sentry.models.projectteam import ProjectTeam
1819

1920

2021
class KeyTransactionPermission(OrganizationPermission):

src/sentry/integrations/github/webhook.py

+2-8
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,8 @@
1818
from sentry.api.base import Endpoint, region_silo_endpoint
1919
from sentry.constants import ObjectStatus
2020
from sentry.integrations.utils.scope import clear_tags_and_context
21-
from sentry.models import (
22-
Commit,
23-
CommitAuthor,
24-
CommitFileChange,
25-
Organization,
26-
PullRequest,
27-
Repository,
28-
)
21+
from sentry.models import Commit, CommitAuthor, Organization, PullRequest, Repository
22+
from sentry.models.commitfilechange import CommitFileChange
2923
from sentry.services.hybrid_cloud.identity.service import identity_service
3024
from sentry.services.hybrid_cloud.integration.model import (
3125
RpcIntegration,

src/sentry/models/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from .broadcast import * # NOQA
1818
from .commit import * # NOQA
1919
from .commitauthor import * # NOQA
20-
from .commitfilechange import * # NOQA
20+
from .commitfilechange import CommitFileChange # noqa
2121
from .counter import * # NOQA
2222
from .dashboard import * # NOQA
2323
from .dashboard_widget import * # NOQA
@@ -82,7 +82,7 @@
8282
from .projectownership import * # NOQA
8383
from .projectplatform import * # NOQA
8484
from .projectredirect import * # NOQA
85-
from .projectteam import * # NOQA
85+
from .projectteam import ProjectTeam # noqa
8686
from .promptsactivity import * # NOQA
8787
from .pullrequest import * # NOQA
8888
from .rawevent import * # NOQA

src/sentry/models/project.py

+3-8
Original file line numberDiff line numberDiff line change
@@ -326,13 +326,13 @@ def transfer_to(self, organization):
326326
Environment,
327327
EnvironmentProject,
328328
ExternalIssue,
329-
ProjectTeam,
330329
RegionScheduledDeletion,
331330
ReleaseProject,
332331
ReleaseProjectEnvironment,
333332
Rule,
334333
)
335334
from sentry.models.actor import ACTOR_TYPES
335+
from sentry.models.projectteam import ProjectTeam
336336
from sentry.monitors.models import Monitor
337337

338338
old_org_id = self.organization_id
@@ -492,13 +492,8 @@ def copy_settings_from(self, project_id):
492492
Returns True if the settings have successfully been copied over
493493
Returns False otherwise
494494
"""
495-
from sentry.models import (
496-
EnvironmentProject,
497-
ProjectOption,
498-
ProjectOwnership,
499-
ProjectTeam,
500-
Rule,
501-
)
495+
from sentry.models import EnvironmentProject, ProjectOption, ProjectOwnership, Rule
496+
from sentry.models.projectteam import ProjectTeam
502497

503498
model_list = [EnvironmentProject, ProjectOwnership, ProjectTeam, Rule]
504499

src/sentry/models/release.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@
3737
from sentry.models import (
3838
Activity,
3939
ArtifactBundle,
40-
CommitFileChange,
4140
GroupInbox,
4241
GroupInboxRemoveAction,
4342
remove_group_from_inbox,
4443
)
44+
from sentry.models.commitfilechange import CommitFileChange
4545
from sentry.models.grouphistory import GroupHistoryStatus, record_group_history
4646
from sentry.signals import issue_resolved
4747
from sentry.tasks.relay import schedule_invalidate_project_config

src/sentry/models/team.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ def get_for_user(
4141
Returns a list of all teams a user has some level of access to.
4242
"""
4343
from sentry.auth.superuser import is_active_superuser
44-
from sentry.models import OrganizationMember, OrganizationMemberTeam, Project, ProjectTeam
44+
from sentry.models import OrganizationMember, OrganizationMemberTeam, Project
45+
from sentry.models.projectteam import ProjectTeam
4546

4647
if not user.is_authenticated:
4748
return []
@@ -230,10 +231,10 @@ def transfer_to(self, organization):
230231
OrganizationMember,
231232
OrganizationMemberTeam,
232233
Project,
233-
ProjectTeam,
234234
ReleaseProject,
235235
ReleaseProjectEnvironment,
236236
)
237+
from sentry.models.projectteam import ProjectTeam
237238

238239
try:
239240
with transaction.atomic():

src/sentry/notifications/notifications/activity/release.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44

55
from sentry_relay import parse_release
66

7-
from sentry.models import Activity, Commit, CommitFileChange, OrganizationMember, Project
7+
from sentry.models import Activity, Commit, OrganizationMember, Project
8+
from sentry.models.commitfilechange import CommitFileChange
89
from sentry.notifications.types import NotificationSettingTypes
910
from sentry.notifications.utils import (
1011
get_deploy,

src/sentry/search/events/datasets/field_aliases.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from sentry.discover.models import TeamKeyTransaction
99
from sentry.exceptions import IncompatibleMetricsQuery
10-
from sentry.models import ProjectTeam
10+
from sentry.models.projectteam import ProjectTeam
1111
from sentry.search.events import builder, constants, fields
1212
from sentry.search.events.types import SelectType
1313
from sentry.utils.numbers import format_grouped_length

src/sentry/search/events/fields.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010

1111
from sentry.discover.models import TeamKeyTransaction
1212
from sentry.exceptions import IncompatibleMetricsQuery, InvalidSearchQuery
13-
from sentry.models import ProjectTeam, ProjectTransactionThreshold
13+
from sentry.models import ProjectTransactionThreshold
14+
from sentry.models.projectteam import ProjectTeam
1415
from sentry.models.transaction_threshold import (
1516
TRANSACTION_METRICS,
1617
ProjectTransactionThresholdOverride,

src/sentry/services/hybrid_cloud/organization/serial.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
OrganizationMember,
1010
OrganizationMemberTeam,
1111
Project,
12-
ProjectTeam,
1312
Team,
1413
TeamStatus,
1514
)
15+
from sentry.models.projectteam import ProjectTeam
1616
from sentry.services.hybrid_cloud.organization import (
1717
RpcOrganization,
1818
RpcOrganizationFlags,

src/sentry/testutils/asserts.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from typing import Optional
22

3-
from sentry.models import AuditLogEntry, CommitFileChange
3+
from sentry.models import AuditLogEntry
4+
from sentry.models.commitfilechange import CommitFileChange
45

56

67
def assert_mock_called_once_with_partial(mock, *args, **kwargs):

src/sentry/testutils/factories.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@
4848
ArtifactBundle,
4949
Commit,
5050
CommitAuthor,
51-
CommitFileChange,
5251
DocIntegration,
5352
DocIntegrationAvatar,
5453
Environment,
@@ -93,6 +92,7 @@
9392
)
9493
from sentry.models.actor import get_actor_id_for_user
9594
from sentry.models.apikey import ApiKey
95+
from sentry.models.commitfilechange import CommitFileChange
9696
from sentry.models.integrations.integration_feature import Feature, IntegrationTypes
9797
from sentry.models.notificationaction import (
9898
ActionService,

src/sentry/utils/committers.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
from sentry.api.serializers.models.commit import CommitSerializer, get_users_for_commits
2626
from sentry.api.serializers.models.release import Author
2727
from sentry.eventstore.models import Event
28-
from sentry.models import Commit, CommitFileChange, Group, Project, Release, ReleaseCommit
28+
from sentry.models import Commit, Group, Project, Release, ReleaseCommit
29+
from sentry.models.commitfilechange import CommitFileChange
2930
from sentry.models.groupowner import GroupOwner, GroupOwnerType
3031
from sentry.services.hybrid_cloud.integration import integration_service
3132
from sentry.services.hybrid_cloud.user.service import user_service

src/sentry/utils/suspect_resolutions/commit_correlation.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
from datetime import datetime, timedelta
55
from typing import Sequence, Set
66

7-
from sentry.models import CommitFileChange, Group, GroupRelease, Release, ReleaseCommit
7+
from sentry.models import Group, GroupRelease, Release, ReleaseCommit
8+
from sentry.models.commitfilechange import CommitFileChange
89

910

1011
@dataclass

src/sentry_plugins/github/webhooks/events/push.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
from django.http import Http404
66
from django.utils import timezone
77

8-
from sentry.models import Commit, CommitAuthor, CommitFileChange, Integration, Repository
8+
from sentry.models import Commit, CommitAuthor, Integration, Repository
9+
from sentry.models.commitfilechange import CommitFileChange
910
from sentry.plugins.providers import RepositoryProvider
1011
from sentry.services.hybrid_cloud import coerce_id_from
1112
from sentry.services.hybrid_cloud.user.service import user_service

tests/apidocs/endpoints/releases/test_organization_release_commit_files.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
from django.urls import reverse
33

44
from fixtures.apidocs_test_case import APIDocsTestCase
5-
from sentry.models import Commit, CommitFileChange, ReleaseCommit
5+
from sentry.models import Commit, ReleaseCommit
6+
from sentry.models.commitfilechange import CommitFileChange
67

78

89
class CommitFileChangeDocsTest(APIDocsTestCase):

tests/sentry/api/endpoints/test_commit_filechange.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from django.urls import reverse
22

3-
from sentry.models import Commit, CommitFileChange, Release, ReleaseCommit, Repository
3+
from sentry.models import Commit, Release, ReleaseCommit, Repository
4+
from sentry.models.commitfilechange import CommitFileChange
45
from sentry.testutils import APITestCase
56
from sentry.testutils.silo import region_silo_test
67

tests/sentry/api/endpoints/test_organization_release_meta.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
from sentry.models import (
44
Commit,
5-
CommitFileChange,
65
File,
76
ProjectArtifactBundle,
87
Release,
@@ -11,6 +10,7 @@
1110
ReleaseFile,
1211
Repository,
1312
)
13+
from sentry.models.commitfilechange import CommitFileChange
1414
from sentry.testutils import APITestCase
1515
from sentry.testutils.silo import region_silo_test
1616
from sentry.utils import json

0 commit comments

Comments
 (0)