Merge ~cjwatson/launchpad:code-dbenum into launchpad:master

Proposed by Colin Watson
Status: Merged
Approved by: Colin Watson
Approved revision: e32240bb1d5b635690c0a8adce27619f2cfb0850
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: ~cjwatson/launchpad:code-dbenum
Merge into: launchpad:master
Diff against target: 255 lines (+35/-35)
9 files modified
lib/lp/code/model/branch.py (+8/-8)
lib/lp/code/model/branchmergeproposal.py (+3/-3)
lib/lp/code/model/branchmergeproposaljob.py (+2/-2)
lib/lp/code/model/gitactivity.py (+3/-3)
lib/lp/code/model/gitjob.py (+2/-2)
lib/lp/code/model/gitref.py (+2/-2)
lib/lp/code/model/gitrepository.py (+6/-6)
lib/lp/code/model/gitsubscription.py (+7/-7)
lib/lp/code/model/sourcepackagerecipedata.py (+2/-2)
Reviewer Review Type Date Requested Status
Jürgen Gmach Approve
Review via email: mp+412073@code.launchpad.net

Commit message

lp.code: Use DBEnum rather than EnumCol

To post a comment you must log in.
Revision history for this message
Jürgen Gmach (jugmac00) wrote :

LGTM

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/lib/lp/code/model/branch.py b/lib/lp/code/model/branch.py
2index 6a1e70e..c2a0de5 100644
3--- a/lib/lp/code/model/branch.py
4+++ b/lib/lp/code/model/branch.py
5@@ -164,7 +164,7 @@ from lp.services.database.constants import (
6 )
7 from lp.services.database.datetimecol import UtcDateTimeCol
8 from lp.services.database.decoratedresultset import DecoratedResultSet
9-from lp.services.database.enumcol import EnumCol
10+from lp.services.database.enumcol import DBEnum
11 from lp.services.database.interfaces import (
12 IMasterStore,
13 IStore,
14@@ -206,19 +206,19 @@ class Branch(SQLBase, WebhookTargetMixin, BzrIdentityMixin):
15 """A sequence of ordered revisions in Bazaar."""
16 _table = 'Branch'
17
18- branch_type = EnumCol(enum=BranchType, notNull=True)
19+ branch_type = DBEnum(enum=BranchType, allow_none=False)
20
21 name = StringCol(notNull=False)
22 url = StringCol(dbName='url')
23 description = StringCol(dbName='summary')
24- branch_format = EnumCol(enum=BranchFormat)
25- repository_format = EnumCol(enum=RepositoryFormat)
26+ branch_format = DBEnum(enum=BranchFormat)
27+ repository_format = DBEnum(enum=RepositoryFormat)
28 # XXX: Aaron Bentley 2008-06-13
29 # Rename the metadir_format in the database, see bug 239746
30- control_format = EnumCol(enum=ControlFormat, dbName='metadir_format')
31+ control_format = DBEnum(enum=ControlFormat, name='metadir_format')
32 whiteboard = StringCol(default=None)
33 mirror_status_message = StringCol(default=None)
34- information_type = EnumCol(
35+ information_type = DBEnum(
36 enum=InformationType, default=InformationType.PUBLIC)
37
38 @property
39@@ -334,8 +334,8 @@ class Branch(SQLBase, WebhookTargetMixin, BzrIdentityMixin):
40 dbName='sourcepackagename', foreignKey='SourcePackageName',
41 default=None)
42
43- lifecycle_status = EnumCol(
44- enum=BranchLifecycleStatus, notNull=True,
45+ lifecycle_status = DBEnum(
46+ enum=BranchLifecycleStatus, allow_none=False,
47 default=BranchLifecycleStatus.DEVELOPMENT)
48
49 last_mirrored = UtcDateTimeCol(default=None)
50diff --git a/lib/lp/code/model/branchmergeproposal.py b/lib/lp/code/model/branchmergeproposal.py
51index c3d0c4d..bb4d009 100644
52--- a/lib/lp/code/model/branchmergeproposal.py
53+++ b/lib/lp/code/model/branchmergeproposal.py
54@@ -108,7 +108,7 @@ from lp.services.database.constants import (
55 UTC_NOW,
56 )
57 from lp.services.database.datetimecol import UtcDateTimeCol
58-from lp.services.database.enumcol import EnumCol
59+from lp.services.database.enumcol import DBEnum
60 from lp.services.database.interfaces import (
61 IMasterStore,
62 IStore,
63@@ -321,8 +321,8 @@ class BranchMergeProposal(SQLBase, BugLinkTargetMixin):
64
65 whiteboard = StringCol(default=None)
66
67- queue_status = EnumCol(
68- enum=BranchMergeProposalStatus, notNull=True,
69+ queue_status = DBEnum(
70+ enum=BranchMergeProposalStatus, allow_none=False,
71 default=BranchMergeProposalStatus.WORK_IN_PROGRESS)
72
73 @property
74diff --git a/lib/lp/code/model/branchmergeproposaljob.py b/lib/lp/code/model/branchmergeproposaljob.py
75index 486fd15..3a58ae9 100644
76--- a/lib/lp/code/model/branchmergeproposaljob.py
77+++ b/lib/lp/code/model/branchmergeproposaljob.py
78@@ -82,7 +82,7 @@ from lp.codehosting.bzrutils import server
79 from lp.codehosting.vfs import get_ro_server
80 from lp.registry.interfaces.person import IPersonSet
81 from lp.services.config import config
82-from lp.services.database.enumcol import EnumCol
83+from lp.services.database.enumcol import DBEnum
84 from lp.services.database.interfaces import (
85 IMasterStore,
86 IStore,
87@@ -159,7 +159,7 @@ class BranchMergeProposalJob(StormBase):
88 branch_merge_proposal = Reference(
89 branch_merge_proposalID, BranchMergeProposal.id)
90
91- job_type = EnumCol(enum=BranchMergeProposalJobType, notNull=True)
92+ job_type = DBEnum(enum=BranchMergeProposalJobType, allow_none=False)
93
94 _json_data = Unicode('json_data')
95
96diff --git a/lib/lp/code/model/gitactivity.py b/lib/lp/code/model/gitactivity.py
97index 7fe0dee..a7b2036 100644
98--- a/lib/lp/code/model/gitactivity.py
99+++ b/lib/lp/code/model/gitactivity.py
100@@ -26,7 +26,7 @@ from lp.registry.interfaces.person import (
101 validate_public_person,
102 )
103 from lp.services.database.constants import DEFAULT
104-from lp.services.database.enumcol import EnumCol
105+from lp.services.database.enumcol import DBEnum
106 from lp.services.database.stormbase import StormBase
107
108
109@@ -52,8 +52,8 @@ class GitActivity(StormBase):
110 name='changee', allow_none=True, validator=validate_person)
111 changee = Reference(changee_id, 'Person.id')
112
113- what_changed = EnumCol(
114- dbName='what_changed', enum=GitActivityType, notNull=True)
115+ what_changed = DBEnum(
116+ name='what_changed', enum=GitActivityType, allow_none=False)
117
118 old_value = JSON(name='old_value', allow_none=True)
119 new_value = JSON(name='new_value', allow_none=True)
120diff --git a/lib/lp/code/model/gitjob.py b/lib/lp/code/model/gitjob.py
121index 347d2f1..2e78d06 100644
122--- a/lib/lp/code/model/gitjob.py
123+++ b/lib/lp/code/model/gitjob.py
124@@ -49,7 +49,7 @@ from lp.code.interfaces.gitrule import describe_git_permissions
125 from lp.code.mail.branch import BranchMailer
126 from lp.registry.interfaces.person import IPersonSet
127 from lp.services.config import config
128-from lp.services.database.enumcol import EnumCol
129+from lp.services.database.enumcol import DBEnum
130 from lp.services.database.interfaces import (
131 IMasterStore,
132 IStore,
133@@ -110,7 +110,7 @@ class GitJob(StormBase):
134 repository_id = Int(name='repository', allow_none=True)
135 repository = Reference(repository_id, 'GitRepository.id')
136
137- job_type = EnumCol(enum=GitJobType, notNull=True)
138+ job_type = DBEnum(enum=GitJobType, allow_none=False)
139
140 metadata = JSON('json_data')
141
142diff --git a/lib/lp/code/model/gitref.py b/lib/lp/code/model/gitref.py
143index 7358336..41af46a 100644
144--- a/lib/lp/code/model/gitref.py
145+++ b/lib/lp/code/model/gitref.py
146@@ -79,7 +79,7 @@ from lp.code.model.gitrule import (
147 from lp.services.config import config
148 from lp.services.database.constants import UTC_NOW
149 from lp.services.database.decoratedresultset import DecoratedResultSet
150-from lp.services.database.enumcol import EnumCol
151+from lp.services.database.enumcol import DBEnum
152 from lp.services.database.interfaces import IStore
153 from lp.services.database.stormbase import StormBase
154 from lp.services.features import getFeatureFlag
155@@ -510,7 +510,7 @@ class GitRef(GitRefMixin, StormBase):
156
157 commit_sha1 = Unicode(name='commit_sha1', allow_none=False)
158
159- object_type = EnumCol(enum=GitObjectType, notNull=True)
160+ object_type = DBEnum(enum=GitObjectType, allow_none=False)
161
162 author_id = Int(name='author', allow_none=True)
163 author = Reference(author_id, 'RevisionAuthor.id')
164diff --git a/lib/lp/code/model/gitrepository.py b/lib/lp/code/model/gitrepository.py
165index 796ab80..7210ec4 100644
166--- a/lib/lp/code/model/gitrepository.py
167+++ b/lib/lp/code/model/gitrepository.py
168@@ -187,7 +187,7 @@ from lp.services.database.constants import (
169 UTC_NOW,
170 )
171 from lp.services.database.decoratedresultset import DecoratedResultSet
172-from lp.services.database.enumcol import EnumCol
173+from lp.services.database.enumcol import DBEnum
174 from lp.services.database.interfaces import IStore
175 from lp.services.database.sqlbase import get_transaction_timestamp
176 from lp.services.database.stormbase import StormBase
177@@ -306,11 +306,11 @@ class GitRepository(StormBase, WebhookTargetMixin, AccessTokenTargetMixin,
178 date_last_modified = DateTime(
179 name='date_last_modified', tzinfo=pytz.UTC, allow_none=False)
180
181- repository_type = EnumCol(
182- dbName='repository_type', enum=GitRepositoryType, notNull=True)
183+ repository_type = DBEnum(
184+ name='repository_type', enum=GitRepositoryType, allow_none=False)
185
186- status = EnumCol(
187- dbName='status', enum=GitRepositoryStatus, notNull=True,
188+ status = DBEnum(
189+ name='status', enum=GitRepositoryStatus, allow_none=False,
190 default=GitRepositoryStatus.AVAILABLE)
191
192 registrant_id = Int(name='registrant', allow_none=False)
193@@ -338,7 +338,7 @@ class GitRepository(StormBase, WebhookTargetMixin, AccessTokenTargetMixin,
194
195 description = Unicode(name='description', allow_none=True)
196
197- information_type = EnumCol(enum=InformationType, notNull=True)
198+ information_type = DBEnum(enum=InformationType, allow_none=False)
199 owner_default = Bool(name='owner_default', allow_none=False)
200 target_default = Bool(name='target_default', allow_none=False)
201
202diff --git a/lib/lp/code/model/gitsubscription.py b/lib/lp/code/model/gitsubscription.py
203index a1d2b49..8ad435a 100644
204--- a/lib/lp/code/model/gitsubscription.py
205+++ b/lib/lp/code/model/gitsubscription.py
206@@ -21,7 +21,7 @@ from lp.code.security import GitSubscriptionEdit
207 from lp.registry.interfaces.person import validate_person
208 from lp.registry.interfaces.role import IPersonRoles
209 from lp.services.database.constants import DEFAULT
210-from lp.services.database.enumcol import EnumCol
211+from lp.services.database.enumcol import DBEnum
212 from lp.services.database.stormbase import StormBase
213
214
215@@ -39,13 +39,13 @@ class GitSubscription(StormBase):
216 repository_id = Int(name='repository', allow_none=False)
217 repository = Reference(repository_id, 'GitRepository.id')
218
219- notification_level = EnumCol(
220- enum=BranchSubscriptionNotificationLevel, notNull=True,
221+ notification_level = DBEnum(
222+ enum=BranchSubscriptionNotificationLevel, allow_none=False,
223 default=DEFAULT)
224- max_diff_lines = EnumCol(
225- enum=BranchSubscriptionDiffSize, notNull=False, default=DEFAULT)
226- review_level = EnumCol(
227- enum=CodeReviewNotificationLevel, notNull=True, default=DEFAULT)
228+ max_diff_lines = DBEnum(
229+ enum=BranchSubscriptionDiffSize, allow_none=True, default=DEFAULT)
230+ review_level = DBEnum(
231+ enum=CodeReviewNotificationLevel, allow_none=False, default=DEFAULT)
232
233 subscribed_by_id = Int(
234 name='subscribed_by', allow_none=False, validator=validate_person)
235diff --git a/lib/lp/code/model/sourcepackagerecipedata.py b/lib/lp/code/model/sourcepackagerecipedata.py
236index c67fbf0..f5d849b 100644
237--- a/lib/lp/code/model/sourcepackagerecipedata.py
238+++ b/lib/lp/code/model/sourcepackagerecipedata.py
239@@ -69,7 +69,7 @@ from lp.services.database.bulk import (
240 load_referencing,
241 load_related,
242 )
243-from lp.services.database.enumcol import EnumCol
244+from lp.services.database.enumcol import DBEnum
245 from lp.services.database.interfaces import IStore
246 from lp.services.propertycache import (
247 cachedproperty,
248@@ -134,7 +134,7 @@ class _SourcePackageRecipeDataInstruction(Storm):
249 id = Int(primary=True)
250
251 name = Unicode(allow_none=False)
252- type = EnumCol(notNull=True, schema=InstructionType)
253+ type = DBEnum(allow_none=False, enum=InstructionType)
254 comment = Unicode(allow_none=True)
255 line_number = Int(allow_none=False)
256

Subscribers

People subscribed via source and target branches

to status/vote changes: