187
187
"""Create a L{Bug} from a C{bug_task} instance loaded from Launchpad."""
188
188
launchpad_bug = bug_task.bug
189
189
assignee = bug_task.assignee
190
in_progress_date = bug_task.date_in_progress
190
192
if assignee is not None:
191
193
assignee = assignee.name
192
194
branch_url = None
193
195
merge_proposal_url = None
194
196
merge_proposal_status = None
197
merge_proposal_creation_date = None
195
198
for branch in launchpad_bug.linked_branches:
196
199
launchpad_branch = branch.branch
197
200
branch_url = launchpad_branch.bzr_identity
198
201
for merge_proposal in launchpad_branch.landing_targets:
202
merge_proposal_creation_date = merge_proposal.date_created
199
203
merge_proposal_status = merge_proposal.queue_status
200
merge_proposal_url = (
201
"https://code.launchpad.net/~"
202
+ str(merge_proposal.self).split("~")[-1])
204
merge_proposal_url = ("https://code.launchpad.net/~"
205
+ str(merge_proposal.self).split("~")[-1])
205
208
return Bug(launchpad_bug.id, bug_task.bug_target_name, bug_task.importance,
206
bug_task.status, launchpad_bug.title, assignee, branch_url,
207
merge_proposal_url, merge_proposal_status, launchpad_bug.tags)
209
bug_task.status, launchpad_bug.title, assignee,
210
in_progress_date, branch_url, merge_proposal_url,
211
merge_proposal_status, merge_proposal_creation_date,