~launchpad-pqm/launchpad/devel

« back to all changes in this revision

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

  • Committer: Launchpad Patch Queue Manager
  • Date: 2011-07-22 05:56:29 UTC
  • mfrom: (13492.1.1 revert-r13485)
  • Revision ID: launchpad@pqm.canonical.com-20110722055629-0y8ss6zvhjcoo12r
[r=wgrant][rollback=13485] Revert r13485. It prevents form pickers
 from being attached to their text widgets.

Show diffs side-by-side

added added

removed removed

Lines of Context:
53
53
    )
54
54
from lp.soyuz.scripts.processaccepted import close_bugs_for_sourcepublication
55
55
 
 
56
 
56
57
# XXX cprov 2009-06-12: This function could be incorporated in ILFA,
57
58
# I just don't see a clear benefit in doing that right now.
58
59
def re_upload_file(libraryfile, restricted=False):
525
526
def do_copy(sources, archive, series, pocket, include_binaries=False,
526
527
            allow_delayed_copies=True, person=None, check_permissions=True,
527
528
            overrides=None, send_email=False, strict_binaries=True,
528
 
            close_bugs=True, create_dsd_job=True):
 
529
            create_dsd_job=True, close_bugs=True):
529
530
    """Perform the complete copy of the given sources incrementally.
530
531
 
531
532
    Verifies if each copy can be performed using `CopyChecker` and
559
560
    :param send_email: Should we notify for the copy performed?
560
561
    :param strict_binaries: If 'include_binaries' is True then setting this
561
562
        to True will make the copy fail if binaries cannot be also copied.
 
563
    :param create_dsd_job: A boolean indicating whether or not dsd jobs
 
564
        should be created for the copied source publications.
562
565
    :param close_bugs: A boolean indicating whether or not bugs on the
563
566
        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.
566
567
 
567
568
 
568
569
    :raise CannotCopy when one or more copies were not allowed. The error
610
611
                override = overrides[overrides_index]
611
612
            sub_copies = _do_direct_copy(
612
613
                source, archive, destination_series, pocket,
613
 
                include_binaries, override, close_bugs=close_bugs,
614
 
                create_dsd_job=create_dsd_job)
 
614
                include_binaries, override, create_dsd_job=create_dsd_job,
 
615
                close_bugs=close_bugs)
615
616
            if send_email:
616
617
                notify(
617
618
                    person, source.sourcepackagerelease, [], [], archive,
625
626
 
626
627
 
627
628
def _do_direct_copy(source, archive, series, pocket, include_binaries,
628
 
                    override=None, close_bugs=True, create_dsd_job=True):
 
629
                    override=None, create_dsd_job=True, close_bugs=True):
629
630
    """Copy publishing records to another location.
630
631
 
631
632
    Copy each item of the given list of `SourcePackagePublishingHistory`
644
645
        not the published binaries for each given source should be also
645
646
        copied along with the source.
646
647
    :param override: An `IOverride` as per do_copy().
 
648
    :param create_dsd_job: A boolean indicating whether or not a dsd job
 
649
        should be created for the copied source publication.
647
650
    :param close_bugs: A boolean indicating whether or not bugs on the
648
651
        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.
651
652
 
652
653
    :return: a list of `ISourcePackagePublishingHistory` and
653
654
        `BinaryPackagePublishingHistory` corresponding to the copied
677
678
                "More than one override encountered, something is wrong.")
678
679
            override = overrides[0]
679
680
        source_copy = source.copyTo(
680
 
            series, pocket, archive, override, create_dsd_job=create_dsd_job)
 
681
            series, pocket, archive, override, create_dsd_job)
681
682
        if close_bugs:
682
683
            close_bugs_for_sourcepublication(source_copy)
683
684
        copies.append(source_copy)