~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to lib/lp/soyuz/scripts/packagecopier.py

  • Committer: Raphael Badin
  • Date: 2011-07-22 11:12:23 UTC
  • mto: This revision was merged to the branch mainline in revision 13505.
  • Revision ID: raphael.badin@canonical.com-20110722111223-1bwiuiub5coeldp4
Create DSDJs outside the packages copy loop.

Show diffs side-by-side

added added

removed removed

Lines of Context:
525
525
def do_copy(sources, archive, series, pocket, include_binaries=False,
526
526
            allow_delayed_copies=True, person=None, check_permissions=True,
527
527
            overrides=None, send_email=False, strict_binaries=True,
528
 
            close_bugs=True):
 
528
            close_bugs=True, create_dsd_job=True):
529
529
    """Perform the complete copy of the given sources incrementally.
530
530
 
531
531
    Verifies if each copy can be performed using `CopyChecker` and
561
561
        to True will make the copy fail if binaries cannot be also copied.
562
562
    :param close_bugs: A boolean indicating whether or not bugs on the
563
563
        copied publications should be closed.
 
564
    :param create_dsd_job: A boolean indicating whether or not a dsd job
 
565
         should be created for the new source publication.
564
566
 
565
567
 
566
568
    :raise CannotCopy when one or more copies were not allowed. The error
608
610
                override = overrides[overrides_index]
609
611
            sub_copies = _do_direct_copy(
610
612
                source, archive, destination_series, pocket,
611
 
                include_binaries, override, close_bugs=close_bugs)
 
613
                include_binaries, override, close_bugs=close_bugs,
 
614
                create_dsd_job=create_dsd_job)
612
615
            if send_email:
613
616
                notify(
614
617
                    person, source.sourcepackagerelease, [], [], archive,
622
625
 
623
626
 
624
627
def _do_direct_copy(source, archive, series, pocket, include_binaries,
625
 
                    override=None, close_bugs=True):
 
628
                    override=None, close_bugs=True, create_dsd_job=True):
626
629
    """Copy publishing records to another location.
627
630
 
628
631
    Copy each item of the given list of `SourcePackagePublishingHistory`
643
646
    :param override: An `IOverride` as per do_copy().
644
647
    :param close_bugs: A boolean indicating whether or not bugs on the
645
648
        copied publication should be closed.
 
649
    :param create_dsd_job: A boolean indicating whether or not a dsd job
 
650
         should be created for the new source publication.
646
651
 
647
652
    :return: a list of `ISourcePackagePublishingHistory` and
648
653
        `BinaryPackagePublishingHistory` corresponding to the copied
672
677
                "More than one override encountered, something is wrong.")
673
678
            override = overrides[0]
674
679
        source_copy = source.copyTo(
675
 
            series, pocket, archive, override)
 
680
            series, pocket, archive, override, create_dsd_job=create_dsd_job)
676
681
        if close_bugs:
677
682
            close_bugs_for_sourcepublication(source_copy)
678
683
        copies.append(source_copy)