Skip to content

Commit ecd2abe

Browse files
committed
add compatibility field for landing path
1 parent 7eb89c6 commit ecd2abe

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

landoapi/models/landing_job.py

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,23 @@ class LandingJob(Base):
137137
def landing_path(self) -> list[tuple[int, int]]:
138138
return [(revision.revision_id, revision.diff_id) for revision in self.revisions]
139139

140+
@property
141+
def landing_path_compat(self):
142+
"""Return landing path based on associated revisions or legacy fields."""
143+
if self.revisions:
144+
return [
145+
{
146+
"revision_id": "D{}".format(revision_id),
147+
"diff_id": diff_id,
148+
}
149+
for revision_id, diff_id in self.landing_path
150+
]
151+
else:
152+
return [
153+
{"revision_id": "D{}".format(r), "diff_id": self.revision_to_diff_id[r]}
154+
for r in self.revision_order
155+
]
156+
140157
@property
141158
def head_revision(self) -> str:
142159
"""Human-readable representation of the branch head's Phabricator revision ID."""
@@ -313,13 +330,7 @@ def serialize(self) -> dict[str, Any]:
313330
return {
314331
"id": self.id,
315332
"status": self.status.value,
316-
"landing_path": [
317-
{
318-
"revision_id": "D{}".format(revision.revision_id),
319-
"diff_id": revision.diff_id,
320-
}
321-
for revision in self.revisions
322-
],
333+
"landing_path": self.landing_path_compat,
323334
"error_breakdown": self.error_breakdown,
324335
"details": (
325336
self.error or self.landed_commit_id

0 commit comments

Comments
 (0)