340
341
if rtype in (self.DISTRIBUTION_SOURCE_PACKAGE_RTYPE,
341
342
self.SOURCE_PACKAGE_RTYPE):
342
distribution_name = target.distribution.name
343
distribution_name = models.extract_last_path_segment_from_url(
344
target.distribution_link)
344
346
distribution_name = target.name
345
347
if distribution_name != self.DISTRIBUTION_NAME:
347
if (rtype == self.SOURCE_PACKAGE_RTYPE
348
and target.distroseries.name != distro_release):
349
if rtype == self.SOURCE_PACKAGE_RTYPE:
350
series_name = models.extract_last_path_segment_from_url(
351
target.distroseries_link)
352
if series_name != distro_release:
350
354
if rtype == self.DISTRIBUTION_SOURCE_PACKAGE_RTYPE:
351
355
for subtask in task.related_tasks:
352
356
subtarget = self.lp.load(subtask.target.self_link)
353
357
sub_rtype = get_rtype(subtarget)
354
if (sub_rtype == self.SOURCE_PACKAGE_RTYPE
355
and subtarget.distribution.name == distribution_name
356
and subtarget.distroseries.name == distro_release
357
and subtarget.name == target.name):
358
if sub_rtype == self.SOURCE_PACKAGE_RTYPE:
360
models.extract_last_path_segment_from_url(
361
subtarget.distribution_link))
363
models.extract_last_path_segment_from_url(
364
subtarget.distroseries_link))
365
if (distro_name == distribution_name
366
and series_name == distro_release
367
and subtarget.name == target.name):
359
369
workitem = models.Workitem()
360
370
workitem.description = (
361
371
self.get_description(task.bug) + u" (%s)" % target.name)
362
if task.assignee is not None:
363
workitem.assignee_name = task.assignee.name
364
if task.milestone is not None:
365
workitem.milestone_name = task.milestone.name
372
if task.assignee_link is not None:
373
workitem.assignee_name = models.extract_user_name_from_url(
375
if task.milestone_link is not None:
376
workitem.milestone_name = (
377
models.extract_last_path_segment_from_url(
378
task.milestone_link))
366
379
workitem.status = bug_wi_states[task.status]
367
380
workitem.blueprint = self.blueprint