Merge ~cjwatson/launchpad:it-is-the-future into launchpad:master

Proposed by Colin Watson
Status: Merged
Approved by: Colin Watson
Approved revision: 7087f941e1ea2d9a67903a515bb5183cff894243
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: ~cjwatson/launchpad:it-is-the-future
Merge into: launchpad:master
Diff against target: 10335 lines (+2/-1612)
789 files modified
database/replication/helpers.py (+0/-2)
database/replication/preamble.py (+0/-2)
database/replication/walblock.py (+0/-2)
database/schema/emptytables.py (+0/-2)
database/schema/fti.py (+0/-2)
database/schema/online_fti_updater.py (+0/-2)
lib/contrib/glock.py (+0/-2)
lib/launchpad_loggerhead/revision.py (+0/-2)
lib/launchpad_loggerhead/testing.py (+0/-2)
lib/launchpad_loggerhead/wsgi.py (+0/-2)
lib/lp/answers/browser/tests/test_breadcrumbs.py (+0/-2)
lib/lp/answers/browser/tests/test_menus.py (+0/-2)
lib/lp/answers/browser/tests/test_question.py (+0/-2)
lib/lp/answers/browser/tests/test_questionmessages.py (+0/-2)
lib/lp/answers/browser/tests/test_questionsubscription_views.py (+0/-2)
lib/lp/answers/browser/tests/test_questiontarget.py (+0/-2)
lib/lp/answers/browser/tests/test_views.py (+0/-2)
lib/lp/answers/model/questionsubscription.py (+0/-2)
lib/lp/answers/model/tests/test_question.py (+0/-2)
lib/lp/answers/model/tests/test_questionsubscription.py (+0/-2)
lib/lp/answers/testing.py (+0/-2)
lib/lp/answers/tests/test_doc.py (+0/-2)
lib/lp/answers/tests/test_faq.py (+0/-2)
lib/lp/answers/tests/test_faq_webservice.py (+0/-2)
lib/lp/answers/tests/test_faqtarget.py (+0/-2)
lib/lp/answers/tests/test_publisher.py (+0/-2)
lib/lp/answers/tests/test_question.py (+0/-2)
lib/lp/answers/tests/test_question_notifications.py (+0/-2)
lib/lp/answers/tests/test_question_webservice.py (+0/-2)
lib/lp/answers/tests/test_question_workflow.py (+0/-2)
lib/lp/answers/tests/test_questionjob.py (+0/-2)
lib/lp/answers/tests/test_questiontarget.py (+0/-2)
lib/lp/answers/tests/test_vocabulary.py (+0/-2)
lib/lp/app/browser/stringformatter.py (+0/-2)
lib/lp/app/browser/tales.py (+0/-2)
lib/lp/app/browser/tests/test_views.py (+0/-2)
lib/lp/app/validators/__init__.py (+0/-2)
lib/lp/app/validators/attachment.py (+0/-2)
lib/lp/app/validators/cve.py (+0/-2)
lib/lp/app/validators/email.py (+0/-2)
lib/lp/app/validators/name.py (+0/-2)
lib/lp/app/validators/path.py (+0/-2)
lib/lp/app/validators/tests/test_path.py (+0/-2)
lib/lp/app/validators/tests/test_validation.py (+0/-2)
lib/lp/app/validators/url.py (+0/-2)
lib/lp/app/validators/username.py (+0/-2)
lib/lp/app/validators/validation.py (+0/-2)
lib/lp/app/validators/version.py (+0/-2)
lib/lp/app/widgets/tests/test_launchpadtarget.py (+0/-2)
lib/lp/archivepublisher/meta_data.py (+0/-2)
lib/lp/archivepublisher/run_parts.py (+0/-2)
lib/lp/archivepublisher/scripts/copy_signingkeys.py (+0/-2)
lib/lp/archivepublisher/scripts/sync_signingkeys.py (+0/-2)
lib/lp/archivepublisher/signing.py (+0/-2)
lib/lp/archivepublisher/static_translations.py (+0/-2)
lib/lp/archivepublisher/tests/__init__.py (+0/-2)
lib/lp/archivepublisher/tests/test_archivegpgsigningkey.py (+0/-2)
lib/lp/archivepublisher/tests/test_config.py (+0/-2)
lib/lp/archivepublisher/tests/test_copy_signingkeys.py (+0/-2)
lib/lp/archivepublisher/tests/test_customupload.py (+0/-2)
lib/lp/archivepublisher/tests/test_ddtp_tarball.py (+0/-2)
lib/lp/archivepublisher/tests/test_deathrow.py (+0/-2)
lib/lp/archivepublisher/tests/test_debian_installer.py (+0/-2)
lib/lp/archivepublisher/tests/test_debversion.py (+0/-2)
lib/lp/archivepublisher/tests/test_dist_upgrader.py (+0/-2)
lib/lp/archivepublisher/tests/test_dominator.py (+0/-2)
lib/lp/archivepublisher/tests/test_ftparchive.py (+0/-2)
lib/lp/archivepublisher/tests/test_generate_contents_files.py (+0/-2)
lib/lp/archivepublisher/tests/test_indices.py (+0/-2)
lib/lp/archivepublisher/tests/test_meta_data.py (+0/-2)
lib/lp/archivepublisher/tests/test_pool.py (+0/-2)
lib/lp/archivepublisher/tests/test_processaccepted.py (+0/-2)
lib/lp/archivepublisher/tests/test_processdeathrow.py (+0/-2)
lib/lp/archivepublisher/tests/test_publish_ftpmaster.py (+0/-2)
lib/lp/archivepublisher/tests/test_publishdistro.py (+0/-2)
lib/lp/archivepublisher/tests/test_publisher.py (+0/-2)
lib/lp/archivepublisher/tests/test_publisher_documentation.py (+0/-2)
lib/lp/archivepublisher/tests/test_publisherconfig.py (+0/-2)
lib/lp/archivepublisher/tests/test_repositoryindexfile.py (+0/-2)
lib/lp/archivepublisher/tests/test_rosetta_translations.py (+0/-2)
lib/lp/archivepublisher/tests/test_run_parts.py (+0/-2)
lib/lp/archivepublisher/tests/test_signing.py (+0/-2)
lib/lp/archivepublisher/tests/test_sync_signingkeys.py (+0/-2)
lib/lp/archiveuploader/charmrecipeupload.py (+0/-2)
lib/lp/archiveuploader/ocirecipeupload.py (+0/-2)
lib/lp/archiveuploader/tests/__init__.py (+0/-5)
lib/lp/archiveuploader/tests/test_buildduploads.py (+0/-2)
lib/lp/archiveuploader/tests/test_buildinfofile.py (+0/-2)
lib/lp/archiveuploader/tests/test_changesfile.py (+0/-2)
lib/lp/archiveuploader/tests/test_charmrecipeupload.py (+0/-2)
lib/lp/archiveuploader/tests/test_dscfile.py (+0/-2)
lib/lp/archiveuploader/tests/test_livefsupload.py (+0/-2)
lib/lp/archiveuploader/tests/test_nascentupload.py (+0/-2)
lib/lp/archiveuploader/tests/test_nascentupload_documentation.py (+0/-2)
lib/lp/archiveuploader/tests/test_nascentuploadfile.py (+0/-2)
lib/lp/archiveuploader/tests/test_ocirecipeupload.py (+0/-2)
lib/lp/archiveuploader/tests/test_ppauploadprocessor.py (+0/-2)
lib/lp/archiveuploader/tests/test_private_maintainers.py (+0/-2)
lib/lp/archiveuploader/tests/test_processupload.py (+0/-2)
lib/lp/archiveuploader/tests/test_recipeuploads.py (+0/-2)
lib/lp/archiveuploader/tests/test_snapupload.py (+0/-2)
lib/lp/archiveuploader/tests/test_sync_notification.py (+0/-2)
lib/lp/archiveuploader/tests/test_tagfiles.py (+0/-2)
lib/lp/archiveuploader/tests/test_uploadpolicy.py (+0/-2)
lib/lp/archiveuploader/tests/test_uploadprocessor.py (+0/-2)
lib/lp/archiveuploader/tests/test_utils.py (+0/-2)
lib/lp/blueprints/browser/tests/test_breadcrumbs.py (+0/-2)
lib/lp/blueprints/browser/tests/test_hasspecifications.py (+0/-2)
lib/lp/blueprints/browser/tests/test_menus.py (+0/-2)
lib/lp/blueprints/browser/tests/test_person_upcomingwork.py (+0/-2)
lib/lp/blueprints/browser/tests/test_specification.py (+0/-2)
lib/lp/blueprints/browser/tests/test_specificationdependency.py (+0/-2)
lib/lp/blueprints/browser/tests/test_specificationsubscription.py (+0/-2)
lib/lp/blueprints/browser/tests/test_specificationtarget.py (+0/-2)
lib/lp/blueprints/browser/tests/test_sprint.py (+0/-2)
lib/lp/blueprints/browser/tests/test_views.py (+0/-2)
lib/lp/blueprints/model/specificationbranch.py (+0/-2)
lib/lp/blueprints/model/tests/test_specification.py (+0/-2)
lib/lp/blueprints/model/tests/test_sprint.py (+0/-2)
lib/lp/blueprints/model/tests/test_subscription.py (+0/-2)
lib/lp/blueprints/tests/test_doc.py (+0/-2)
lib/lp/blueprints/tests/test_hasspecifications.py (+0/-2)
lib/lp/blueprints/tests/test_implements.py (+0/-2)
lib/lp/blueprints/tests/test_publisher.py (+0/-2)
lib/lp/blueprints/tests/test_specification.py (+0/-2)
lib/lp/blueprints/tests/test_specification_access_policy_triggers.py (+0/-2)
lib/lp/blueprints/tests/test_webservice.py (+0/-2)
lib/lp/blueprints/vocabularies/tests/test_specificationdependency.py (+0/-2)
lib/lp/bugs/browser/tests/test_bugtarget_filebug.py (+0/-2)
lib/lp/bugs/browser/tests/test_bugtask.py (+0/-2)
lib/lp/bugs/browser/tests/test_bugwatch_views.py (+0/-2)
lib/lp/bugs/browser/tests/test_cve.py (+0/-2)
lib/lp/bugs/externalbugtracker/tests/test_github.py (+0/-2)
lib/lp/bugs/externalbugtracker/tests/test_gitlab.py (+0/-2)
lib/lp/bugs/mail/bugnotificationrecipients.py (+0/-2)
lib/lp/bugs/mail/tests/test_commands.py (+0/-2)
lib/lp/bugs/model/bugbranch.py (+0/-2)
lib/lp/bugs/model/cve.py (+0/-2)
lib/lp/bugs/model/tests/test_bugtasksearch.py (+0/-2)
lib/lp/bugs/scripts/checkwatches/bugwatchupdater.py (+0/-2)
lib/lp/bugs/scripts/checkwatches/tests/test_bugwatchupdater.py (+0/-2)
lib/lp/bugs/scripts/cveimport.py (+0/-2)
lib/lp/bugs/scripts/debbugs.py (+0/-2)
lib/lp/bugs/scripts/tests/test_bugnotification.py (+0/-2)
lib/lp/bugs/scripts/tests/test_cveimport.py (+0/-2)
lib/lp/bugs/tests/bug.py (+0/-2)
lib/lp/bugs/tests/externalbugtracker.py (+0/-2)
lib/lp/bugs/tests/test_bug.py (+0/-2)
lib/lp/bugs/tests/test_bugchanges.py (+0/-2)
lib/lp/bugs/tests/test_buglinktarget.py (+0/-2)
lib/lp/bugs/tests/test_bugsubscription.py (+0/-2)
lib/lp/bugs/tests/test_bugtracker.py (+0/-2)
lib/lp/bugs/tests/test_bugtracker_vocabulary.py (+0/-2)
lib/lp/bugs/tests/test_cve.py (+0/-2)
lib/lp/bugs/utilities/tests/test_filebugdataparser.py (+0/-2)
lib/lp/buildmaster/browser/tests/test_builder.py (+0/-2)
lib/lp/buildmaster/browser/tests/test_builder_views.py (+0/-2)
lib/lp/buildmaster/browser/tests/test_processor.py (+0/-2)
lib/lp/buildmaster/builderproxy.py (+0/-2)
lib/lp/buildmaster/downloader.py (+0/-2)
lib/lp/buildmaster/tests/builderproxy.py (+0/-2)
lib/lp/buildmaster/tests/harness.py (+0/-2)
lib/lp/buildmaster/tests/mock_slaves.py (+0/-2)
lib/lp/buildmaster/tests/test_builder.py (+0/-2)
lib/lp/buildmaster/tests/test_buildfarmjob.py (+0/-2)
lib/lp/buildmaster/tests/test_buildfarmjobbehaviour.py (+0/-2)
lib/lp/buildmaster/tests/test_buildqueue.py (+0/-2)
lib/lp/buildmaster/tests/test_doc.py (+0/-2)
lib/lp/buildmaster/tests/test_interactor.py (+0/-2)
lib/lp/buildmaster/tests/test_manager.py (+0/-2)
lib/lp/buildmaster/tests/test_packagebuild.py (+0/-2)
lib/lp/buildmaster/tests/test_processor.py (+0/-2)
lib/lp/buildmaster/tests/test_queuedepth.py (+0/-2)
lib/lp/buildmaster/tests/test_webservice.py (+0/-2)
lib/lp/charms/adapters/buildarch.py (+0/-2)
lib/lp/charms/adapters/tests/test_buildarch.py (+0/-2)
lib/lp/charms/browser/charmrecipe.py (+0/-2)
lib/lp/charms/browser/charmrecipebuild.py (+0/-2)
lib/lp/charms/browser/charmrecipelisting.py (+0/-2)
lib/lp/charms/browser/hascharmrecipes.py (+0/-2)
lib/lp/charms/browser/tests/test_charmrecipe.py (+0/-2)
lib/lp/charms/browser/tests/test_charmrecipebuild.py (+0/-2)
lib/lp/charms/browser/tests/test_charmrecipelisting.py (+0/-2)
lib/lp/charms/browser/tests/test_hascharmrecipes.py (+0/-2)
lib/lp/charms/browser/widgets/charmrecipebuildchannels.py (+0/-2)
lib/lp/charms/browser/widgets/tests/test_charmrecipebuildchannelswidget.py (+0/-2)
lib/lp/charms/interfaces/charmrecipe.py (+0/-2)
lib/lp/charms/interfaces/charmrecipebuild.py (+0/-2)
lib/lp/charms/interfaces/charmrecipejob.py (+0/-2)
lib/lp/charms/mail/charmrecipebuild.py (+0/-2)
lib/lp/charms/model/charmrecipe.py (+0/-2)
lib/lp/charms/model/charmrecipebuild.py (+0/-2)
lib/lp/charms/model/charmrecipebuildbehaviour.py (+0/-2)
lib/lp/charms/model/charmrecipejob.py (+0/-2)
lib/lp/charms/tests/test_charmrecipe.py (+0/-2)
lib/lp/charms/tests/test_charmrecipebuild.py (+0/-2)
lib/lp/charms/tests/test_charmrecipebuildbehaviour.py (+0/-2)
lib/lp/charms/tests/test_charmrecipejob.py (+0/-2)
lib/lp/code/browser/tests/test_bazaar.py (+0/-2)
lib/lp/code/browser/tests/test_branch.py (+0/-2)
lib/lp/code/browser/tests/test_branchlisting.py (+0/-2)
lib/lp/code/browser/tests/test_branchmergeproposal.py (+0/-2)
lib/lp/code/browser/tests/test_branchmergeproposallisting.py (+0/-2)
lib/lp/code/browser/tests/test_branchsubscription.py (+0/-2)
lib/lp/code/browser/tests/test_branchtraversal.py (+0/-2)
lib/lp/code/browser/tests/test_breadcrumbs.py (+0/-2)
lib/lp/code/browser/tests/test_codeimport.py (+0/-2)
lib/lp/code/browser/tests/test_codereviewcomment.py (+0/-2)
lib/lp/code/browser/tests/test_codereviewvote.py (+0/-2)
lib/lp/code/browser/tests/test_diff.py (+0/-2)
lib/lp/code/browser/tests/test_gitlisting.py (+0/-2)
lib/lp/code/browser/tests/test_gitref.py (+0/-2)
lib/lp/code/browser/tests/test_gitrepository.py (+0/-2)
lib/lp/code/browser/tests/test_gitsubscription.py (+0/-2)
lib/lp/code/browser/tests/test_product.py (+0/-2)
lib/lp/code/browser/tests/test_revisionauthor.py (+0/-2)
lib/lp/code/browser/tests/test_sourcepackagerecipe.py (+0/-2)
lib/lp/code/browser/tests/test_sourcepackagerecipebuild.py (+0/-2)
lib/lp/code/browser/tests/test_sourcepackagerecipelisting.py (+0/-2)
lib/lp/code/browser/tests/test_tales.py (+0/-2)
lib/lp/code/browser/tests/test_vcslisting.py (+0/-2)
lib/lp/code/browser/widgets/gitgrantee.py (+0/-2)
lib/lp/code/browser/widgets/tests/test_gitgrantee.py (+0/-2)
lib/lp/code/browser/widgets/tests/test_gitrepositorytargetwidget.py (+0/-2)
lib/lp/code/interfaces/gitactivity.py (+0/-2)
lib/lp/code/interfaces/gitrule.py (+0/-2)
lib/lp/code/mail/patches.py (+0/-2)
lib/lp/code/mail/tests/test_codehandler.py (+0/-2)
lib/lp/code/mail/tests/test_codeimport.py (+0/-2)
lib/lp/code/mail/tests/test_codereviewcomment.py (+0/-2)
lib/lp/code/model/branchhosting.py (+0/-2)
lib/lp/code/model/branchsubscription.py (+0/-2)
lib/lp/code/model/codeimport.py (+0/-2)
lib/lp/code/model/codeimportevent.py (+0/-2)
lib/lp/code/model/codeimportjob.py (+0/-2)
lib/lp/code/model/codeimportmachine.py (+0/-2)
lib/lp/code/model/codeimportresult.py (+0/-2)
lib/lp/code/model/gitactivity.py (+0/-2)
lib/lp/code/model/gitrule.py (+0/-2)
lib/lp/code/model/sourcepackagerecipe.py (+0/-2)
lib/lp/code/model/tests/test_branch.py (+0/-2)
lib/lp/code/model/tests/test_branchcloud.py (+0/-2)
lib/lp/code/model/tests/test_branchcollection.py (+0/-2)
lib/lp/code/model/tests/test_branchhosting.py (+0/-2)
lib/lp/code/model/tests/test_branchjob.py (+0/-2)
lib/lp/code/model/tests/test_branchlistingqueryoptimiser.py (+0/-2)
lib/lp/code/model/tests/test_branchlookup.py (+0/-2)
lib/lp/code/model/tests/test_branchmergeproposal.py (+0/-2)
lib/lp/code/model/tests/test_branchmergeproposaljobs.py (+0/-2)
lib/lp/code/model/tests/test_branchnamespace.py (+0/-2)
lib/lp/code/model/tests/test_branchpuller.py (+0/-2)
lib/lp/code/model/tests/test_branchset.py (+0/-2)
lib/lp/code/model/tests/test_branchsubscription.py (+0/-2)
lib/lp/code/model/tests/test_branchtarget.py (+0/-2)
lib/lp/code/model/tests/test_branchvisibility.py (+0/-2)
lib/lp/code/model/tests/test_codeimport.py (+0/-2)
lib/lp/code/model/tests/test_codeimportjob.py (+0/-2)
lib/lp/code/model/tests/test_codeimportmachine.py (+0/-2)
lib/lp/code/model/tests/test_codeimportresult.py (+0/-2)
lib/lp/code/model/tests/test_codereviewcomment.py (+0/-2)
lib/lp/code/model/tests/test_codereviewinlinecomment.py (+0/-2)
lib/lp/code/model/tests/test_codereviewkarma.py (+0/-2)
lib/lp/code/model/tests/test_codereviewvote.py (+0/-2)
lib/lp/code/model/tests/test_diff.py (+0/-2)
lib/lp/code/model/tests/test_gitactivity.py (+0/-2)
lib/lp/code/model/tests/test_gitcollection.py (+0/-2)
lib/lp/code/model/tests/test_githosting.py (+0/-2)
lib/lp/code/model/tests/test_gitjob.py (+0/-2)
lib/lp/code/model/tests/test_gitlookup.py (+0/-2)
lib/lp/code/model/tests/test_gitnamespace.py (+0/-2)
lib/lp/code/model/tests/test_gitref.py (+0/-2)
lib/lp/code/model/tests/test_gitrepository.py (+0/-2)
lib/lp/code/model/tests/test_gitrule.py (+0/-2)
lib/lp/code/model/tests/test_gitsubscription.py (+0/-2)
lib/lp/code/model/tests/test_hasbranches.py (+0/-2)
lib/lp/code/model/tests/test_hasgitrepositories.py (+0/-2)
lib/lp/code/model/tests/test_hasmergeproposals.py (+0/-2)
lib/lp/code/model/tests/test_hasrecipes.py (+0/-2)
lib/lp/code/model/tests/test_linkedbranch.py (+0/-2)
lib/lp/code/model/tests/test_recipebuilder.py (+0/-2)
lib/lp/code/model/tests/test_revision.py (+0/-2)
lib/lp/code/model/tests/test_revisionauthor.py (+0/-2)
lib/lp/code/model/tests/test_revisioncache.py (+0/-2)
lib/lp/code/model/tests/test_seriessourcepackagebranch.py (+0/-2)
lib/lp/code/model/tests/test_sourcepackagerecipe.py (+0/-2)
lib/lp/code/model/tests/test_sourcepackagerecipebuild.py (+0/-2)
lib/lp/code/tests/branch_helper.py (+0/-2)
lib/lp/code/tests/codeimporthelpers.py (+0/-2)
lib/lp/code/tests/helpers.py (+0/-7)
lib/lp/code/tests/test_branch.py (+0/-2)
lib/lp/code/tests/test_branch_access_policy_triggers.py (+0/-2)
lib/lp/code/tests/test_branch_webservice.py (+0/-2)
lib/lp/code/tests/test_branchmergeproposal.py (+0/-2)
lib/lp/code/tests/test_branchurifield.py (+0/-2)
lib/lp/code/tests/test_bzr.py (+0/-2)
lib/lp/code/tests/test_directbranchcommit.py (+0/-2)
lib/lp/code/tests/test_doc.py (+0/-2)
lib/lp/code/tests/test_helpers.py (+0/-2)
lib/lp/code/tests/test_project.py (+0/-2)
lib/lp/code/tests/test_publisher.py (+0/-2)
lib/lp/code/tests/test_seriessourcepackagebranch.py (+0/-2)
lib/lp/code/tests/test_yuitests.py (+0/-2)
lib/lp/code/vocabularies/gitref.py (+0/-3)
lib/lp/code/vocabularies/gitrule.py (+0/-2)
lib/lp/code/vocabularies/tests/test_gitref_vocabularies.py (+0/-2)
lib/lp/code/vocabularies/tests/test_gitrule_vocabularies.py (+0/-2)
lib/lp/code/xmlrpc/tests/test_git.py (+0/-2)
lib/lp/codehosting/__init__.py (+0/-2)
lib/lp/codehosting/bzrutils.py (+0/-2)
lib/lp/codehosting/inmemory.py (+0/-2)
lib/lp/codehosting/puller/__init__.py (+0/-2)
lib/lp/codehosting/puller/scheduler.py (+0/-2)
lib/lp/codehosting/puller/tests/__init__.py (+0/-2)
lib/lp/codehosting/puller/tests/test_acceptance.py (+0/-2)
lib/lp/codehosting/puller/tests/test_errors.py (+0/-2)
lib/lp/codehosting/puller/tests/test_scheduler.py (+0/-2)
lib/lp/codehosting/puller/tests/test_worker.py (+0/-2)
lib/lp/codehosting/puller/tests/test_worker_formats.py (+0/-2)
lib/lp/codehosting/puller/worker.py (+0/-2)
lib/lp/codehosting/rewrite.py (+0/-2)
lib/lp/codehosting/scanner/buglinks.py (+0/-2)
lib/lp/codehosting/scanner/bzrsync.py (+0/-2)
lib/lp/codehosting/scanner/email.py (+0/-2)
lib/lp/codehosting/scanner/events.py (+0/-2)
lib/lp/codehosting/scanner/mergedetection.py (+0/-2)
lib/lp/codehosting/scanner/tests/test_buglinks.py (+0/-2)
lib/lp/codehosting/scanner/tests/test_bzrsync.py (+0/-2)
lib/lp/codehosting/scanner/tests/test_email.py (+0/-2)
lib/lp/codehosting/scanner/tests/test_mergedetection.py (+0/-2)
lib/lp/codehosting/scripts/modifiedbranches.py (+0/-2)
lib/lp/codehosting/scripts/sync_branches.py (+0/-2)
lib/lp/codehosting/scripts/tests/test_modifiedbranches.py (+0/-2)
lib/lp/codehosting/scripts/tests/test_sync_branches.py (+0/-2)
lib/lp/codehosting/scripts/tests/test_upgrade_all_branches.py (+0/-2)
lib/lp/codehosting/sftp.py (+0/-2)
lib/lp/codehosting/sshserver/daemon.py (+0/-2)
lib/lp/codehosting/sshserver/session.py (+0/-2)
lib/lp/codehosting/sshserver/tests/test_daemon.py (+0/-2)
lib/lp/codehosting/sshserver/tests/test_session.py (+0/-2)
lib/lp/codehosting/tests/helpers.py (+0/-2)
lib/lp/codehosting/tests/servers.py (+0/-2)
lib/lp/codehosting/tests/test_acceptance.py (+0/-2)
lib/lp/codehosting/tests/test_breezy.py (+0/-2)
lib/lp/codehosting/tests/test_bzrutils.py (+0/-2)
lib/lp/codehosting/tests/test_format_comparison.py (+0/-2)
lib/lp/codehosting/tests/test_lpserve.py (+0/-2)
lib/lp/codehosting/tests/test_rewrite.py (+0/-2)
lib/lp/codehosting/tests/test_sftp.py (+0/-2)
lib/lp/codehosting/tests/test_upgrade.py (+0/-2)
lib/lp/codehosting/upgrade.py (+0/-2)
lib/lp/codehosting/vfs/__init__.py (+0/-2)
lib/lp/codehosting/vfs/branchfs.py (+0/-2)
lib/lp/codehosting/vfs/branchfsclient.py (+0/-2)
lib/lp/codehosting/vfs/hooks.py (+0/-2)
lib/lp/codehosting/vfs/tests/test_branchfs.py (+0/-2)
lib/lp/codehosting/vfs/tests/test_branchfsclient.py (+0/-2)
lib/lp/codehosting/vfs/tests/test_filesystem.py (+0/-2)
lib/lp/codehosting/vfs/tests/test_hooks.py (+0/-2)
lib/lp/codehosting/vfs/tests/test_transport.py (+0/-2)
lib/lp/codehosting/vfs/tests/test_transport_extensions.py (+0/-2)
lib/lp/codehosting/vfs/transport.py (+0/-2)
lib/lp/oci/browser/hasocirecipes.py (+0/-2)
lib/lp/oci/browser/ocirecipe.py (+0/-2)
lib/lp/oci/browser/ocirecipebuild.py (+0/-2)
lib/lp/oci/browser/ocirecipesubscription.py (+0/-2)
lib/lp/oci/browser/tests/test_ocirecipe.py (+0/-2)
lib/lp/oci/browser/tests/test_ocirecipebuild.py (+0/-2)
lib/lp/oci/browser/tests/test_ocirecipesubscription.py (+0/-2)
lib/lp/oci/interfaces/ocipushrule.py (+0/-2)
lib/lp/oci/interfaces/ocirecipe.py (+0/-2)
lib/lp/oci/interfaces/ocirecipebuild.py (+0/-2)
lib/lp/oci/interfaces/ocirecipebuildjob.py (+0/-2)
lib/lp/oci/interfaces/ocirecipejob.py (+0/-2)
lib/lp/oci/interfaces/ocirecipesubscription.py (+0/-2)
lib/lp/oci/interfaces/ociregistryclient.py (+0/-2)
lib/lp/oci/interfaces/ociregistrycredentials.py (+0/-2)
lib/lp/oci/model/ocipushrule.py (+0/-2)
lib/lp/oci/model/ocirecipe.py (+0/-2)
lib/lp/oci/model/ocirecipebuild.py (+0/-2)
lib/lp/oci/model/ocirecipebuildbehaviour.py (+0/-2)
lib/lp/oci/model/ocirecipebuildjob.py (+0/-2)
lib/lp/oci/model/ocirecipejob.py (+0/-1)
lib/lp/oci/model/ocirecipesubscription.py (+0/-2)
lib/lp/oci/model/ociregistryclient.py (+0/-2)
lib/lp/oci/model/ociregistrycredentials.py (+0/-2)
lib/lp/oci/subscribers/ocirecipebuild.py (+0/-2)
lib/lp/oci/tests/helpers.py (+0/-2)
lib/lp/oci/tests/test_ocipushrule.py (+0/-2)
lib/lp/oci/tests/test_ocirecipe.py (+0/-2)
lib/lp/oci/tests/test_ocirecipebuild.py (+0/-2)
lib/lp/oci/tests/test_ocirecipebuildbehaviour.py (+0/-2)
lib/lp/oci/tests/test_ocirecipebuildjob.py (+0/-2)
lib/lp/oci/tests/test_ocirecipejob.py (+0/-2)
lib/lp/oci/tests/test_ociregistryclient.py (+0/-2)
lib/lp/oci/tests/test_ociregistrycredentials.py (+0/-2)
lib/lp/oci/vocabularies.py (+0/-2)
lib/lp/registry/browser/distribution.py (+0/-2)
lib/lp/registry/browser/ociproject.py (+0/-2)
lib/lp/registry/browser/personociproject.py (+0/-2)
lib/lp/registry/browser/tests/test_announcements.py (+0/-2)
lib/lp/registry/browser/tests/test_breadcrumbs.py (+0/-2)
lib/lp/registry/browser/tests/test_codeofconduct.py (+0/-2)
lib/lp/registry/browser/tests/test_distribution.py (+0/-2)
lib/lp/registry/browser/tests/test_ociproject.py (+0/-2)
lib/lp/registry/browser/tests/test_person.py (+0/-2)
lib/lp/registry/browser/tests/test_poll.py (+0/-2)
lib/lp/registry/browser/tests/test_team.py (+0/-2)
lib/lp/registry/browser/widgets/ocicredentialswidget.py (+0/-2)
lib/lp/registry/browser/widgets/tests/test_ocicredentialswidget.py (+0/-2)
lib/lp/registry/interfaces/ociproject.py (+0/-2)
lib/lp/registry/interfaces/ociprojectname.py (+0/-2)
lib/lp/registry/interfaces/ociprojectseries.py (+0/-2)
lib/lp/registry/interfaces/personociproject.py (+0/-2)
lib/lp/registry/model/ociproject.py (+0/-2)
lib/lp/registry/model/ociprojectname.py (+0/-2)
lib/lp/registry/model/ociprojectseries.py (+0/-2)
lib/lp/registry/model/personnotification.py (+0/-2)
lib/lp/registry/model/personociproject.py (+0/-2)
lib/lp/registry/model/poll.py (+0/-2)
lib/lp/registry/scripts/productreleasefinder/path.py (+0/-2)
lib/lp/registry/scripts/tests/test_closeaccount.py (+0/-2)
lib/lp/registry/tests/test_codeofconduct.py (+0/-2)
lib/lp/registry/tests/test_mailinglist.py (+0/-2)
lib/lp/registry/tests/test_mailinglistapi.py (+0/-2)
lib/lp/registry/tests/test_mlists.py (+0/-2)
lib/lp/registry/tests/test_ociproject.py (+0/-2)
lib/lp/registry/tests/test_ociprojectname.py (+0/-2)
lib/lp/registry/tests/test_ociprojectseries.py (+0/-2)
lib/lp/registry/tests/test_personociproject.py (+0/-2)
lib/lp/registry/tests/test_poll.py (+0/-2)
lib/lp/registry/tests/test_team_webservice.py (+0/-2)
lib/lp/scripts/garbo.py (+0/-2)
lib/lp/scripts/harness.py (+0/-2)
lib/lp/scripts/helpers.py (+0/-2)
lib/lp/scripts/runlaunchpad.py (+0/-2)
lib/lp/scripts/scriptmonitor.py (+0/-2)
lib/lp/scripts/tests/test_garbo.py (+0/-2)
lib/lp/scripts/tests/test_helpers.py (+0/-2)
lib/lp/scripts/tests/test_runlaunchpad.py (+0/-2)
lib/lp/scripts/tests/test_scriptmonitor.py (+0/-2)
lib/lp/scripts/tests/test_sphinxdocs.py (+0/-2)
lib/lp/scripts/utilities/importpedant.py (+0/-2)
lib/lp/scripts/utilities/js/jsbuild.py (+0/-2)
lib/lp/scripts/utilities/js/watchjsbuild.py (+0/-2)
lib/lp/scripts/utilities/killservice.py (+0/-2)
lib/lp/scripts/utilities/killtestservices.py (+0/-2)
lib/lp/scripts/utilities/settingsauditor.py (+0/-2)
lib/lp/scripts/utilities/spriteutil.py (+0/-2)
lib/lp/scripts/utilities/test.py (+0/-2)
lib/lp/scripts/utilities/tests/test_audit_security_settings.py (+0/-2)
lib/lp/scripts/utilities/tests/test_shhh.py (+0/-2)
lib/lp/scripts/utilities/tests/test_versioninfo.py (+0/-2)
lib/lp/scripts/utilities/versioninfo.py (+0/-2)
lib/lp/scripts/utilities/warninghandler.py (+0/-2)
lib/lp/scripts/utilities/withxvfb.py (+0/-2)
lib/lp/services/authserver/testing.py (+0/-2)
lib/lp/services/beautifulsoup.py (+0/-2)
lib/lp/services/compat.py (+0/-2)
lib/lp/services/config/__init__.py (+0/-2)
lib/lp/services/crypto/interfaces.py (+0/-2)
lib/lp/services/crypto/model.py (+0/-2)
lib/lp/services/crypto/scripts/generatekeypair.py (+0/-2)
lib/lp/services/crypto/scripts/tests/test_generatekeypair.py (+0/-2)
lib/lp/services/crypto/tests/test_model.py (+0/-2)
lib/lp/services/database/debug.py (+0/-2)
lib/lp/services/database/postgresql.py (+0/-2)
lib/lp/services/database/sort_sql.py (+0/-2)
lib/lp/services/database/sqlbase.py (+0/-2)
lib/lp/services/database/tests/script_isolation.py (+0/-2)
lib/lp/services/database/tests/test_indexes.py (+0/-2)
lib/lp/services/database/tests/test_stormbase.py (+0/-2)
lib/lp/services/feeds/tests/helper.py (+0/-2)
lib/lp/services/inlinehelp/browser.py (+0/-2)
lib/lp/services/inlinehelp/tests/test_doc.py (+0/-2)
lib/lp/services/inlinehelp/zcml.py (+0/-2)
lib/lp/services/job/celeryconfig.py (+0/-2)
lib/lp/services/librarian/tests/test_smoketest.py (+0/-2)
lib/lp/services/librarianserver/apachelogparser.py (+0/-2)
lib/lp/services/librarianserver/db.py (+0/-2)
lib/lp/services/librarianserver/librariangc.py (+0/-2)
lib/lp/services/librarianserver/libraryprotocol.py (+0/-2)
lib/lp/services/librarianserver/storage.py (+0/-2)
lib/lp/services/librarianserver/swift.py (+0/-2)
lib/lp/services/librarianserver/testing/fake.py (+0/-2)
lib/lp/services/librarianserver/testing/server.py (+0/-2)
lib/lp/services/librarianserver/testing/tests/test_fakelibrarian.py (+0/-2)
lib/lp/services/librarianserver/testing/tests/test_server_fixture.py (+0/-2)
lib/lp/services/librarianserver/tests/test_apachelogparser.py (+0/-2)
lib/lp/services/librarianserver/tests/test_db.py (+0/-2)
lib/lp/services/librarianserver/tests/test_db_outage.py (+0/-2)
lib/lp/services/librarianserver/tests/test_doc.py (+0/-2)
lib/lp/services/librarianserver/tests/test_gc.py (+0/-2)
lib/lp/services/librarianserver/tests/test_sigdumpmem.py (+0/-2)
lib/lp/services/librarianserver/tests/test_storage.py (+0/-2)
lib/lp/services/librarianserver/tests/test_storage_db.py (+0/-2)
lib/lp/services/librarianserver/tests/test_swift.py (+0/-2)
lib/lp/services/librarianserver/tests/test_web.py (+0/-2)
lib/lp/services/librarianserver/web.py (+0/-2)
lib/lp/services/log/logger.py (+0/-2)
lib/lp/services/macaroons/interfaces.py (+0/-2)
lib/lp/services/macaroons/model.py (+0/-2)
lib/lp/services/macaroons/testing.py (+0/-2)
lib/lp/services/mail/mbox.py (+0/-2)
lib/lp/services/mail/notification.py (+0/-2)
lib/lp/services/mail/tests/test_stub.py (+0/-2)
lib/lp/services/memoizer.py (+0/-2)
lib/lp/services/messages/interfaces/messagerevision.py (+0/-2)
lib/lp/services/messages/model/messagerevision.py (+0/-2)
lib/lp/services/openid/extensions/tests/test_macaroon.py (+0/-2)
lib/lp/services/openid/fetcher.py (+0/-2)
lib/lp/services/profile/mem.py (+0/-2)
lib/lp/services/rabbit/server.py (+0/-2)
lib/lp/services/rabbit/tests/test_server.py (+0/-2)
lib/lp/services/scripts/doc/scripts-and-zcml.txt (+0/-2)
lib/lp/services/scripts/tests/loglevels.py (+0/-2)
lib/lp/services/signing/proxy.py (+0/-2)
lib/lp/services/signing/testing/fakesigning.py (+0/-2)
lib/lp/services/signing/testing/fakesigning.tac (+0/-2)
lib/lp/services/signing/testing/fixture.py (+0/-2)
lib/lp/services/signing/tests/helpers.py (+0/-2)
lib/lp/services/sitesearch/bingtestservice.py (+0/-2)
lib/lp/services/sitesearch/tests/test_bing.py (+0/-2)
lib/lp/services/sitesearch/tests/test_testservices.py (+0/-2)
lib/lp/services/spriteutils.py (+0/-2)
lib/lp/services/statsd/interfaces/statsd_client.py (+0/-2)
lib/lp/services/statsd/model/statsd_client.py (+0/-2)
lib/lp/services/statsd/numbercruncher.py (+0/-2)
lib/lp/services/statsd/tests/__init__.py (+0/-2)
lib/lp/services/statsd/tests/test_numbercruncher.py (+0/-2)
lib/lp/services/statsd/tests/test_statsd_client.py (+0/-2)
lib/lp/services/testing/profiled.py (+0/-2)
lib/lp/services/tests/test_encoding.py (+1/-9)
lib/lp/services/tests/test_helpers.py (+0/-2)
lib/lp/services/tests/test_memoizer.py (+0/-2)
lib/lp/services/twistedsupport/plugincache.py (+0/-2)
lib/lp/services/twistedsupport/testing.py (+0/-2)
lib/lp/services/twistedsupport/treq.py (+0/-2)
lib/lp/services/webapp/login.py (+0/-2)
lib/lp/services/webapp/notifications.py (+0/-2)
lib/lp/services/webapp/opstats.py (+0/-2)
lib/lp/services/webapp/servers.py (+0/-2)
lib/lp/services/webapp/sorting.py (+0/-2)
lib/lp/services/webapp/status.py (+0/-2)
lib/lp/services/webapp/tests/test_notifications.py (+0/-5)
lib/lp/services/webapp/tests/test_snapshot.py (+0/-2)
lib/lp/services/webapp/tests/test_status.py (+0/-2)
lib/lp/services/webapp/wsgi.py (+0/-2)
lib/lp/services/webhooks/testing.py (+0/-2)
lib/lp/services/webservice/tests/test_wadllib.py (+1/-9)
lib/lp/services/worlddata/browser/country.py (+0/-2)
lib/lp/services/worlddata/helpers.py (+0/-2)
lib/lp/services/worlddata/interfaces/country.py (+0/-2)
lib/lp/services/worlddata/interfaces/language.py (+0/-2)
lib/lp/services/worlddata/interfaces/spokenin.py (+0/-2)
lib/lp/services/worlddata/interfaces/timezone.py (+0/-2)
lib/lp/services/worlddata/interfaces/webservice.py (+0/-2)
lib/lp/services/worlddata/model/country.py (+0/-2)
lib/lp/services/worlddata/model/language.py (+0/-2)
lib/lp/services/worlddata/model/spokenin.py (+0/-2)
lib/lp/services/worlddata/tests/test_doc.py (+0/-2)
lib/lp/services/worlddata/tests/test_helpers.py (+0/-2)
lib/lp/services/worlddata/tests/test_language.py (+0/-2)
lib/lp/services/worlddata/vocabularies.py (+0/-2)
lib/lp/services/xref/__init__.py (+0/-2)
lib/lp/services/xref/interfaces.py (+0/-2)
lib/lp/services/xref/model.py (+0/-2)
lib/lp/services/xref/tests/__init__.py (+0/-2)
lib/lp/services/xref/tests/test_model.py (+0/-2)
lib/lp/snappy/adapters/buildarch.py (+0/-2)
lib/lp/snappy/adapters/tests/test_buildarch.py (+0/-2)
lib/lp/snappy/browser/hassnaps.py (+0/-2)
lib/lp/snappy/browser/snap.py (+0/-2)
lib/lp/snappy/browser/snapbase.py (+0/-2)
lib/lp/snappy/browser/snapbuild.py (+0/-2)
lib/lp/snappy/browser/snaplisting.py (+0/-2)
lib/lp/snappy/browser/snappyseries.py (+0/-2)
lib/lp/snappy/browser/snapsubscription.py (+0/-2)
lib/lp/snappy/browser/tests/test_hassnaps.py (+0/-2)
lib/lp/snappy/browser/tests/test_snap.py (+0/-2)
lib/lp/snappy/browser/tests/test_snapbuild.py (+0/-2)
lib/lp/snappy/browser/tests/test_snaplisting.py (+0/-2)
lib/lp/snappy/browser/tests/test_snapsubscription.py (+0/-2)
lib/lp/snappy/browser/widgets/snaparchive.py (+0/-2)
lib/lp/snappy/browser/widgets/snapbuildchannels.py (+0/-2)
lib/lp/snappy/browser/widgets/storechannels.py (+0/-2)
lib/lp/snappy/browser/widgets/tests/test_snaparchivewidget.py (+0/-2)
lib/lp/snappy/browser/widgets/tests/test_snapbuildchannelswidget.py (+0/-2)
lib/lp/snappy/browser/widgets/tests/test_storechannelswidget.py (+0/-2)
lib/lp/snappy/interfaces/snap.py (+0/-2)
lib/lp/snappy/interfaces/snapbase.py (+0/-2)
lib/lp/snappy/interfaces/snapbuild.py (+0/-2)
lib/lp/snappy/interfaces/snapbuildjob.py (+0/-2)
lib/lp/snappy/interfaces/snapjob.py (+0/-2)
lib/lp/snappy/interfaces/snappyseries.py (+0/-2)
lib/lp/snappy/interfaces/snapstoreclient.py (+0/-2)
lib/lp/snappy/interfaces/snapsubscription.py (+0/-2)
lib/lp/snappy/interfaces/webservice.py (+0/-2)
lib/lp/snappy/mail/snapbuild.py (+0/-2)
lib/lp/snappy/model/snap.py (+0/-2)
lib/lp/snappy/model/snapbase.py (+0/-2)
lib/lp/snappy/model/snapbuild.py (+0/-2)
lib/lp/snappy/model/snapbuildbehaviour.py (+0/-2)
lib/lp/snappy/model/snapbuildjob.py (+0/-2)
lib/lp/snappy/model/snapjob.py (+0/-2)
lib/lp/snappy/model/snappyseries.py (+0/-2)
lib/lp/snappy/model/snapstoreclient.py (+0/-2)
lib/lp/snappy/model/snapsubscription.py (+0/-2)
lib/lp/snappy/subscribers/snapbuild.py (+0/-2)
lib/lp/snappy/tests/test_snap.py (+0/-2)
lib/lp/snappy/tests/test_snapbase.py (+0/-2)
lib/lp/snappy/tests/test_snapbuild.py (+0/-2)
lib/lp/snappy/tests/test_snapbuildbehaviour.py (+0/-2)
lib/lp/snappy/tests/test_snapbuildjob.py (+0/-2)
lib/lp/snappy/tests/test_snapjob.py (+0/-2)
lib/lp/snappy/tests/test_snappyseries.py (+0/-2)
lib/lp/snappy/tests/test_snapstoreclient.py (+0/-2)
lib/lp/snappy/tests/test_yuitests.py (+0/-2)
lib/lp/snappy/validators/channels.py (+0/-2)
lib/lp/snappy/validators/tests/test_channels.py (+0/-2)
lib/lp/snappy/vocabularies.py (+0/-3)
lib/lp/soyuz/adapters/proxiedsourcefiles.py (+0/-2)
lib/lp/soyuz/adapters/tests/test_archivedependencies.py (+0/-2)
lib/lp/soyuz/browser/tests/test_archive.py (+0/-2)
lib/lp/soyuz/browser/tests/test_archive_admin_view.py (+0/-2)
lib/lp/soyuz/browser/tests/test_archive_packages.py (+0/-2)
lib/lp/soyuz/browser/tests/test_archive_webservice.py (+0/-2)
lib/lp/soyuz/browser/tests/test_archivesubscription.py (+0/-2)
lib/lp/soyuz/browser/tests/test_breadcrumbs.py (+0/-2)
lib/lp/soyuz/browser/tests/test_build_views.py (+0/-2)
lib/lp/soyuz/browser/tests/test_distributionsourcepackagerelease.py (+0/-2)
lib/lp/soyuz/browser/tests/test_distroarchseries_view.py (+0/-2)
lib/lp/soyuz/browser/tests/test_distroarchseries_webservice.py (+0/-2)
lib/lp/soyuz/browser/tests/test_distrosourcepackagerelease.py (+0/-2)
lib/lp/soyuz/browser/tests/test_livefs.py (+0/-2)
lib/lp/soyuz/browser/tests/test_livefsbuild.py (+0/-2)
lib/lp/soyuz/browser/tests/test_package_copying_mixin.py (+0/-2)
lib/lp/soyuz/browser/tests/test_personal_archive_subscription.py (+0/-2)
lib/lp/soyuz/browser/tests/test_publishing.py (+0/-2)
lib/lp/soyuz/browser/tests/test_publishing_webservice.py (+0/-2)
lib/lp/soyuz/browser/tests/test_queue.py (+0/-2)
lib/lp/soyuz/browser/tests/test_sourcepackagerelease.py (+0/-2)
lib/lp/soyuz/browser/tests/test_sourceslistentries.py (+0/-2)
lib/lp/soyuz/browser/tests/test_views.py (+0/-2)
lib/lp/soyuz/interfaces/archiveapi.py (+0/-2)
lib/lp/soyuz/interfaces/archivefile.py (+0/-2)
lib/lp/soyuz/interfaces/binarysourcereference.py (+0/-2)
lib/lp/soyuz/interfaces/distroarchseriesfilter.py (+0/-2)
lib/lp/soyuz/model/archivefile.py (+0/-2)
lib/lp/soyuz/model/binarysourcereference.py (+0/-2)
lib/lp/soyuz/model/distroarchseriesfilter.py (+0/-2)
lib/lp/soyuz/scripts/expire_archive_files.py (+0/-2)
lib/lp/soyuz/subscribers/livefsbuild.py (+0/-2)
lib/lp/soyuz/tests/fakepackager.py (+0/-2)
lib/lp/soyuz/tests/soyuz.py (+0/-2)
lib/lp/soyuz/tests/test_archive.py (+0/-2)
lib/lp/soyuz/tests/test_archive_agent.py (+0/-2)
lib/lp/soyuz/tests/test_archive_privacy.py (+0/-2)
lib/lp/soyuz/tests/test_archive_subscriptions.py (+0/-2)
lib/lp/soyuz/tests/test_archivefile.py (+0/-2)
lib/lp/soyuz/tests/test_archivejob.py (+0/-2)
lib/lp/soyuz/tests/test_binaryandsourcepackagename.py (+0/-2)
lib/lp/soyuz/tests/test_binarypackagebuild.py (+0/-2)
lib/lp/soyuz/tests/test_binarypackagebuildbehaviour.py (+0/-2)
lib/lp/soyuz/tests/test_binarypackagename.py (+0/-2)
lib/lp/soyuz/tests/test_binarypackagerelease.py (+0/-2)
lib/lp/soyuz/tests/test_binarysourcereference.py (+0/-2)
lib/lp/soyuz/tests/test_build.py (+0/-2)
lib/lp/soyuz/tests/test_build_depwait.py (+0/-2)
lib/lp/soyuz/tests/test_build_notify.py (+0/-2)
lib/lp/soyuz/tests/test_build_privacy.py (+0/-2)
lib/lp/soyuz/tests/test_build_set.py (+0/-2)
lib/lp/soyuz/tests/test_build_start_estimation.py (+0/-2)
lib/lp/soyuz/tests/test_distributionsourcepackagerelease.py (+0/-2)
lib/lp/soyuz/tests/test_distroarchseriesfilter.py (+0/-2)
lib/lp/soyuz/tests/test_distroseriesbinarypackage.py (+0/-2)
lib/lp/soyuz/tests/test_distroseriesdifferencejob.py (+0/-2)
lib/lp/soyuz/tests/test_distroseriesqueue_ddtp_tarball.py (+0/-2)
lib/lp/soyuz/tests/test_distroseriesqueue_debian_installer.py (+0/-2)
lib/lp/soyuz/tests/test_distroseriesqueue_dist_upgrader.py (+0/-2)
lib/lp/soyuz/tests/test_distroseriesqueue_rosetta_translations.py (+0/-2)
lib/lp/soyuz/tests/test_doc.py (+0/-2)
lib/lp/soyuz/tests/test_hasbuildrecords.py (+0/-2)
lib/lp/soyuz/tests/test_initializedistroseriesjob.py (+0/-2)
lib/lp/soyuz/tests/test_livefs.py (+0/-2)
lib/lp/soyuz/tests/test_livefsbuild.py (+0/-2)
lib/lp/soyuz/tests/test_livefsbuildbehaviour.py (+0/-2)
lib/lp/soyuz/tests/test_packagecloner.py (+0/-2)
lib/lp/soyuz/tests/test_packagecopyjob.py (+0/-2)
lib/lp/soyuz/tests/test_packagediff.py (+0/-2)
lib/lp/soyuz/tests/test_packagediffjob.py (+0/-2)
lib/lp/soyuz/tests/test_packageset.py (+0/-2)
lib/lp/soyuz/tests/test_packagetranslationsuploadjob.py (+0/-2)
lib/lp/soyuz/tests/test_packageupload.py (+0/-2)
lib/lp/soyuz/tests/test_person_createppa.py (+0/-2)
lib/lp/soyuz/tests/test_processacceptedbugsjob.py (+0/-2)
lib/lp/soyuz/tests/test_publishing.py (+0/-2)
lib/lp/soyuz/tests/test_publishing_models.py (+0/-2)
lib/lp/soyuz/tests/test_sourcepackagerelease.py (+0/-2)
lib/lp/soyuz/tests/test_vocabularies.py (+0/-2)
lib/lp/soyuz/tests/test_yuitests.py (+0/-2)
lib/lp/soyuz/wsgi/archiveauth.py (+0/-2)
lib/lp/soyuz/wsgi/tests/test_archiveauth.py (+0/-2)
lib/lp/soyuz/xmlrpc/archive.py (+0/-2)
lib/lp/soyuz/xmlrpc/tests/test_archive.py (+0/-2)
lib/lp/startwsgi.py (+0/-2)
lib/lp/testing/__init__.py (+0/-3)
lib/lp/testing/browser.py (+0/-5)
lib/lp/testing/dbuser.py (+0/-2)
lib/lp/testing/faketransaction.py (+0/-2)
lib/lp/testing/karma.py (+0/-2)
lib/lp/testing/keyserver/inprocess.py (+0/-2)
lib/lp/testing/keyserver/tests/test_inprocess.py (+0/-2)
lib/lp/testing/layers.py (+0/-2)
lib/lp/testing/mail_helpers.py (+0/-2)
lib/lp/testing/menu.py (+0/-2)
lib/lp/testing/pages.py (+0/-2)
lib/lp/testing/publication.py (+0/-2)
lib/lp/testing/sampledata.py (+0/-2)
lib/lp/testing/systemdocs.py (+0/-2)
lib/lp/testing/tests/test_layers_functional.py (+0/-2)
lib/lp/testing/tests/test_standard_test_template.py (+0/-2)
lib/lp/testing/tests/test_standard_yuixhr_test_template.py (+0/-2)
lib/lp/testing/utilities/retest.py (+0/-2)
lib/lp/testing/yuixhr.py (+0/-2)
lib/lp/testopenid/testing/helpers.py (+0/-2)
lib/lp/translations/browser/hastranslationimports.py (+0/-2)
lib/lp/translations/browser/tests/test_translationimportqueueentry.py (+0/-2)
lib/lp/translations/browser/tests/test_translationmessage_view.py (+0/-2)
lib/lp/translations/browser/widgets/potemplate.py (+0/-2)
lib/lp/translations/browser/widgets/tests/test_potemplate.py (+0/-2)
lib/lp/translations/browser/widgets/tests/test_translationimportqueue.py (+0/-2)
lib/lp/translations/browser/widgets/translationimportqueue.py (+0/-2)
lib/lp/translations/model/translationimportqueue.py (+0/-7)
lib/lp/translations/scripts/tests/test_remove_translations.py (+0/-2)
lib/lp/translations/scripts/tests/test_translations_approval.py (+0/-2)
lib/lp/translations/scripts/tests/test_translations_import.py (+0/-2)
lib/lp/translations/tests/test_autoapproval.py (+0/-2)
lib/lp/translations/tests/test_shared_potemplate.py (+0/-2)
lib/lp/translations/tests/test_suggestions.py (+0/-2)
lib/lp/translations/tests/test_translatedlanguage.py (+0/-2)
lib/lp/translations/tests/test_translationbranchapprover.py (+0/-2)
lib/lp/translations/tests/test_translationbuildapprover.py (+0/-2)
lib/lp/translations/tests/test_translationimportqueue.py (+0/-2)
lib/lp/translations/tests/test_translationmerger.py (+0/-2)
lib/lp/translations/tests/test_translationmessage.py (+0/-2)
lib/lp/translations/tests/test_translations_to_review.py (+0/-2)
lib/lp/translations/utilities/gettext_po_importer.py (+0/-2)
lib/lp/translations/utilities/tests/test_gettext_po_exporter.py (+0/-2)
lib/lp/translations/utilities/tests/test_gettext_po_importer.py (+0/-2)
lib/lp/translations/utilities/tests/test_kde_po_importer.py (+0/-2)
lib/lp/translations/utilities/tests/test_translation_importer.py (+0/-2)
lib/lp/translations/utilities/tests/test_xpi_po_exporter.py (+0/-2)
scripts/branch-rewrite.py (+0/-2)
scripts/get-stacked-on-branches.py (+0/-2)
scripts/librarian-report.py (+0/-2)
scripts/memcached-stats.py (+0/-2)
scripts/migrate-librarian-content-md5.py (+0/-2)
scripts/rosetta/pottery-generate-intltool.py (+0/-2)
scripts/script-monitor-nagios.py (+0/-2)
scripts/start-loggerhead.py (+0/-2)
scripts/stop-loggerhead.py (+0/-2)
scripts/update-version-info.sh (+0/-2)
scripts/wsgi-archive-auth.py (+0/-2)
setup.py (+0/-2)
standard_template.py (+0/-2)
test_on_merge.py (+0/-2)
utilities/audit-security-settings.py (+0/-2)
utilities/create-lp-wadl-and-apidoc.py (+0/-2)
utilities/format-imports (+0/-2)
utilities/get-branch-info (+0/-2)
utilities/link-system-packages.py (+0/-2)
utilities/list-pages (+0/-2)
utilities/lsconf.py (+0/-2)
utilities/make-dev-certificate (+0/-2)
utilities/make-dummy-hosted-branches (+0/-2)
utilities/make-lp-user (+0/-2)
utilities/make-requirements.py (+0/-2)
utilities/paste (+0/-2)
utilities/pgcreate.py (+0/-2)
utilities/pgkillactive.py (+0/-2)
utilities/pgkillidle.py (+0/-2)
utilities/pglogwatch.py (+0/-2)
utilities/pgmassacre.py (+0/-2)
utilities/pgstats.py (+0/-2)
utilities/report-database-stats.py (+0/-2)
utilities/run-as (+0/-2)
utilities/shhh.py (+0/-1)
utilities/soyuz-sampledata-setup.py (+0/-2)
utilities/update-copyright (+0/-2)
Reviewer Review Type Date Requested Status
Cristian Gonzalez (community) Approve
Review via email: mp+406551@code.launchpad.net

Commit message

Remove __future__ imports

Description of the change

With this commit, Launchpad stops working on Python 2.

To post a comment you must log in.
Revision history for this message
Cristian Gonzalez (cristiangsp) wrote :

By future, hi present!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/database/replication/helpers.py b/database/replication/helpers.py
index 8f8adf6..80c33c9 100644
--- a/database/replication/helpers.py
+++ b/database/replication/helpers.py
@@ -3,8 +3,6 @@
33
4"""Common helpers for replication scripts."""4"""Common helpers for replication scripts."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = []7__all__ = []
108
diff --git a/database/replication/preamble.py b/database/replication/preamble.py
index 249b0a4..095386f 100755
--- a/database/replication/preamble.py
+++ b/database/replication/preamble.py
@@ -6,8 +6,6 @@
6"""Generate a preamble for slonik(1) scripts based on the current LPCONFIG.6"""Generate a preamble for slonik(1) scripts based on the current LPCONFIG.
7"""7"""
88
9from __future__ import absolute_import, print_function
10
11__metaclass__ = type9__metaclass__ = type
12__all__ = []10__all__ = []
1311
diff --git a/database/replication/walblock.py b/database/replication/walblock.py
index 8e0327a..0e2b5a9 100755
--- a/database/replication/walblock.py
+++ b/database/replication/walblock.py
@@ -5,8 +5,6 @@
55
6"""Feed stdin to stdout, blocking if there are too many unshipped WAL files."""6"""Feed stdin to stdout, blocking if there are too many unshipped WAL files."""
77
8from __future__ import absolute_import, print_function
9
10__metaclass__ = type8__metaclass__ = type
11__all__ = []9__all__ = []
1210
diff --git a/database/schema/emptytables.py b/database/schema/emptytables.py
index 3605910..83366b6 100755
--- a/database/schema/emptytables.py
+++ b/database/schema/emptytables.py
@@ -5,8 +5,6 @@
55
6"""List empty database tables."""6"""List empty database tables."""
77
8from __future__ import absolute_import, print_function
9
10__metaclass__ = type8__metaclass__ = type
119
12import _pythonpath # noqa: F40110import _pythonpath # noqa: F401
diff --git a/database/schema/fti.py b/database/schema/fti.py
index 1835249..6e9c66c 100755
--- a/database/schema/fti.py
+++ b/database/schema/fti.py
@@ -8,8 +8,6 @@
8Add full text indexes to the launchpad database8Add full text indexes to the launchpad database
9"""9"""
1010
11from __future__ import absolute_import, print_function
12
13__metaclass__ = type11__metaclass__ = type
1412
15import _pythonpath # noqa: F40113import _pythonpath # noqa: F401
diff --git a/database/schema/online_fti_updater.py b/database/schema/online_fti_updater.py
index effbdb0..9e0c8f8 100755
--- a/database/schema/online_fti_updater.py
+++ b/database/schema/online_fti_updater.py
@@ -8,8 +8,6 @@ Rebuild the full text indexes in a more friendly fashion, enabling this to
8be done without downtime.8be done without downtime.
9"""9"""
1010
11from __future__ import absolute_import, print_function
12
13__metaclass__ = type11__metaclass__ = type
1412
15import _pythonpath # noqa: F40113import _pythonpath # noqa: F401
diff --git a/lib/contrib/glock.py b/lib/contrib/glock.py
index 2925be1..de39d12 100644
--- a/lib/contrib/glock.py
+++ b/lib/contrib/glock.py
@@ -21,8 +21,6 @@ Unix.
21@see: class L{GlobalLock} for more details.21@see: class L{GlobalLock} for more details.
22'''22'''
2323
24from __future__ import absolute_import, print_function
25
26__version__ = '0.2.' + '$Revision: #5 $'[12:-2]24__version__ = '0.2.' + '$Revision: #5 $'[12:-2]
27__author__ = 'Richard Gruet', 'rjgruet@yahoo.com'25__author__ = 'Richard Gruet', 'rjgruet@yahoo.com'
28__date__ = '$Date: 2005/06/19 $'[7:-2], '$Author: rgruet $'[9:-2]26__date__ = '$Date: 2005/06/19 $'[7:-2], '$Author: rgruet $'[9:-2]
diff --git a/lib/launchpad_loggerhead/revision.py b/lib/launchpad_loggerhead/revision.py
index 81c1937..094b470 100644
--- a/lib/launchpad_loggerhead/revision.py
+++ b/lib/launchpad_loggerhead/revision.py
@@ -3,8 +3,6 @@
33
4"""WSGI Middleware to add Launchpad revision headers to loggerhead."""4"""WSGI Middleware to add Launchpad revision headers to loggerhead."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = ['RevisionHeaderHandler']7__all__ = ['RevisionHeaderHandler']
108
diff --git a/lib/launchpad_loggerhead/testing.py b/lib/launchpad_loggerhead/testing.py
index 2266fab..3254107 100644
--- a/lib/launchpad_loggerhead/testing.py
+++ b/lib/launchpad_loggerhead/testing.py
@@ -1,8 +1,6 @@
1# Copyright 2018 Canonical Ltd. This software is licensed under the1# Copyright 2018 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
7__all__ = [5__all__ = [
8 'LoggerheadFixture',6 'LoggerheadFixture',
diff --git a/lib/launchpad_loggerhead/wsgi.py b/lib/launchpad_loggerhead/wsgi.py
index d10c7eb..5d1463b 100644
--- a/lib/launchpad_loggerhead/wsgi.py
+++ b/lib/launchpad_loggerhead/wsgi.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2018 Canonical Ltd. This software is licensed under the1# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
7__all__ = [5__all__ = [
8 'LoggerheadApplication',6 'LoggerheadApplication',
diff --git a/lib/lp/answers/browser/tests/test_breadcrumbs.py b/lib/lp/answers/browser/tests/test_breadcrumbs.py
index 9bf76da..675fe2d 100644
--- a/lib/lp/answers/browser/tests/test_breadcrumbs.py
+++ b/lib/lp/answers/browser/tests/test_breadcrumbs.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2010 Canonical Ltd. This software is licensed under the1# Copyright 2009-2010 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from lp.services.webapp.publisher import canonical_url6from lp.services.webapp.publisher import canonical_url
diff --git a/lib/lp/answers/browser/tests/test_menus.py b/lib/lp/answers/browser/tests/test_menus.py
index 0bfc9db..ff4a4d6 100644
--- a/lib/lp/answers/browser/tests/test_menus.py
+++ b/lib/lp/answers/browser/tests/test_menus.py
@@ -1,8 +1,6 @@
1# Copyright 2009 Canonical Ltd. This software is licensed under the1# Copyright 2009 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from zope.component import getUtility6from zope.component import getUtility
diff --git a/lib/lp/answers/browser/tests/test_question.py b/lib/lp/answers/browser/tests/test_question.py
index 59da09f..5f2209a 100644
--- a/lib/lp/answers/browser/tests/test_question.py
+++ b/lib/lp/answers/browser/tests/test_question.py
@@ -3,8 +3,6 @@
33
4"""Tests for the question module."""4"""Tests for the question module."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10__all__ = []8__all__ = []
diff --git a/lib/lp/answers/browser/tests/test_questionmessages.py b/lib/lp/answers/browser/tests/test_questionmessages.py
index cc1b472..0e49240 100644
--- a/lib/lp/answers/browser/tests/test_questionmessages.py
+++ b/lib/lp/answers/browser/tests/test_questionmessages.py
@@ -3,8 +3,6 @@
33
4"""Tests for the various rules around question comment visibility."""4"""Tests for the various rules around question comment visibility."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from zope.component import getUtility8from zope.component import getUtility
diff --git a/lib/lp/answers/browser/tests/test_questionsubscription_views.py b/lib/lp/answers/browser/tests/test_questionsubscription_views.py
index 0bea4d0..aa738e5 100644
--- a/lib/lp/answers/browser/tests/test_questionsubscription_views.py
+++ b/lib/lp/answers/browser/tests/test_questionsubscription_views.py
@@ -3,8 +3,6 @@
33
4"""Tests for QuestionSubscription views."""4"""Tests for QuestionSubscription views."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import json8import json
diff --git a/lib/lp/answers/browser/tests/test_questiontarget.py b/lib/lp/answers/browser/tests/test_questiontarget.py
index 241a1a8..a1b29e8 100644
--- a/lib/lp/answers/browser/tests/test_questiontarget.py
+++ b/lib/lp/answers/browser/tests/test_questiontarget.py
@@ -3,8 +3,6 @@
33
4"""Test questiontarget views."""4"""Test questiontarget views."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import json8import json
diff --git a/lib/lp/answers/browser/tests/test_views.py b/lib/lp/answers/browser/tests/test_views.py
index 1008af7..c7affee 100644
--- a/lib/lp/answers/browser/tests/test_views.py
+++ b/lib/lp/answers/browser/tests/test_views.py
@@ -3,8 +3,6 @@
33
4"""Test harness for Answer Tracker related unit tests."""4"""Test harness for Answer Tracker related unit tests."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10__all__ = []8__all__ = []
diff --git a/lib/lp/answers/model/questionsubscription.py b/lib/lp/answers/model/questionsubscription.py
index 60b40d2..8442f8d 100644
--- a/lib/lp/answers/model/questionsubscription.py
+++ b/lib/lp/answers/model/questionsubscription.py
@@ -3,8 +3,6 @@
33
4"""StormBase implementation of IQuestionSubscription."""4"""StormBase implementation of IQuestionSubscription."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10__all__ = ['QuestionSubscription']8__all__ = ['QuestionSubscription']
diff --git a/lib/lp/answers/model/tests/test_question.py b/lib/lp/answers/model/tests/test_question.py
index 28a19da..28e980f 100644
--- a/lib/lp/answers/model/tests/test_question.py
+++ b/lib/lp/answers/model/tests/test_question.py
@@ -1,8 +1,6 @@
1# Copyright 2011 Canonical Ltd. This software is licensed under the1# Copyright 2011 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from datetime import (6from datetime import (
diff --git a/lib/lp/answers/model/tests/test_questionsubscription.py b/lib/lp/answers/model/tests/test_questionsubscription.py
index 27a8a7d..1275905 100644
--- a/lib/lp/answers/model/tests/test_questionsubscription.py
+++ b/lib/lp/answers/model/tests/test_questionsubscription.py
@@ -3,8 +3,6 @@
33
4"""Tests for the QuestionSubscrption model object.."""4"""Tests for the QuestionSubscrption model object.."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from zope.component import getUtility8from zope.component import getUtility
diff --git a/lib/lp/answers/testing.py b/lib/lp/answers/testing.py
index 2a76ad6..f6360b3 100644
--- a/lib/lp/answers/testing.py
+++ b/lib/lp/answers/testing.py
@@ -3,8 +3,6 @@
33
4"""Helper functions for Answer Tracker tests."""4"""Helper functions for Answer Tracker tests."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'QuestionFactory',8 'QuestionFactory',
diff --git a/lib/lp/answers/tests/test_doc.py b/lib/lp/answers/tests/test_doc.py
index 5c4ef5a..5f7083d 100644
--- a/lib/lp/answers/tests/test_doc.py
+++ b/lib/lp/answers/tests/test_doc.py
@@ -5,8 +5,6 @@
5Run the doctests and pagetests.5Run the doctests and pagetests.
6"""6"""
77
8from __future__ import absolute_import, print_function, unicode_literals
9
10import os8import os
11import unittest9import unittest
1210
diff --git a/lib/lp/answers/tests/test_faq.py b/lib/lp/answers/tests/test_faq.py
index 138f3ca..20eea11 100644
--- a/lib/lp/answers/tests/test_faq.py
+++ b/lib/lp/answers/tests/test_faq.py
@@ -3,8 +3,6 @@
33
4"""Tests for IFAQ"""4"""Tests for IFAQ"""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import transaction8import transaction
diff --git a/lib/lp/answers/tests/test_faq_webservice.py b/lib/lp/answers/tests/test_faq_webservice.py
index 33ad24b..969af27 100644
--- a/lib/lp/answers/tests/test_faq_webservice.py
+++ b/lib/lp/answers/tests/test_faq_webservice.py
@@ -1,8 +1,6 @@
1# Copyright 2015-2018 Canonical Ltd. This software is licensed under the1# Copyright 2015-2018 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from testtools.matchers import (6from testtools.matchers import (
diff --git a/lib/lp/answers/tests/test_faqtarget.py b/lib/lp/answers/tests/test_faqtarget.py
index a469530..9d52303 100644
--- a/lib/lp/answers/tests/test_faqtarget.py
+++ b/lib/lp/answers/tests/test_faqtarget.py
@@ -3,8 +3,6 @@
33
4"""Tests for IFAQTarget"""4"""Tests for IFAQTarget"""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from zope.component import getUtility8from zope.component import getUtility
diff --git a/lib/lp/answers/tests/test_publisher.py b/lib/lp/answers/tests/test_publisher.py
index d68263e..8acc360 100644
--- a/lib/lp/answers/tests/test_publisher.py
+++ b/lib/lp/answers/tests/test_publisher.py
@@ -3,8 +3,6 @@
33
4"""Tests for answers's custom publications."""4"""Tests for answers's custom publications."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import io8import io
diff --git a/lib/lp/answers/tests/test_question.py b/lib/lp/answers/tests/test_question.py
index 1cc62bf..d81870f 100644
--- a/lib/lp/answers/tests/test_question.py
+++ b/lib/lp/answers/tests/test_question.py
@@ -1,8 +1,6 @@
1# Copyright 2013-2017 Canonical Ltd. This software is licensed under the1# Copyright 2013-2017 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from testtools.testcase import ExpectedException6from testtools.testcase import ExpectedException
diff --git a/lib/lp/answers/tests/test_question_notifications.py b/lib/lp/answers/tests/test_question_notifications.py
index 1ac77ee..200d39a 100644
--- a/lib/lp/answers/tests/test_question_notifications.py
+++ b/lib/lp/answers/tests/test_question_notifications.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for the Answer Tracker Mail Notifications."""4"""Unit tests for the Answer Tracker Mail Notifications."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10__all__ = [8__all__ = [
diff --git a/lib/lp/answers/tests/test_question_webservice.py b/lib/lp/answers/tests/test_question_webservice.py
index 4c1333d..b4d0662 100644
--- a/lib/lp/answers/tests/test_question_webservice.py
+++ b/lib/lp/answers/tests/test_question_webservice.py
@@ -3,8 +3,6 @@
33
4"""Webservice unit tests related to Launchpad Questions."""4"""Webservice unit tests related to Launchpad Questions."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/answers/tests/test_question_workflow.py b/lib/lp/answers/tests/test_question_workflow.py
index 66fa81b..d458f68 100644
--- a/lib/lp/answers/tests/test_question_workflow.py
+++ b/lib/lp/answers/tests/test_question_workflow.py
@@ -9,8 +9,6 @@ but testing all the possible transitions makes the documentation more heavy
9than necessary. This is tested here.9than necessary. This is tested here.
10"""10"""
1111
12from __future__ import absolute_import, print_function, unicode_literals
13
14__metaclass__ = type12__metaclass__ = type
1513
16__all__ = []14__all__ = []
diff --git a/lib/lp/answers/tests/test_questionjob.py b/lib/lp/answers/tests/test_questionjob.py
index aa21aad..f1ebac6 100644
--- a/lib/lp/answers/tests/test_questionjob.py
+++ b/lib/lp/answers/tests/test_questionjob.py
@@ -3,8 +3,6 @@
33
4"""Tests for QuestionJobs classes."""4"""Tests for QuestionJobs classes."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from testtools.content import text_content8from testtools.content import text_content
diff --git a/lib/lp/answers/tests/test_questiontarget.py b/lib/lp/answers/tests/test_questiontarget.py
index d2ea79f..89c2c9b 100644
--- a/lib/lp/answers/tests/test_questiontarget.py
+++ b/lib/lp/answers/tests/test_questiontarget.py
@@ -3,8 +3,6 @@
33
4"""Tests related to IQuestionTarget."""4"""Tests related to IQuestionTarget."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10__all__ = []8__all__ = []
diff --git a/lib/lp/answers/tests/test_vocabulary.py b/lib/lp/answers/tests/test_vocabulary.py
index 6841e8d..84d3c6f 100644
--- a/lib/lp/answers/tests/test_vocabulary.py
+++ b/lib/lp/answers/tests/test_vocabulary.py
@@ -3,8 +3,6 @@
33
4"""Test the answers domain vocabularies."""4"""Test the answers domain vocabularies."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.answers.vocabulary import (8from lp.answers.vocabulary import (
diff --git a/lib/lp/app/browser/stringformatter.py b/lib/lp/app/browser/stringformatter.py
index 8fa5a2b..d77cf50 100644
--- a/lib/lp/app/browser/stringformatter.py
+++ b/lib/lp/app/browser/stringformatter.py
@@ -3,8 +3,6 @@
33
4"""TALES formatter for strings."""4"""TALES formatter for strings."""
55
6from __future__ import division
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'add_word_breaks',8 'add_word_breaks',
diff --git a/lib/lp/app/browser/tales.py b/lib/lp/app/browser/tales.py
index 1bf84aa..37c55de 100644
--- a/lib/lp/app/browser/tales.py
+++ b/lib/lp/app/browser/tales.py
@@ -3,8 +3,6 @@
33
4"""Implementation of the lp: htmlform: fmt: namespaces in TALES."""4"""Implementation of the lp: htmlform: fmt: namespaces in TALES."""
55
6from __future__ import division
7
8__metaclass__ = type6__metaclass__ = type
97
10from bisect import bisect8from bisect import bisect
diff --git a/lib/lp/app/browser/tests/test_views.py b/lib/lp/app/browser/tests/test_views.py
index d0d8967..c3e8615 100644
--- a/lib/lp/app/browser/tests/test_views.py
+++ b/lib/lp/app/browser/tests/test_views.py
@@ -3,8 +3,6 @@
33
4"""Run the view tests."""4"""Run the view tests."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import logging8import logging
diff --git a/lib/lp/app/validators/__init__.py b/lib/lp/app/validators/__init__.py
index 99b112b..70d9ab7 100644
--- a/lib/lp/app/validators/__init__.py
+++ b/lib/lp/app/validators/__init__.py
@@ -9,8 +9,6 @@ PostgreSQL as stored procedures.
9See README.txt for discussion9See README.txt for discussion
10"""10"""
1111
12from __future__ import absolute_import, print_function
13
14__metaclass__ = type12__metaclass__ = type
1513
16from zope.formlib.exception import (14from zope.formlib.exception import (
diff --git a/lib/lp/app/validators/attachment.py b/lib/lp/app/validators/attachment.py
index 0056c53..a998673 100644
--- a/lib/lp/app/validators/attachment.py
+++ b/lib/lp/app/validators/attachment.py
@@ -3,8 +3,6 @@
33
4"""Validators for attachments."""4"""Validators for attachments."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = ['attachment_size_constraint']7__all__ = ['attachment_size_constraint']
108
diff --git a/lib/lp/app/validators/cve.py b/lib/lp/app/validators/cve.py
index 0a0407b..93c4f35 100644
--- a/lib/lp/app/validators/cve.py
+++ b/lib/lp/app/validators/cve.py
@@ -1,8 +1,6 @@
1# Copyright 2009 Canonical Ltd. This software is licensed under the1# Copyright 2009 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function
5
6__metaclass__ = type4__metaclass__ = type
75
8import re6import re
diff --git a/lib/lp/app/validators/email.py b/lib/lp/app/validators/email.py
index 04d02dc..04599f8 100644
--- a/lib/lp/app/validators/email.py
+++ b/lib/lp/app/validators/email.py
@@ -3,8 +3,6 @@
33
4"""EmailAdress validator"""4"""EmailAdress validator"""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10import re8import re
diff --git a/lib/lp/app/validators/name.py b/lib/lp/app/validators/name.py
index e0b16b2..5b2575f 100644
--- a/lib/lp/app/validators/name.py
+++ b/lib/lp/app/validators/name.py
@@ -3,8 +3,6 @@
33
4"""Validators for the .name attribute (defined in various schemas.)"""4"""Validators for the .name attribute (defined in various schemas.)"""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10import re8import re
diff --git a/lib/lp/app/validators/path.py b/lib/lp/app/validators/path.py
index 13e0b06..92fc3c6 100644
--- a/lib/lp/app/validators/path.py
+++ b/lib/lp/app/validators/path.py
@@ -3,8 +3,6 @@
33
4"""Validators for paths and path functions."""4"""Validators for paths and path functions."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'path_does_not_escape'8 'path_does_not_escape'
diff --git a/lib/lp/app/validators/tests/test_path.py b/lib/lp/app/validators/tests/test_path.py
index 24501a8..af03fde 100644
--- a/lib/lp/app/validators/tests/test_path.py
+++ b/lib/lp/app/validators/tests/test_path.py
@@ -3,8 +3,6 @@
33
4"""Tests for path validators."""4"""Tests for path validators."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.app.validators import LaunchpadValidationError8from lp.app.validators import LaunchpadValidationError
diff --git a/lib/lp/app/validators/tests/test_validation.py b/lib/lp/app/validators/tests/test_validation.py
index 3cd87d9..83736e8 100644
--- a/lib/lp/app/validators/tests/test_validation.py
+++ b/lib/lp/app/validators/tests/test_validation.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for field validators"""4"""Unit tests for field validators"""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.app.validators.validation import validate_oci_branch_name8from lp.app.validators.validation import validate_oci_branch_name
diff --git a/lib/lp/app/validators/url.py b/lib/lp/app/validators/url.py
index bf4d998..8df0a18 100644
--- a/lib/lp/app/validators/url.py
+++ b/lib/lp/app/validators/url.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2011 Canonical Ltd. This software is licensed under the1# Copyright 2009-2011 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function
5
6__metaclass__ = type4__metaclass__ = type
75
8__all__ = [6__all__ = [
diff --git a/lib/lp/app/validators/username.py b/lib/lp/app/validators/username.py
index 40d69da..acfe874 100644
--- a/lib/lp/app/validators/username.py
+++ b/lib/lp/app/validators/username.py
@@ -3,8 +3,6 @@
33
4"""Validators for the clean-username (`Person.name`) attribute."""4"""Validators for the clean-username (`Person.name`) attribute."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10import re8import re
diff --git a/lib/lp/app/validators/validation.py b/lib/lp/app/validators/validation.py
index 7ff8ad4..1ddbf6c 100644
--- a/lib/lp/app/validators/validation.py
+++ b/lib/lp/app/validators/validation.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2011 Canonical Ltd. This software is licensed under the1# Copyright 2009-2011 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function
5
6__metaclass__ = type4__metaclass__ = type
75
8__all__ = [6__all__ = [
diff --git a/lib/lp/app/validators/version.py b/lib/lp/app/validators/version.py
index 3f7d163..170b869 100644
--- a/lib/lp/app/validators/version.py
+++ b/lib/lp/app/validators/version.py
@@ -1,8 +1,6 @@
1# Copyright 2009 Canonical Ltd. This software is licensed under the1# Copyright 2009 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function
5
6__metaclass__ = type4__metaclass__ = type
75
86
diff --git a/lib/lp/app/widgets/tests/test_launchpadtarget.py b/lib/lp/app/widgets/tests/test_launchpadtarget.py
index 13030cd..dca46dc 100644
--- a/lib/lp/app/widgets/tests/test_launchpadtarget.py
+++ b/lib/lp/app/widgets/tests/test_launchpadtarget.py
@@ -1,8 +1,6 @@
1# Copyright 2011-2020 Canonical Ltd. This software is licensed under the1# Copyright 2011-2020 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8import re6import re
diff --git a/lib/lp/archivepublisher/meta_data.py b/lib/lp/archivepublisher/meta_data.py
index 7cee6cd..f18b984 100644
--- a/lib/lp/archivepublisher/meta_data.py
+++ b/lib/lp/archivepublisher/meta_data.py
@@ -3,8 +3,6 @@
33
4"""Processing of archive meta-data uploads."""4"""Processing of archive meta-data uploads."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 "MetaDataUpload",8 "MetaDataUpload",
diff --git a/lib/lp/archivepublisher/run_parts.py b/lib/lp/archivepublisher/run_parts.py
index db37847..21b5569 100644
--- a/lib/lp/archivepublisher/run_parts.py
+++ b/lib/lp/archivepublisher/run_parts.py
@@ -3,8 +3,6 @@
33
4"""Publisher support for running programs from a plug-in directory."""4"""Publisher support for running programs from a plug-in directory."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'execute_subprocess',8 'execute_subprocess',
diff --git a/lib/lp/archivepublisher/scripts/copy_signingkeys.py b/lib/lp/archivepublisher/scripts/copy_signingkeys.py
index 322b7d9..2c079e1 100644
--- a/lib/lp/archivepublisher/scripts/copy_signingkeys.py
+++ b/lib/lp/archivepublisher/scripts/copy_signingkeys.py
@@ -3,8 +3,6 @@
33
4"""Script to copy signing keys between archives."""4"""Script to copy signing keys between archives."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10__all__ = [8__all__ = [
diff --git a/lib/lp/archivepublisher/scripts/sync_signingkeys.py b/lib/lp/archivepublisher/scripts/sync_signingkeys.py
index a56978e..68a22d9 100644
--- a/lib/lp/archivepublisher/scripts/sync_signingkeys.py
+++ b/lib/lp/archivepublisher/scripts/sync_signingkeys.py
@@ -3,8 +3,6 @@
33
4"""Script to inject archive keys into signing service."""4"""Script to inject archive keys into signing service."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
108
diff --git a/lib/lp/archivepublisher/signing.py b/lib/lp/archivepublisher/signing.py
index 296e626..ec61b95 100644
--- a/lib/lp/archivepublisher/signing.py
+++ b/lib/lp/archivepublisher/signing.py
@@ -9,8 +9,6 @@ This cannot be done on the build daemons because they are insufficiently
9secure to hold signing keys, so we sign them as a custom upload instead.9secure to hold signing keys, so we sign them as a custom upload instead.
10"""10"""
1111
12from __future__ import print_function
13
14__metaclass__ = type12__metaclass__ = type
1513
16__all__ = [14__all__ = [
diff --git a/lib/lp/archivepublisher/static_translations.py b/lib/lp/archivepublisher/static_translations.py
index e5c18ea..ea2d159 100644
--- a/lib/lp/archivepublisher/static_translations.py
+++ b/lib/lp/archivepublisher/static_translations.py
@@ -3,8 +3,6 @@
33
4"""Processing of static translations uploads."""4"""Processing of static translations uploads."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 "StaticTranslationsUpload",8 "StaticTranslationsUpload",
diff --git a/lib/lp/archivepublisher/tests/__init__.py b/lib/lp/archivepublisher/tests/__init__.py
index c370e6e..9d65b15 100644
--- a/lib/lp/archivepublisher/tests/__init__.py
+++ b/lib/lp/archivepublisher/tests/__init__.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2018 Canonical Ltd. This software is licensed under the1# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6import os4import os
75
86
diff --git a/lib/lp/archivepublisher/tests/test_archivegpgsigningkey.py b/lib/lp/archivepublisher/tests/test_archivegpgsigningkey.py
index e9e7ded..f32c124 100644
--- a/lib/lp/archivepublisher/tests/test_archivegpgsigningkey.py
+++ b/lib/lp/archivepublisher/tests/test_archivegpgsigningkey.py
@@ -3,8 +3,6 @@
33
4"""Test ArchiveGPGSigningKey."""4"""Test ArchiveGPGSigningKey."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import os8import os
diff --git a/lib/lp/archivepublisher/tests/test_config.py b/lib/lp/archivepublisher/tests/test_config.py
index 55ebba9..9c11b66 100644
--- a/lib/lp/archivepublisher/tests/test_config.py
+++ b/lib/lp/archivepublisher/tests/test_config.py
@@ -6,8 +6,6 @@
6Publisher configuration provides archive-dependent filesystem paths.6Publisher configuration provides archive-dependent filesystem paths.
7"""7"""
88
9from __future__ import absolute_import, print_function, unicode_literals
10
11__metaclass__ = type9__metaclass__ = type
1210
13import os11import os
diff --git a/lib/lp/archivepublisher/tests/test_copy_signingkeys.py b/lib/lp/archivepublisher/tests/test_copy_signingkeys.py
index d4d943f..d164fba 100644
--- a/lib/lp/archivepublisher/tests/test_copy_signingkeys.py
+++ b/lib/lp/archivepublisher/tests/test_copy_signingkeys.py
@@ -3,8 +3,6 @@
33
4"""Test cases for copying signing keys between archives."""4"""Test cases for copying signing keys between archives."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from testtools.content import text_content8from testtools.content import text_content
diff --git a/lib/lp/archivepublisher/tests/test_customupload.py b/lib/lp/archivepublisher/tests/test_customupload.py
index b93111f..2a2f0d3 100644
--- a/lib/lp/archivepublisher/tests/test_customupload.py
+++ b/lib/lp/archivepublisher/tests/test_customupload.py
@@ -3,8 +3,6 @@
33
4"""Tests for `CustomUploads`."""4"""Tests for `CustomUploads`."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
108
diff --git a/lib/lp/archivepublisher/tests/test_ddtp_tarball.py b/lib/lp/archivepublisher/tests/test_ddtp_tarball.py
index 9c210b2..e90e59b 100644
--- a/lib/lp/archivepublisher/tests/test_ddtp_tarball.py
+++ b/lib/lp/archivepublisher/tests/test_ddtp_tarball.py
@@ -7,8 +7,6 @@ See also lp.soyuz.tests.test_distroseriesqueue_ddtp_tarball for high-level
7tests of ddtp-tarball upload and queue manipulation.7tests of ddtp-tarball upload and queue manipulation.
8"""8"""
99
10from __future__ import absolute_import, print_function, unicode_literals
11
12import os10import os
1311
14import six12import six
diff --git a/lib/lp/archivepublisher/tests/test_deathrow.py b/lib/lp/archivepublisher/tests/test_deathrow.py
index 2d9ca02..ea8427c 100644
--- a/lib/lp/archivepublisher/tests/test_deathrow.py
+++ b/lib/lp/archivepublisher/tests/test_deathrow.py
@@ -3,8 +3,6 @@
33
4"""Tests for deathrow class."""4"""Tests for deathrow class."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
108
diff --git a/lib/lp/archivepublisher/tests/test_debian_installer.py b/lib/lp/archivepublisher/tests/test_debian_installer.py
index 3eecee3..6ddf57a 100644
--- a/lib/lp/archivepublisher/tests/test_debian_installer.py
+++ b/lib/lp/archivepublisher/tests/test_debian_installer.py
@@ -7,8 +7,6 @@ See also lp.soyuz.tests.test_distroseriesqueue_debian_installer for
7high-level tests of debian-installer upload and queue manipulation.7high-level tests of debian-installer upload and queue manipulation.
8"""8"""
99
10from __future__ import absolute_import, print_function, unicode_literals
11
12import os10import os
13from textwrap import dedent11from textwrap import dedent
1412
diff --git a/lib/lp/archivepublisher/tests/test_debversion.py b/lib/lp/archivepublisher/tests/test_debversion.py
index 3b96c77..304aa40 100644
--- a/lib/lp/archivepublisher/tests/test_debversion.py
+++ b/lib/lp/archivepublisher/tests/test_debversion.py
@@ -3,8 +3,6 @@
33
4"""Tests for debversion."""4"""Tests for debversion."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10# These tests came from sourcerer.8# These tests came from sourcerer.
diff --git a/lib/lp/archivepublisher/tests/test_dist_upgrader.py b/lib/lp/archivepublisher/tests/test_dist_upgrader.py
index 60e69d0..6f0bfbe 100644
--- a/lib/lp/archivepublisher/tests/test_dist_upgrader.py
+++ b/lib/lp/archivepublisher/tests/test_dist_upgrader.py
@@ -7,8 +7,6 @@ See also lp.soyuz.tests.test_distroseriesqueue_dist_upgrader for high-level
7tests of dist-upgrader upload and queue manipulation.7tests of dist-upgrader upload and queue manipulation.
8"""8"""
99
10from __future__ import absolute_import, print_function, unicode_literals
11
12import os10import os
13from textwrap import dedent11from textwrap import dedent
1412
diff --git a/lib/lp/archivepublisher/tests/test_dominator.py b/lib/lp/archivepublisher/tests/test_dominator.py
index c19f8b9..d76e542 100755
--- a/lib/lp/archivepublisher/tests/test_dominator.py
+++ b/lib/lp/archivepublisher/tests/test_dominator.py
@@ -3,8 +3,6 @@
33
4"""Tests for domination.py."""4"""Tests for domination.py."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import datetime8import datetime
diff --git a/lib/lp/archivepublisher/tests/test_ftparchive.py b/lib/lp/archivepublisher/tests/test_ftparchive.py
index 94b68fc..6a8fe26 100755
--- a/lib/lp/archivepublisher/tests/test_ftparchive.py
+++ b/lib/lp/archivepublisher/tests/test_ftparchive.py
@@ -3,8 +3,6 @@
33
4"""Tests for ftparchive.py"""4"""Tests for ftparchive.py"""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import difflib8import difflib
diff --git a/lib/lp/archivepublisher/tests/test_generate_contents_files.py b/lib/lp/archivepublisher/tests/test_generate_contents_files.py
index a0d6967..a71f60c 100644
--- a/lib/lp/archivepublisher/tests/test_generate_contents_files.py
+++ b/lib/lp/archivepublisher/tests/test_generate_contents_files.py
@@ -3,8 +3,6 @@
33
4"""Test for the `generate-contents-files` script."""4"""Test for the `generate-contents-files` script."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import hashlib8import hashlib
diff --git a/lib/lp/archivepublisher/tests/test_indices.py b/lib/lp/archivepublisher/tests/test_indices.py
index 3a39e58..52a0d75 100644
--- a/lib/lp/archivepublisher/tests/test_indices.py
+++ b/lib/lp/archivepublisher/tests/test_indices.py
@@ -3,8 +3,6 @@
33
4"""Test native archive index generation for Soyuz."""4"""Test native archive index generation for Soyuz."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8import os6import os
9import tempfile7import tempfile
10import unittest8import unittest
diff --git a/lib/lp/archivepublisher/tests/test_meta_data.py b/lib/lp/archivepublisher/tests/test_meta_data.py
index f79286b..1f09337 100644
--- a/lib/lp/archivepublisher/tests/test_meta_data.py
+++ b/lib/lp/archivepublisher/tests/test_meta_data.py
@@ -3,8 +3,6 @@
33
4"""Test meta-data custom uploads."""4"""Test meta-data custom uploads."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import os8import os
diff --git a/lib/lp/archivepublisher/tests/test_pool.py b/lib/lp/archivepublisher/tests/test_pool.py
index e56ef02..3c43ad6 100644
--- a/lib/lp/archivepublisher/tests/test_pool.py
+++ b/lib/lp/archivepublisher/tests/test_pool.py
@@ -3,8 +3,6 @@
33
4"""Tests for pool.py."""4"""Tests for pool.py."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import hashlib8import hashlib
diff --git a/lib/lp/archivepublisher/tests/test_processaccepted.py b/lib/lp/archivepublisher/tests/test_processaccepted.py
index f945212..565d82b 100644
--- a/lib/lp/archivepublisher/tests/test_processaccepted.py
+++ b/lib/lp/archivepublisher/tests/test_processaccepted.py
@@ -3,8 +3,6 @@
33
4"""Test process-accepted.py"""4"""Test process-accepted.py"""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8from optparse import OptionValueError6from optparse import OptionValueError
97
10from testtools.matchers import LessThan8from testtools.matchers import LessThan
diff --git a/lib/lp/archivepublisher/tests/test_processdeathrow.py b/lib/lp/archivepublisher/tests/test_processdeathrow.py
index 575f79a..a59381a 100644
--- a/lib/lp/archivepublisher/tests/test_processdeathrow.py
+++ b/lib/lp/archivepublisher/tests/test_processdeathrow.py
@@ -8,8 +8,6 @@ of the module functionality; here we just aim to test that the script
8processes its arguments and handles dry-run correctly.8processes its arguments and handles dry-run correctly.
9"""9"""
1010
11from __future__ import absolute_import, print_function, unicode_literals
12
13__metaclass__ = type11__metaclass__ = type
1412
15import datetime13import datetime
diff --git a/lib/lp/archivepublisher/tests/test_publish_ftpmaster.py b/lib/lp/archivepublisher/tests/test_publish_ftpmaster.py
index b9a82b7..2039856 100644
--- a/lib/lp/archivepublisher/tests/test_publish_ftpmaster.py
+++ b/lib/lp/archivepublisher/tests/test_publish_ftpmaster.py
@@ -3,8 +3,6 @@
33
4"""Test publish-ftpmaster cron script."""4"""Test publish-ftpmaster cron script."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import logging8import logging
diff --git a/lib/lp/archivepublisher/tests/test_publishdistro.py b/lib/lp/archivepublisher/tests/test_publishdistro.py
index a260c71..41d81f4 100644
--- a/lib/lp/archivepublisher/tests/test_publishdistro.py
+++ b/lib/lp/archivepublisher/tests/test_publishdistro.py
@@ -3,8 +3,6 @@
33
4"""Functional tests for publish-distro.py script."""4"""Functional tests for publish-distro.py script."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from optparse import OptionValueError8from optparse import OptionValueError
diff --git a/lib/lp/archivepublisher/tests/test_publisher.py b/lib/lp/archivepublisher/tests/test_publisher.py
index 0c8ff87..b0173cb 100644
--- a/lib/lp/archivepublisher/tests/test_publisher.py
+++ b/lib/lp/archivepublisher/tests/test_publisher.py
@@ -3,8 +3,6 @@
33
4"""Tests for publisher class."""4"""Tests for publisher class."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import bz28import bz2
diff --git a/lib/lp/archivepublisher/tests/test_publisher_documentation.py b/lib/lp/archivepublisher/tests/test_publisher_documentation.py
index 1091cd1..a211eb8 100644
--- a/lib/lp/archivepublisher/tests/test_publisher_documentation.py
+++ b/lib/lp/archivepublisher/tests/test_publisher_documentation.py
@@ -3,8 +3,6 @@
33
4"""Runs the archivepublisher doctests."""4"""Runs the archivepublisher doctests."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import logging8import logging
diff --git a/lib/lp/archivepublisher/tests/test_publisherconfig.py b/lib/lp/archivepublisher/tests/test_publisherconfig.py
index 023a287..63f652c 100644
--- a/lib/lp/archivepublisher/tests/test_publisherconfig.py
+++ b/lib/lp/archivepublisher/tests/test_publisherconfig.py
@@ -3,8 +3,6 @@
33
4"""Tests for publisherConfig model class."""4"""Tests for publisherConfig model class."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
108
diff --git a/lib/lp/archivepublisher/tests/test_repositoryindexfile.py b/lib/lp/archivepublisher/tests/test_repositoryindexfile.py
index 55808d2..b7ebac3 100644
--- a/lib/lp/archivepublisher/tests/test_repositoryindexfile.py
+++ b/lib/lp/archivepublisher/tests/test_repositoryindexfile.py
@@ -3,8 +3,6 @@
33
4"""Tests for `RepositoryIndexFile`."""4"""Tests for `RepositoryIndexFile`."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import bz28import bz2
diff --git a/lib/lp/archivepublisher/tests/test_rosetta_translations.py b/lib/lp/archivepublisher/tests/test_rosetta_translations.py
index 8812ef8..d90a471 100644
--- a/lib/lp/archivepublisher/tests/test_rosetta_translations.py
+++ b/lib/lp/archivepublisher/tests/test_rosetta_translations.py
@@ -7,8 +7,6 @@ See also lp.soyuz.tests.test_distroseriesqueue_rosetta_translations for
7high-level tests of rosetta-translations upload and queue manipulation.7high-level tests of rosetta-translations upload and queue manipulation.
8"""8"""
99
10from __future__ import absolute_import, print_function, unicode_literals
11
12from storm.expr import Desc10from storm.expr import Desc
13import transaction11import transaction
14from zope.component import getUtility12from zope.component import getUtility
diff --git a/lib/lp/archivepublisher/tests/test_run_parts.py b/lib/lp/archivepublisher/tests/test_run_parts.py
index 2acf23a..b0753a3 100644
--- a/lib/lp/archivepublisher/tests/test_run_parts.py
+++ b/lib/lp/archivepublisher/tests/test_run_parts.py
@@ -3,8 +3,6 @@
33
4"""Test publisher run-parts handling."""4"""Test publisher run-parts handling."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import os.path8import os.path
diff --git a/lib/lp/archivepublisher/tests/test_signing.py b/lib/lp/archivepublisher/tests/test_signing.py
index e57ae72..f13ba3a 100644
--- a/lib/lp/archivepublisher/tests/test_signing.py
+++ b/lib/lp/archivepublisher/tests/test_signing.py
@@ -3,8 +3,6 @@
33
4"""Test UEFI custom uploads."""4"""Test UEFI custom uploads."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import datetime8from datetime import datetime
diff --git a/lib/lp/archivepublisher/tests/test_sync_signingkeys.py b/lib/lp/archivepublisher/tests/test_sync_signingkeys.py
index 8a8d758..24dd57f 100644
--- a/lib/lp/archivepublisher/tests/test_sync_signingkeys.py
+++ b/lib/lp/archivepublisher/tests/test_sync_signingkeys.py
@@ -7,8 +7,6 @@
77
8"""Test cases for the script that injects signing keys into signing service."""8"""Test cases for the script that injects signing keys into signing service."""
99
10from __future__ import absolute_import, print_function, unicode_literals
11
12__metaclass__ = type10__metaclass__ = type
13__all__ = [11__all__ = [
14 'SyncSigningKeysScript',12 'SyncSigningKeysScript',
diff --git a/lib/lp/archiveuploader/charmrecipeupload.py b/lib/lp/archiveuploader/charmrecipeupload.py
index a8d7dcf..d31e8f1 100644
--- a/lib/lp/archiveuploader/charmrecipeupload.py
+++ b/lib/lp/archiveuploader/charmrecipeupload.py
@@ -3,8 +3,6 @@
33
4"""Process a charm recipe upload."""4"""Process a charm recipe upload."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 "CharmRecipeUpload",8 "CharmRecipeUpload",
diff --git a/lib/lp/archiveuploader/ocirecipeupload.py b/lib/lp/archiveuploader/ocirecipeupload.py
index 3ace0da..cd99962 100644
--- a/lib/lp/archiveuploader/ocirecipeupload.py
+++ b/lib/lp/archiveuploader/ocirecipeupload.py
@@ -3,8 +3,6 @@
33
4"""Upload OCI build artifacts to the librarian."""4"""Upload OCI build artifacts to the librarian."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = ['OCIRecipeUpload']7__all__ = ['OCIRecipeUpload']
108
diff --git a/lib/lp/archiveuploader/tests/__init__.py b/lib/lp/archiveuploader/tests/__init__.py
index e5abd8d..19a65f2 100644
--- a/lib/lp/archiveuploader/tests/__init__.py
+++ b/lib/lp/archiveuploader/tests/__init__.py
@@ -3,11 +3,6 @@
33
4"""Tests for the archive uploader."""4"""Tests for the archive uploader."""
55
6# XXX cjwatson 2018-05-03: We should use unicode_literals too, but this
7# requires a version of zope.configuration that includes
8# https://github.com/zopefoundation/zope.configuration/pull/19.
9from __future__ import absolute_import, print_function
10
11__metaclass__ = type6__metaclass__ = type
127
13__all__ = [8__all__ = [
diff --git a/lib/lp/archiveuploader/tests/test_buildduploads.py b/lib/lp/archiveuploader/tests/test_buildduploads.py
index 87066dd..3b764d0 100644
--- a/lib/lp/archiveuploader/tests/test_buildduploads.py
+++ b/lib/lp/archiveuploader/tests/test_buildduploads.py
@@ -3,8 +3,6 @@
33
4"""Test buildd uploads use-cases."""4"""Test buildd uploads use-cases."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import os8import os
diff --git a/lib/lp/archiveuploader/tests/test_buildinfofile.py b/lib/lp/archiveuploader/tests/test_buildinfofile.py
index 59a1451..2724ab7 100644
--- a/lib/lp/archiveuploader/tests/test_buildinfofile.py
+++ b/lib/lp/archiveuploader/tests/test_buildinfofile.py
@@ -3,8 +3,6 @@
33
4"""Build information file tests."""4"""Build information file tests."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from debian.deb822 import Changes8from debian.deb822 import Changes
diff --git a/lib/lp/archiveuploader/tests/test_changesfile.py b/lib/lp/archiveuploader/tests/test_changesfile.py
index 8f76d23..4e1e318 100644
--- a/lib/lp/archiveuploader/tests/test_changesfile.py
+++ b/lib/lp/archiveuploader/tests/test_changesfile.py
@@ -3,8 +3,6 @@
33
4"""Test ChangesFile functionality."""4"""Test ChangesFile functionality."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import os8import os
diff --git a/lib/lp/archiveuploader/tests/test_charmrecipeupload.py b/lib/lp/archiveuploader/tests/test_charmrecipeupload.py
index 72c14be..da801c4 100644
--- a/lib/lp/archiveuploader/tests/test_charmrecipeupload.py
+++ b/lib/lp/archiveuploader/tests/test_charmrecipeupload.py
@@ -3,8 +3,6 @@
33
4"""Tests for `CharmRecipeUpload`."""4"""Tests for `CharmRecipeUpload`."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import os8import os
diff --git a/lib/lp/archiveuploader/tests/test_dscfile.py b/lib/lp/archiveuploader/tests/test_dscfile.py
index 3414a40..64c0cbf 100644
--- a/lib/lp/archiveuploader/tests/test_dscfile.py
+++ b/lib/lp/archiveuploader/tests/test_dscfile.py
@@ -3,8 +3,6 @@
33
4"""Test dscfile.py"""4"""Test dscfile.py"""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from collections import namedtuple8from collections import namedtuple
diff --git a/lib/lp/archiveuploader/tests/test_livefsupload.py b/lib/lp/archiveuploader/tests/test_livefsupload.py
index b794785..a54c08a 100644
--- a/lib/lp/archiveuploader/tests/test_livefsupload.py
+++ b/lib/lp/archiveuploader/tests/test_livefsupload.py
@@ -3,8 +3,6 @@
33
4"""Test uploads of LiveFSBuilds."""4"""Test uploads of LiveFSBuilds."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import os8import os
diff --git a/lib/lp/archiveuploader/tests/test_nascentupload.py b/lib/lp/archiveuploader/tests/test_nascentupload.py
index 821e7b4..a599a7b 100644
--- a/lib/lp/archiveuploader/tests/test_nascentupload.py
+++ b/lib/lp/archiveuploader/tests/test_nascentupload.py
@@ -3,8 +3,6 @@
33
4"""Test NascentUpload functionality."""4"""Test NascentUpload functionality."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from testtools import TestCase8from testtools import TestCase
diff --git a/lib/lp/archiveuploader/tests/test_nascentupload_documentation.py b/lib/lp/archiveuploader/tests/test_nascentupload_documentation.py
index bc18b56..311b84e 100644
--- a/lib/lp/archiveuploader/tests/test_nascentupload_documentation.py
+++ b/lib/lp/archiveuploader/tests/test_nascentupload_documentation.py
@@ -3,8 +3,6 @@
33
4"""Runs the doctests for archiveuploader module."""4"""Runs the doctests for archiveuploader module."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import os8import os
diff --git a/lib/lp/archiveuploader/tests/test_nascentuploadfile.py b/lib/lp/archiveuploader/tests/test_nascentuploadfile.py
index b43d762..1d0df62 100644
--- a/lib/lp/archiveuploader/tests/test_nascentuploadfile.py
+++ b/lib/lp/archiveuploader/tests/test_nascentuploadfile.py
@@ -3,8 +3,6 @@
33
4"""Test NascentUploadFile functionality."""4"""Test NascentUploadFile functionality."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from functools import partial8from functools import partial
diff --git a/lib/lp/archiveuploader/tests/test_ocirecipeupload.py b/lib/lp/archiveuploader/tests/test_ocirecipeupload.py
index b36d2c6..8ec2be1 100644
--- a/lib/lp/archiveuploader/tests/test_ocirecipeupload.py
+++ b/lib/lp/archiveuploader/tests/test_ocirecipeupload.py
@@ -3,8 +3,6 @@
33
4"""Tests for `OCIRecipeUpload`."""4"""Tests for `OCIRecipeUpload`."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import json8import json
diff --git a/lib/lp/archiveuploader/tests/test_ppauploadprocessor.py b/lib/lp/archiveuploader/tests/test_ppauploadprocessor.py
index 3c91839..7e79bf1 100644
--- a/lib/lp/archiveuploader/tests/test_ppauploadprocessor.py
+++ b/lib/lp/archiveuploader/tests/test_ppauploadprocessor.py
@@ -7,8 +7,6 @@
77
8"""Functional tests for uploadprocessor.py."""8"""Functional tests for uploadprocessor.py."""
99
10from __future__ import absolute_import, print_function, unicode_literals
11
12__metaclass__ = type10__metaclass__ = type
1311
14from operator import itemgetter12from operator import itemgetter
diff --git a/lib/lp/archiveuploader/tests/test_private_maintainers.py b/lib/lp/archiveuploader/tests/test_private_maintainers.py
index f55f8ed..093aa00 100644
--- a/lib/lp/archiveuploader/tests/test_private_maintainers.py
+++ b/lib/lp/archiveuploader/tests/test_private_maintainers.py
@@ -1,8 +1,6 @@
1# Copyright 2012-2018 Canonical Ltd. This software is licensed under the1# Copyright 2012-2018 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from lp.archiveuploader.dscfile import SignableTagFile6from lp.archiveuploader.dscfile import SignableTagFile
diff --git a/lib/lp/archiveuploader/tests/test_processupload.py b/lib/lp/archiveuploader/tests/test_processupload.py
index cf941bb..29917b5 100644
--- a/lib/lp/archiveuploader/tests/test_processupload.py
+++ b/lib/lp/archiveuploader/tests/test_processupload.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2018 Canonical Ltd. This software is licensed under the1# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8import os6import os
diff --git a/lib/lp/archiveuploader/tests/test_recipeuploads.py b/lib/lp/archiveuploader/tests/test_recipeuploads.py
index d064fda..a915fcf 100644
--- a/lib/lp/archiveuploader/tests/test_recipeuploads.py
+++ b/lib/lp/archiveuploader/tests/test_recipeuploads.py
@@ -3,8 +3,6 @@
33
4"""Test uploads of SourcePackageRecipeBuilds."""4"""Test uploads of SourcePackageRecipeBuilds."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import os8import os
diff --git a/lib/lp/archiveuploader/tests/test_snapupload.py b/lib/lp/archiveuploader/tests/test_snapupload.py
index 9791a35..ffb5997 100644
--- a/lib/lp/archiveuploader/tests/test_snapupload.py
+++ b/lib/lp/archiveuploader/tests/test_snapupload.py
@@ -3,8 +3,6 @@
33
4"""Test uploads of SnapBuilds."""4"""Test uploads of SnapBuilds."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import os8import os
diff --git a/lib/lp/archiveuploader/tests/test_sync_notification.py b/lib/lp/archiveuploader/tests/test_sync_notification.py
index 4eb00f0..c2e0952 100644
--- a/lib/lp/archiveuploader/tests/test_sync_notification.py
+++ b/lib/lp/archiveuploader/tests/test_sync_notification.py
@@ -3,8 +3,6 @@
33
4"""Test notification behaviour for cross-distro package syncs."""4"""Test notification behaviour for cross-distro package syncs."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import os.path8import os.path
diff --git a/lib/lp/archiveuploader/tests/test_tagfiles.py b/lib/lp/archiveuploader/tests/test_tagfiles.py
index 766438d..522ad64 100755
--- a/lib/lp/archiveuploader/tests/test_tagfiles.py
+++ b/lib/lp/archiveuploader/tests/test_tagfiles.py
@@ -3,8 +3,6 @@
3# Copyright 2009-2018 Canonical Ltd. This software is licensed under the3# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8import unittest6import unittest
97
10import apt_pkg8import apt_pkg
diff --git a/lib/lp/archiveuploader/tests/test_uploadpolicy.py b/lib/lp/archiveuploader/tests/test_uploadpolicy.py
index 0f2bab7..1885e6e 100644
--- a/lib/lp/archiveuploader/tests/test_uploadpolicy.py
+++ b/lib/lp/archiveuploader/tests/test_uploadpolicy.py
@@ -3,8 +3,6 @@
3# Copyright 2010-2018 Canonical Ltd. This software is licensed under the3# Copyright 2010-2018 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8from zope.component import getUtility6from zope.component import getUtility
9from zope.component.interfaces import ComponentLookupError7from zope.component.interfaces import ComponentLookupError
108
diff --git a/lib/lp/archiveuploader/tests/test_uploadprocessor.py b/lib/lp/archiveuploader/tests/test_uploadprocessor.py
index efd1cb3..5613177 100644
--- a/lib/lp/archiveuploader/tests/test_uploadprocessor.py
+++ b/lib/lp/archiveuploader/tests/test_uploadprocessor.py
@@ -3,8 +3,6 @@
33
4"""Functional tests for uploadprocessor.py."""4"""Functional tests for uploadprocessor.py."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 "MockOptions",8 "MockOptions",
diff --git a/lib/lp/archiveuploader/tests/test_utils.py b/lib/lp/archiveuploader/tests/test_utils.py
index 3b538fd..d14cad0 100755
--- a/lib/lp/archiveuploader/tests/test_utils.py
+++ b/lib/lp/archiveuploader/tests/test_utils.py
@@ -3,8 +3,6 @@
3# Copyright 2009-2018 Canonical Ltd. This software is licensed under the3# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8import os6import os
97
10import six8import six
diff --git a/lib/lp/blueprints/browser/tests/test_breadcrumbs.py b/lib/lp/blueprints/browser/tests/test_breadcrumbs.py
index c997762..3f63cc4 100644
--- a/lib/lp/blueprints/browser/tests/test_breadcrumbs.py
+++ b/lib/lp/blueprints/browser/tests/test_breadcrumbs.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2010 Canonical Ltd. This software is licensed under the1# Copyright 2009-2010 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from lp.services.webapp.publisher import canonical_url6from lp.services.webapp.publisher import canonical_url
diff --git a/lib/lp/blueprints/browser/tests/test_hasspecifications.py b/lib/lp/blueprints/browser/tests/test_hasspecifications.py
index 9169b2c..4cfcd44 100644
--- a/lib/lp/blueprints/browser/tests/test_hasspecifications.py
+++ b/lib/lp/blueprints/browser/tests/test_hasspecifications.py
@@ -1,8 +1,6 @@
1# Copyright 2010 Canonical Ltd. This software is licensed under the1# Copyright 2010 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from lp.testing import (6from lp.testing import (
diff --git a/lib/lp/blueprints/browser/tests/test_menus.py b/lib/lp/blueprints/browser/tests/test_menus.py
index 2b07dc1..e35d40e 100644
--- a/lib/lp/blueprints/browser/tests/test_menus.py
+++ b/lib/lp/blueprints/browser/tests/test_menus.py
@@ -1,8 +1,6 @@
1# Copyright 2009 Canonical Ltd. This software is licensed under the1# Copyright 2009 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from lp.blueprints.browser.specification import (6from lp.blueprints.browser.specification import (
diff --git a/lib/lp/blueprints/browser/tests/test_person_upcomingwork.py b/lib/lp/blueprints/browser/tests/test_person_upcomingwork.py
index e5c79b2..26bf983 100644
--- a/lib/lp/blueprints/browser/tests/test_person_upcomingwork.py
+++ b/lib/lp/blueprints/browser/tests/test_person_upcomingwork.py
@@ -1,8 +1,6 @@
1# Copyright 2012 Canonical Ltd. This software is licensed under the1# Copyright 2012 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from datetime import (6from datetime import (
diff --git a/lib/lp/blueprints/browser/tests/test_specification.py b/lib/lp/blueprints/browser/tests/test_specification.py
index adfd2f2..6f73882 100644
--- a/lib/lp/blueprints/browser/tests/test_specification.py
+++ b/lib/lp/blueprints/browser/tests/test_specification.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2017 Canonical Ltd. This software is licensed under the1# Copyright 2009-2017 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from datetime import datetime6from datetime import datetime
diff --git a/lib/lp/blueprints/browser/tests/test_specificationdependency.py b/lib/lp/blueprints/browser/tests/test_specificationdependency.py
index 1426a10..05d4426 100644
--- a/lib/lp/blueprints/browser/tests/test_specificationdependency.py
+++ b/lib/lp/blueprints/browser/tests/test_specificationdependency.py
@@ -6,8 +6,6 @@
6There are also tests in lp/blueprints/stories/blueprints/xx-dependencies.txt.6There are also tests in lp/blueprints/stories/blueprints/xx-dependencies.txt.
7"""7"""
88
9from __future__ import absolute_import, print_function, unicode_literals
10
11__metaclass__ = type9__metaclass__ = type
1210
13from lp.app.enums import InformationType11from lp.app.enums import InformationType
diff --git a/lib/lp/blueprints/browser/tests/test_specificationsubscription.py b/lib/lp/blueprints/browser/tests/test_specificationsubscription.py
index 7817d4e..e2a5684 100644
--- a/lib/lp/blueprints/browser/tests/test_specificationsubscription.py
+++ b/lib/lp/blueprints/browser/tests/test_specificationsubscription.py
@@ -1,8 +1,6 @@
1# Copyright 2011 Canonical Ltd. This software is licensed under the1# Copyright 2011 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from lp.testing import (6from lp.testing import (
diff --git a/lib/lp/blueprints/browser/tests/test_specificationtarget.py b/lib/lp/blueprints/browser/tests/test_specificationtarget.py
index aca15b6..58eb759 100644
--- a/lib/lp/blueprints/browser/tests/test_specificationtarget.py
+++ b/lib/lp/blueprints/browser/tests/test_specificationtarget.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2012 Canonical Ltd. This software is licensed under the1# Copyright 2009-2012 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from fixtures import FakeLogger6from fixtures import FakeLogger
diff --git a/lib/lp/blueprints/browser/tests/test_sprint.py b/lib/lp/blueprints/browser/tests/test_sprint.py
index 066d235..8364761 100644
--- a/lib/lp/blueprints/browser/tests/test_sprint.py
+++ b/lib/lp/blueprints/browser/tests/test_sprint.py
@@ -3,8 +3,6 @@
33
4"""Tests for Sprint pages and views."""4"""Tests for Sprint pages and views."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from fixtures import FakeLogger8from fixtures import FakeLogger
diff --git a/lib/lp/blueprints/browser/tests/test_views.py b/lib/lp/blueprints/browser/tests/test_views.py
index cbbe2e5..cd51d18 100644
--- a/lib/lp/blueprints/browser/tests/test_views.py
+++ b/lib/lp/blueprints/browser/tests/test_views.py
@@ -3,8 +3,6 @@
33
4"""Run the view tests."""4"""Run the view tests."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8import logging6import logging
9import os7import os
10import unittest8import unittest
diff --git a/lib/lp/blueprints/model/specificationbranch.py b/lib/lp/blueprints/model/specificationbranch.py
index 39bfee7..1917c6a 100644
--- a/lib/lp/blueprints/model/specificationbranch.py
+++ b/lib/lp/blueprints/model/specificationbranch.py
@@ -3,8 +3,6 @@
33
4"""Database classes for linking specifications and branches."""4"""Database classes for linking specifications and branches."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10__all__ = [8__all__ = [
diff --git a/lib/lp/blueprints/model/tests/test_specification.py b/lib/lp/blueprints/model/tests/test_specification.py
index 73a8834..b6843ad 100644
--- a/lib/lp/blueprints/model/tests/test_specification.py
+++ b/lib/lp/blueprints/model/tests/test_specification.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for blueprints here."""4"""Unit tests for blueprints here."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from testtools.matchers import (8from testtools.matchers import (
diff --git a/lib/lp/blueprints/model/tests/test_sprint.py b/lib/lp/blueprints/model/tests/test_sprint.py
index 2624025..18f3d13 100644
--- a/lib/lp/blueprints/model/tests/test_sprint.py
+++ b/lib/lp/blueprints/model/tests/test_sprint.py
@@ -3,8 +3,6 @@
33
4"""Unit test for sprints."""4"""Unit test for sprints."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import datetime8import datetime
diff --git a/lib/lp/blueprints/model/tests/test_subscription.py b/lib/lp/blueprints/model/tests/test_subscription.py
index c1067de..9efc053 100644
--- a/lib/lp/blueprints/model/tests/test_subscription.py
+++ b/lib/lp/blueprints/model/tests/test_subscription.py
@@ -1,8 +1,6 @@
1# Copyright 2011 Canonical Ltd. This software is licensed under the1# Copyright 2011 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from zope.component import getUtility6from zope.component import getUtility
diff --git a/lib/lp/blueprints/tests/test_doc.py b/lib/lp/blueprints/tests/test_doc.py
index 0a21d3d..5eec6ae 100644
--- a/lib/lp/blueprints/tests/test_doc.py
+++ b/lib/lp/blueprints/tests/test_doc.py
@@ -3,8 +3,6 @@
33
4"""Run the doctests and pagetests."""4"""Run the doctests and pagetests."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8import os6import os
97
10from lp.services.testing import build_test_suite8from lp.services.testing import build_test_suite
diff --git a/lib/lp/blueprints/tests/test_hasspecifications.py b/lib/lp/blueprints/tests/test_hasspecifications.py
index be00566..dadfb41 100644
--- a/lib/lp/blueprints/tests/test_hasspecifications.py
+++ b/lib/lp/blueprints/tests/test_hasspecifications.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for objects implementing IHasSpecifications."""4"""Unit tests for objects implementing IHasSpecifications."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.blueprints.enums import SpecificationDefinitionStatus8from lp.blueprints.enums import SpecificationDefinitionStatus
diff --git a/lib/lp/blueprints/tests/test_implements.py b/lib/lp/blueprints/tests/test_implements.py
index 8740057..5365733 100644
--- a/lib/lp/blueprints/tests/test_implements.py
+++ b/lib/lp/blueprints/tests/test_implements.py
@@ -3,8 +3,6 @@
33
4"""Tests that various objects implement specification-related interfaces."""4"""Tests that various objects implement specification-related interfaces."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.blueprints.interfaces.specificationtarget import (8from lp.blueprints.interfaces.specificationtarget import (
diff --git a/lib/lp/blueprints/tests/test_publisher.py b/lib/lp/blueprints/tests/test_publisher.py
index 821fdfd..5c97bb8 100644
--- a/lib/lp/blueprints/tests/test_publisher.py
+++ b/lib/lp/blueprints/tests/test_publisher.py
@@ -3,8 +3,6 @@
33
4"""Tests for blueprints' custom publications."""4"""Tests for blueprints' custom publications."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.blueprints.publisher import BlueprintsLayer8from lp.blueprints.publisher import BlueprintsLayer
diff --git a/lib/lp/blueprints/tests/test_specification.py b/lib/lp/blueprints/tests/test_specification.py
index dcc17b6..4bedc0f 100644
--- a/lib/lp/blueprints/tests/test_specification.py
+++ b/lib/lp/blueprints/tests/test_specification.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for Specification."""4"""Unit tests for Specification."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/blueprints/tests/test_specification_access_policy_triggers.py b/lib/lp/blueprints/tests/test_specification_access_policy_triggers.py
index dd759ba..f022c21 100644
--- a/lib/lp/blueprints/tests/test_specification_access_policy_triggers.py
+++ b/lib/lp/blueprints/tests/test_specification_access_policy_triggers.py
@@ -1,8 +1,6 @@
1# Copyright 2013 Canonical Ltd. This software is licensed under the1# Copyright 2013 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from zope.component import getUtility6from zope.component import getUtility
diff --git a/lib/lp/blueprints/tests/test_webservice.py b/lib/lp/blueprints/tests/test_webservice.py
index 39f1b92..2e3216a 100644
--- a/lib/lp/blueprints/tests/test_webservice.py
+++ b/lib/lp/blueprints/tests/test_webservice.py
@@ -3,8 +3,6 @@
33
4"""Webservice unit tests related to Launchpad blueprints."""4"""Webservice unit tests related to Launchpad blueprints."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import json8import json
diff --git a/lib/lp/blueprints/vocabularies/tests/test_specificationdependency.py b/lib/lp/blueprints/vocabularies/tests/test_specificationdependency.py
index 4740b74..6584ff3 100644
--- a/lib/lp/blueprints/vocabularies/tests/test_specificationdependency.py
+++ b/lib/lp/blueprints/vocabularies/tests/test_specificationdependency.py
@@ -6,8 +6,6 @@
6There is also a doctest in specificationdepcandidates.txt.6There is also a doctest in specificationdepcandidates.txt.
7"""7"""
88
9from __future__ import absolute_import, print_function, unicode_literals
10
11__metaclass__ = type9__metaclass__ = type
1210
13from zope.schema.vocabulary import getVocabularyRegistry11from zope.schema.vocabulary import getVocabularyRegistry
diff --git a/lib/lp/bugs/browser/tests/test_bugtarget_filebug.py b/lib/lp/bugs/browser/tests/test_bugtarget_filebug.py
index 5e49729..5d04730 100644
--- a/lib/lp/bugs/browser/tests/test_bugtarget_filebug.py
+++ b/lib/lp/bugs/browser/tests/test_bugtarget_filebug.py
@@ -1,8 +1,6 @@
1# Copyright 2010-2020 Canonical Ltd. This software is licensed under the1# Copyright 2010-2020 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from textwrap import dedent6from textwrap import dedent
diff --git a/lib/lp/bugs/browser/tests/test_bugtask.py b/lib/lp/bugs/browser/tests/test_bugtask.py
index d3b37c5..6b03588 100644
--- a/lib/lp/bugs/browser/tests/test_bugtask.py
+++ b/lib/lp/bugs/browser/tests/test_bugtask.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2021 Canonical Ltd. This software is licensed under the1# Copyright 2009-2021 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from datetime import (6from datetime import (
diff --git a/lib/lp/bugs/browser/tests/test_bugwatch_views.py b/lib/lp/bugs/browser/tests/test_bugwatch_views.py
index 7cd8393..25113bc 100644
--- a/lib/lp/bugs/browser/tests/test_bugwatch_views.py
+++ b/lib/lp/bugs/browser/tests/test_bugwatch_views.py
@@ -3,8 +3,6 @@
33
4"""Tests for BugWatch views."""4"""Tests for BugWatch views."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from zope.component import getUtility8from zope.component import getUtility
diff --git a/lib/lp/bugs/browser/tests/test_cve.py b/lib/lp/bugs/browser/tests/test_cve.py
index 8c4f024..93bc073 100644
--- a/lib/lp/bugs/browser/tests/test_cve.py
+++ b/lib/lp/bugs/browser/tests/test_cve.py
@@ -3,8 +3,6 @@
33
4"""CVE related tests."""4"""CVE related tests."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8from functools import partial6from functools import partial
9from operator import attrgetter7from operator import attrgetter
10import re8import re
diff --git a/lib/lp/bugs/externalbugtracker/tests/test_github.py b/lib/lp/bugs/externalbugtracker/tests/test_github.py
index ecc3834..b342872 100644
--- a/lib/lp/bugs/externalbugtracker/tests/test_github.py
+++ b/lib/lp/bugs/externalbugtracker/tests/test_github.py
@@ -3,8 +3,6 @@
33
4"""Tests for the GitHub Issues BugTracker."""4"""Tests for the GitHub Issues BugTracker."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import datetime8from datetime import datetime
diff --git a/lib/lp/bugs/externalbugtracker/tests/test_gitlab.py b/lib/lp/bugs/externalbugtracker/tests/test_gitlab.py
index c09c2ab..4978b1f 100644
--- a/lib/lp/bugs/externalbugtracker/tests/test_gitlab.py
+++ b/lib/lp/bugs/externalbugtracker/tests/test_gitlab.py
@@ -3,8 +3,6 @@
33
4"""Tests for the GitLab Issues BugTracker."""4"""Tests for the GitLab Issues BugTracker."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import datetime8from datetime import datetime
diff --git a/lib/lp/bugs/mail/bugnotificationrecipients.py b/lib/lp/bugs/mail/bugnotificationrecipients.py
index ff1cf8b..bcec38d 100644
--- a/lib/lp/bugs/mail/bugnotificationrecipients.py
+++ b/lib/lp/bugs/mail/bugnotificationrecipients.py
@@ -3,8 +3,6 @@
33
4"""Code for handling bug notification recipients in bug mail."""4"""Code for handling bug notification recipients in bug mail."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'BugNotificationRecipients',8 'BugNotificationRecipients',
diff --git a/lib/lp/bugs/mail/tests/test_commands.py b/lib/lp/bugs/mail/tests/test_commands.py
index 00721f8..99072ce 100644
--- a/lib/lp/bugs/mail/tests/test_commands.py
+++ b/lib/lp/bugs/mail/tests/test_commands.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2020 Canonical Ltd. This software is licensed under the1# Copyright 2009-2020 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6from lazr.lifecycle.interfaces import (4from lazr.lifecycle.interfaces import (
7 IObjectCreatedEvent,5 IObjectCreatedEvent,
8 IObjectModifiedEvent,6 IObjectModifiedEvent,
diff --git a/lib/lp/bugs/model/bugbranch.py b/lib/lp/bugs/model/bugbranch.py
index 665f177..b5be80f 100644
--- a/lib/lp/bugs/model/bugbranch.py
+++ b/lib/lp/bugs/model/bugbranch.py
@@ -3,8 +3,6 @@
33
4"""Database classes for linking bugtasks and branches."""4"""Database classes for linking bugtasks and branches."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10__all__ = [8__all__ = [
diff --git a/lib/lp/bugs/model/cve.py b/lib/lp/bugs/model/cve.py
index 8f5535d..112f5f9 100644
--- a/lib/lp/bugs/model/cve.py
+++ b/lib/lp/bugs/model/cve.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2020 Canonical Ltd. This software is licensed under the1# Copyright 2009-2020 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8__all__ = [6__all__ = [
diff --git a/lib/lp/bugs/model/tests/test_bugtasksearch.py b/lib/lp/bugs/model/tests/test_bugtasksearch.py
index 1b2a339..af9f16a 100644
--- a/lib/lp/bugs/model/tests/test_bugtasksearch.py
+++ b/lib/lp/bugs/model/tests/test_bugtasksearch.py
@@ -1,8 +1,6 @@
1# Copyright 2010-2020 Canonical Ltd. This software is licensed under the1# Copyright 2010-2020 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from datetime import (6from datetime import (
diff --git a/lib/lp/bugs/scripts/checkwatches/bugwatchupdater.py b/lib/lp/bugs/scripts/checkwatches/bugwatchupdater.py
index d8cad22..eaa2e79 100644
--- a/lib/lp/bugs/scripts/checkwatches/bugwatchupdater.py
+++ b/lib/lp/bugs/scripts/checkwatches/bugwatchupdater.py
@@ -3,8 +3,6 @@
33
4"""Classes and logic for the checkwatches BugWatchUpdater."""4"""Classes and logic for the checkwatches BugWatchUpdater."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'BugWatchUpdater',8 'BugWatchUpdater',
diff --git a/lib/lp/bugs/scripts/checkwatches/tests/test_bugwatchupdater.py b/lib/lp/bugs/scripts/checkwatches/tests/test_bugwatchupdater.py
index 9472091..82da441 100644
--- a/lib/lp/bugs/scripts/checkwatches/tests/test_bugwatchupdater.py
+++ b/lib/lp/bugs/scripts/checkwatches/tests/test_bugwatchupdater.py
@@ -3,8 +3,6 @@
33
4"""Tests for the checkwatches.bugwatchupdater module."""4"""Tests for the checkwatches.bugwatchupdater module."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import datetime8from datetime import datetime
diff --git a/lib/lp/bugs/scripts/cveimport.py b/lib/lp/bugs/scripts/cveimport.py
index 3730fef..b29040f 100644
--- a/lib/lp/bugs/scripts/cveimport.py
+++ b/lib/lp/bugs/scripts/cveimport.py
@@ -5,8 +5,6 @@
5extract details of known CVE entries, and ensure that all of the known5extract details of known CVE entries, and ensure that all of the known
6CVE's are fully registered in Launchpad."""6CVE's are fully registered in Launchpad."""
77
8from __future__ import absolute_import, print_function, unicode_literals
9
10__metaclass__ = type8__metaclass__ = type
119
12import gzip10import gzip
diff --git a/lib/lp/bugs/scripts/debbugs.py b/lib/lp/bugs/scripts/debbugs.py
index c1c6b39..a15a73b 100644
--- a/lib/lp/bugs/scripts/debbugs.py
+++ b/lib/lp/bugs/scripts/debbugs.py
@@ -1,8 +1,6 @@
1# Copyright 2009 Canonical Ltd. This software is licensed under the1# Copyright 2009 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function
5
6from datetime import datetime4from datetime import datetime
7import email5import email
8import io6import io
diff --git a/lib/lp/bugs/scripts/tests/test_bugnotification.py b/lib/lp/bugs/scripts/tests/test_bugnotification.py
index 9973981..7f61e4c 100644
--- a/lib/lp/bugs/scripts/tests/test_bugnotification.py
+++ b/lib/lp/bugs/scripts/tests/test_bugnotification.py
@@ -2,8 +2,6 @@
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
3"""Tests for constructing bug notification emails for sending."""3"""Tests for constructing bug notification emails for sending."""
44
5from __future__ import absolute_import, print_function, unicode_literals
6
7__metaclass__ = type5__metaclass__ = type
86
9from datetime import (7from datetime import (
diff --git a/lib/lp/bugs/scripts/tests/test_cveimport.py b/lib/lp/bugs/scripts/tests/test_cveimport.py
index ba23db5..c2ea76c 100644
--- a/lib/lp/bugs/scripts/tests/test_cveimport.py
+++ b/lib/lp/bugs/scripts/tests/test_cveimport.py
@@ -1,8 +1,6 @@
1# Copyright 2018 Canonical Ltd. This software is licensed under the1# Copyright 2018 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8import gzip6import gzip
diff --git a/lib/lp/bugs/tests/bug.py b/lib/lp/bugs/tests/bug.py
index 9653159..4ac066d 100644
--- a/lib/lp/bugs/tests/bug.py
+++ b/lib/lp/bugs/tests/bug.py
@@ -3,8 +3,6 @@
33
4"""Helper functions for bug-related doctests and pagetests."""4"""Helper functions for bug-related doctests and pagetests."""
55
6from __future__ import absolute_import, print_function
7
8from datetime import (6from datetime import (
9 datetime,7 datetime,
10 timedelta,8 timedelta,
diff --git a/lib/lp/bugs/tests/externalbugtracker.py b/lib/lp/bugs/tests/externalbugtracker.py
index fe969fe..5050f76 100644
--- a/lib/lp/bugs/tests/externalbugtracker.py
+++ b/lib/lp/bugs/tests/externalbugtracker.py
@@ -3,8 +3,6 @@
33
4"""Helper classes for testing ExternalSystem."""4"""Helper classes for testing ExternalSystem."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10from contextlib import contextmanager8from contextlib import contextmanager
diff --git a/lib/lp/bugs/tests/test_bug.py b/lib/lp/bugs/tests/test_bug.py
index 2d76d10..dacbea9 100644
--- a/lib/lp/bugs/tests/test_bug.py
+++ b/lib/lp/bugs/tests/test_bug.py
@@ -3,8 +3,6 @@
33
4"""Tests for lp.bugs.model.Bug."""4"""Tests for lp.bugs.model.Bug."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import timedelta8from datetime import timedelta
diff --git a/lib/lp/bugs/tests/test_bugchanges.py b/lib/lp/bugs/tests/test_bugchanges.py
index 2c43f97..bd13985 100644
--- a/lib/lp/bugs/tests/test_bugchanges.py
+++ b/lib/lp/bugs/tests/test_bugchanges.py
@@ -3,8 +3,6 @@
33
4"""Tests for recording changes done to a bug."""4"""Tests for recording changes done to a bug."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8from lazr.lifecycle.event import ObjectCreatedEvent6from lazr.lifecycle.event import ObjectCreatedEvent
9from testtools.matchers import (7from testtools.matchers import (
10 MatchesStructure,8 MatchesStructure,
diff --git a/lib/lp/bugs/tests/test_buglinktarget.py b/lib/lp/bugs/tests/test_buglinktarget.py
index ccccc38..b5f5352 100644
--- a/lib/lp/bugs/tests/test_buglinktarget.py
+++ b/lib/lp/bugs/tests/test_buglinktarget.py
@@ -7,8 +7,6 @@ This module will run the interface test against the CVE, Specification,
7Question, and BranchMergeProposal implementations of that interface.7Question, and BranchMergeProposal implementations of that interface.
8"""8"""
99
10from __future__ import absolute_import, print_function, unicode_literals
11
12__metaclass__ = type10__metaclass__ = type
1311
14__all__ = []12__all__ = []
diff --git a/lib/lp/bugs/tests/test_bugsubscription.py b/lib/lp/bugs/tests/test_bugsubscription.py
index a554cfc..d665841 100644
--- a/lib/lp/bugs/tests/test_bugsubscription.py
+++ b/lib/lp/bugs/tests/test_bugsubscription.py
@@ -3,8 +3,6 @@
33
4"""Tests for BugSubscriptions."""4"""Tests for BugSubscriptions."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import json8import json
diff --git a/lib/lp/bugs/tests/test_bugtracker.py b/lib/lp/bugs/tests/test_bugtracker.py
index 67c6114..bd78368 100644
--- a/lib/lp/bugs/tests/test_bugtracker.py
+++ b/lib/lp/bugs/tests/test_bugtracker.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2020 Canonical Ltd. This software is licensed under the1# Copyright 2009-2020 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from datetime import (6from datetime import (
diff --git a/lib/lp/bugs/tests/test_bugtracker_vocabulary.py b/lib/lp/bugs/tests/test_bugtracker_vocabulary.py
index e766cd0..883f0ce 100644
--- a/lib/lp/bugs/tests/test_bugtracker_vocabulary.py
+++ b/lib/lp/bugs/tests/test_bugtracker_vocabulary.py
@@ -3,8 +3,6 @@
33
4"""Test the bug tracker vocabularies."""4"""Test the bug tracker vocabularies."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from zope.schema.vocabulary import getVocabularyRegistry8from zope.schema.vocabulary import getVocabularyRegistry
diff --git a/lib/lp/bugs/tests/test_cve.py b/lib/lp/bugs/tests/test_cve.py
index 60d2d61..e131bb5 100644
--- a/lib/lp/bugs/tests/test_cve.py
+++ b/lib/lp/bugs/tests/test_cve.py
@@ -3,8 +3,6 @@
33
4"""CVE related tests."""4"""CVE related tests."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8from zope.component import getUtility6from zope.component import getUtility
97
10from lp.bugs.interfaces.bugtasksearch import BugTaskSearchParams8from lp.bugs.interfaces.bugtasksearch import BugTaskSearchParams
diff --git a/lib/lp/bugs/utilities/tests/test_filebugdataparser.py b/lib/lp/bugs/utilities/tests/test_filebugdataparser.py
index 10858f7..d0d3734 100644
--- a/lib/lp/bugs/utilities/tests/test_filebugdataparser.py
+++ b/lib/lp/bugs/utilities/tests/test_filebugdataparser.py
@@ -9,8 +9,6 @@ information is uploaded as a MIME multipart message, where the different
9headers tells Launchpad what kind of information it is.9headers tells Launchpad what kind of information it is.
10"""10"""
1111
12from __future__ import absolute_import, print_function, unicode_literals
13
14__metaclass__ = type12__metaclass__ = type
1513
16import base6414import base64
diff --git a/lib/lp/buildmaster/browser/tests/test_builder.py b/lib/lp/buildmaster/browser/tests/test_builder.py
index a2d2408..9072c47 100644
--- a/lib/lp/buildmaster/browser/tests/test_builder.py
+++ b/lib/lp/buildmaster/browser/tests/test_builder.py
@@ -3,8 +3,6 @@
33
4"""Tests for the lp.soyuz.browser.builder module."""4"""Tests for the lp.soyuz.browser.builder module."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import timedelta8from datetime import timedelta
diff --git a/lib/lp/buildmaster/browser/tests/test_builder_views.py b/lib/lp/buildmaster/browser/tests/test_builder_views.py
index 24a735b..4d5c76e 100644
--- a/lib/lp/buildmaster/browser/tests/test_builder_views.py
+++ b/lib/lp/buildmaster/browser/tests/test_builder_views.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2018 Canonical Ltd. This software is licensed under the1# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from functools import partial6from functools import partial
diff --git a/lib/lp/buildmaster/browser/tests/test_processor.py b/lib/lp/buildmaster/browser/tests/test_processor.py
index bddcc04..0fa3928 100644
--- a/lib/lp/buildmaster/browser/tests/test_processor.py
+++ b/lib/lp/buildmaster/browser/tests/test_processor.py
@@ -3,8 +3,6 @@
33
4"""Tests for process navigation."""4"""Tests for process navigation."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.services.webapp.publisher import canonical_url8from lp.services.webapp.publisher import canonical_url
diff --git a/lib/lp/buildmaster/builderproxy.py b/lib/lp/buildmaster/builderproxy.py
index 6b1e7e0..7ff9870 100644
--- a/lib/lp/buildmaster/builderproxy.py
+++ b/lib/lp/buildmaster/builderproxy.py
@@ -10,8 +10,6 @@ authenticated proxy; we provide builds with the necessary authentication
10token if and only if they are allowed general internet access.10token if and only if they are allowed general internet access.
11"""11"""
1212
13from __future__ import absolute_import, print_function, unicode_literals
14
15__metaclass__ = type13__metaclass__ = type
16__all__ = [14__all__ = [
17 "BuilderProxyMixin",15 "BuilderProxyMixin",
diff --git a/lib/lp/buildmaster/downloader.py b/lib/lp/buildmaster/downloader.py
index 0e1f28f..214918b 100644
--- a/lib/lp/buildmaster/downloader.py
+++ b/lib/lp/buildmaster/downloader.py
@@ -7,8 +7,6 @@ To minimise subprocess memory use, this intentionally avoids importing
7anything from the rest of Launchpad.7anything from the rest of Launchpad.
8"""8"""
99
10from __future__ import absolute_import, print_function, unicode_literals
11
12__metaclass__ = type10__metaclass__ = type
13__all__ = [11__all__ = [
14 'DownloadCommand',12 'DownloadCommand',
diff --git a/lib/lp/buildmaster/tests/builderproxy.py b/lib/lp/buildmaster/tests/builderproxy.py
index 4c9a326..96a6a4b 100644
--- a/lib/lp/buildmaster/tests/builderproxy.py
+++ b/lib/lp/buildmaster/tests/builderproxy.py
@@ -3,8 +3,6 @@
33
4"""Fixtures for dealing with the build time HTTP proxy."""4"""Fixtures for dealing with the build time HTTP proxy."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import datetime8from datetime import datetime
diff --git a/lib/lp/buildmaster/tests/harness.py b/lib/lp/buildmaster/tests/harness.py
index 0cb68df..0c55b81 100644
--- a/lib/lp/buildmaster/tests/harness.py
+++ b/lib/lp/buildmaster/tests/harness.py
@@ -3,8 +3,6 @@
33
4"""TacHandler for `buildd-manager` daemon."""4"""TacHandler for `buildd-manager` daemon."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10__all__ = [8__all__ = [
diff --git a/lib/lp/buildmaster/tests/mock_slaves.py b/lib/lp/buildmaster/tests/mock_slaves.py
index f1de4cb..f419b25 100644
--- a/lib/lp/buildmaster/tests/mock_slaves.py
+++ b/lib/lp/buildmaster/tests/mock_slaves.py
@@ -3,8 +3,6 @@
33
4"""Mock Build objects for tests soyuz buildd-system."""4"""Mock Build objects for tests soyuz buildd-system."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10__all__ = [8__all__ = [
diff --git a/lib/lp/buildmaster/tests/test_builder.py b/lib/lp/buildmaster/tests/test_builder.py
index 33c4ca1..a1111d5 100644
--- a/lib/lp/buildmaster/tests/test_builder.py
+++ b/lib/lp/buildmaster/tests/test_builder.py
@@ -3,8 +3,6 @@
33
4"""Test Builder features."""4"""Test Builder features."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8from fixtures import FakeLogger6from fixtures import FakeLogger
9from zope.component import getUtility7from zope.component import getUtility
10from zope.security.proxy import removeSecurityProxy8from zope.security.proxy import removeSecurityProxy
diff --git a/lib/lp/buildmaster/tests/test_buildfarmjob.py b/lib/lp/buildmaster/tests/test_buildfarmjob.py
index 401f8ff..85a49a9 100644
--- a/lib/lp/buildmaster/tests/test_buildfarmjob.py
+++ b/lib/lp/buildmaster/tests/test_buildfarmjob.py
@@ -3,8 +3,6 @@
33
4"""Tests for `IBuildFarmJob`."""4"""Tests for `IBuildFarmJob`."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/buildmaster/tests/test_buildfarmjobbehaviour.py b/lib/lp/buildmaster/tests/test_buildfarmjobbehaviour.py
index dc548c4..8b80346 100644
--- a/lib/lp/buildmaster/tests/test_buildfarmjobbehaviour.py
+++ b/lib/lp/buildmaster/tests/test_buildfarmjobbehaviour.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for BuildFarmJobBehaviourBase."""4"""Unit tests for BuildFarmJobBehaviourBase."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from collections import OrderedDict8from collections import OrderedDict
diff --git a/lib/lp/buildmaster/tests/test_buildqueue.py b/lib/lp/buildmaster/tests/test_buildqueue.py
index 77ed62a..da11e87 100644
--- a/lib/lp/buildmaster/tests/test_buildqueue.py
+++ b/lib/lp/buildmaster/tests/test_buildqueue.py
@@ -2,8 +2,6 @@
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
3"""Test BuildQueue features."""3"""Test BuildQueue features."""
44
5from __future__ import absolute_import, print_function, unicode_literals
6
7from datetime import timedelta5from datetime import timedelta
86
9from zope.component import getUtility7from zope.component import getUtility
diff --git a/lib/lp/buildmaster/tests/test_doc.py b/lib/lp/buildmaster/tests/test_doc.py
index 0630514..ba56281 100644
--- a/lib/lp/buildmaster/tests/test_doc.py
+++ b/lib/lp/buildmaster/tests/test_doc.py
@@ -3,8 +3,6 @@
33
4"""Run doctests and pagetests."""4"""Run doctests and pagetests."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8import os6import os
97
10from lp.services.testing import build_test_suite8from lp.services.testing import build_test_suite
diff --git a/lib/lp/buildmaster/tests/test_interactor.py b/lib/lp/buildmaster/tests/test_interactor.py
index 3abbed3..19572f2 100644
--- a/lib/lp/buildmaster/tests/test_interactor.py
+++ b/lib/lp/buildmaster/tests/test_interactor.py
@@ -3,8 +3,6 @@
33
4"""Test BuilderInteractor features."""4"""Test BuilderInteractor features."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__all__ = [6__all__ = [
9 'FakeBuildQueue',7 'FakeBuildQueue',
10 'MockBuilderFactory',8 'MockBuilderFactory',
diff --git a/lib/lp/buildmaster/tests/test_manager.py b/lib/lp/buildmaster/tests/test_manager.py
index 2da4753..9f49176 100644
--- a/lib/lp/buildmaster/tests/test_manager.py
+++ b/lib/lp/buildmaster/tests/test_manager.py
@@ -7,8 +7,6 @@
77
8"""Tests for the renovated slave scanner aka BuilddManager."""8"""Tests for the renovated slave scanner aka BuilddManager."""
99
10from __future__ import absolute_import, print_function, unicode_literals
11
12import os10import os
13import signal11import signal
14import time12import time
diff --git a/lib/lp/buildmaster/tests/test_packagebuild.py b/lib/lp/buildmaster/tests/test_packagebuild.py
index 9ff5f97..ea171f8 100644
--- a/lib/lp/buildmaster/tests/test_packagebuild.py
+++ b/lib/lp/buildmaster/tests/test_packagebuild.py
@@ -3,8 +3,6 @@
33
4"""Tests for `IPackageBuild`."""4"""Tests for `IPackageBuild`."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import hashlib8import hashlib
diff --git a/lib/lp/buildmaster/tests/test_processor.py b/lib/lp/buildmaster/tests/test_processor.py
index 7bd8269..756dfda 100644
--- a/lib/lp/buildmaster/tests/test_processor.py
+++ b/lib/lp/buildmaster/tests/test_processor.py
@@ -3,8 +3,6 @@
33
4"""Test Processor features."""4"""Test Processor features."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8from zope.component import getUtility6from zope.component import getUtility
97
10from lp.buildmaster.interfaces.processor import (8from lp.buildmaster.interfaces.processor import (
diff --git a/lib/lp/buildmaster/tests/test_queuedepth.py b/lib/lp/buildmaster/tests/test_queuedepth.py
index b9198e1..87bb318 100644
--- a/lib/lp/buildmaster/tests/test_queuedepth.py
+++ b/lib/lp/buildmaster/tests/test_queuedepth.py
@@ -2,8 +2,6 @@
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
3"""Test BuildQueue start time estimation."""3"""Test BuildQueue start time estimation."""
44
5from __future__ import absolute_import, print_function, unicode_literals
6
7from datetime import (5from datetime import (
8 datetime,6 datetime,
9 timedelta,7 timedelta,
diff --git a/lib/lp/buildmaster/tests/test_webservice.py b/lib/lp/buildmaster/tests/test_webservice.py
index 5534c09..36a6350 100644
--- a/lib/lp/buildmaster/tests/test_webservice.py
+++ b/lib/lp/buildmaster/tests/test_webservice.py
@@ -3,8 +3,6 @@
33
4"""Tests for the builders webservice ."""4"""Tests for the builders webservice ."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from json import dumps8from json import dumps
diff --git a/lib/lp/charms/adapters/buildarch.py b/lib/lp/charms/adapters/buildarch.py
index 5c76fa9..ac32d86 100644
--- a/lib/lp/charms/adapters/buildarch.py
+++ b/lib/lp/charms/adapters/buildarch.py
@@ -1,8 +1,6 @@
1# Copyright 2021 Canonical Ltd. This software is licensed under the1# Copyright 2021 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
7__all__ = [5__all__ = [
8 "determine_instances_to_build",6 "determine_instances_to_build",
diff --git a/lib/lp/charms/adapters/tests/test_buildarch.py b/lib/lp/charms/adapters/tests/test_buildarch.py
index 7511f67..569ad02 100644
--- a/lib/lp/charms/adapters/tests/test_buildarch.py
+++ b/lib/lp/charms/adapters/tests/test_buildarch.py
@@ -1,8 +1,6 @@
1# Copyright 2021 Canonical Ltd. This software is licensed under the1# Copyright 2021 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from functools import partial6from functools import partial
diff --git a/lib/lp/charms/browser/charmrecipe.py b/lib/lp/charms/browser/charmrecipe.py
index 1f6a9d8..501f700 100644
--- a/lib/lp/charms/browser/charmrecipe.py
+++ b/lib/lp/charms/browser/charmrecipe.py
@@ -3,8 +3,6 @@
33
4"""Charm recipe views."""4"""Charm recipe views."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 "CharmRecipeAddView",8 "CharmRecipeAddView",
diff --git a/lib/lp/charms/browser/charmrecipebuild.py b/lib/lp/charms/browser/charmrecipebuild.py
index f695084..5addc5b 100644
--- a/lib/lp/charms/browser/charmrecipebuild.py
+++ b/lib/lp/charms/browser/charmrecipebuild.py
@@ -3,8 +3,6 @@
33
4"""Charm recipe build views."""4"""Charm recipe build views."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 "CharmRecipeBuildContextMenu",8 "CharmRecipeBuildContextMenu",
diff --git a/lib/lp/charms/browser/charmrecipelisting.py b/lib/lp/charms/browser/charmrecipelisting.py
index d9b3edd..4105419 100644
--- a/lib/lp/charms/browser/charmrecipelisting.py
+++ b/lib/lp/charms/browser/charmrecipelisting.py
@@ -3,8 +3,6 @@
33
4"""Base class view for charm recipe listings."""4"""Base class view for charm recipe listings."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10__all__ = [8__all__ = [
diff --git a/lib/lp/charms/browser/hascharmrecipes.py b/lib/lp/charms/browser/hascharmrecipes.py
index 16f6f4c..7243201 100644
--- a/lib/lp/charms/browser/hascharmrecipes.py
+++ b/lib/lp/charms/browser/hascharmrecipes.py
@@ -3,8 +3,6 @@
33
4"""Mixins for browser classes for objects that have charm recipes."""4"""Mixins for browser classes for objects that have charm recipes."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 "HasCharmRecipesMenuMixin",8 "HasCharmRecipesMenuMixin",
diff --git a/lib/lp/charms/browser/tests/test_charmrecipe.py b/lib/lp/charms/browser/tests/test_charmrecipe.py
index 8b95ff8..6dc4a2d 100644
--- a/lib/lp/charms/browser/tests/test_charmrecipe.py
+++ b/lib/lp/charms/browser/tests/test_charmrecipe.py
@@ -3,8 +3,6 @@
33
4"""Test charm recipe views."""4"""Test charm recipe views."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/charms/browser/tests/test_charmrecipebuild.py b/lib/lp/charms/browser/tests/test_charmrecipebuild.py
index d9c6ebd..08c13a1 100644
--- a/lib/lp/charms/browser/tests/test_charmrecipebuild.py
+++ b/lib/lp/charms/browser/tests/test_charmrecipebuild.py
@@ -3,8 +3,6 @@
33
4"""Test charm recipe build views."""4"""Test charm recipe build views."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import re8import re
diff --git a/lib/lp/charms/browser/tests/test_charmrecipelisting.py b/lib/lp/charms/browser/tests/test_charmrecipelisting.py
index 5bfd233..792ca1f 100644
--- a/lib/lp/charms/browser/tests/test_charmrecipelisting.py
+++ b/lib/lp/charms/browser/tests/test_charmrecipelisting.py
@@ -3,8 +3,6 @@
33
4"""Test charm recipe listings."""4"""Test charm recipe listings."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/charms/browser/tests/test_hascharmrecipes.py b/lib/lp/charms/browser/tests/test_hascharmrecipes.py
index 6cc7bf7..ff00c6e 100644
--- a/lib/lp/charms/browser/tests/test_hascharmrecipes.py
+++ b/lib/lp/charms/browser/tests/test_hascharmrecipes.py
@@ -3,8 +3,6 @@
33
4"""Test views for objects that have charm recipes."""4"""Test views for objects that have charm recipes."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import soupmatchers8import soupmatchers
diff --git a/lib/lp/charms/browser/widgets/charmrecipebuildchannels.py b/lib/lp/charms/browser/widgets/charmrecipebuildchannels.py
index b1512ed..f5b2861 100644
--- a/lib/lp/charms/browser/widgets/charmrecipebuildchannels.py
+++ b/lib/lp/charms/browser/widgets/charmrecipebuildchannels.py
@@ -3,8 +3,6 @@
33
4"""A widget for selecting source snap channels for charm recipe builds."""4"""A widget for selecting source snap channels for charm recipe builds."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 "CharmRecipeBuildChannelsWidget",8 "CharmRecipeBuildChannelsWidget",
diff --git a/lib/lp/charms/browser/widgets/tests/test_charmrecipebuildchannelswidget.py b/lib/lp/charms/browser/widgets/tests/test_charmrecipebuildchannelswidget.py
index 67b2040..b20d944 100644
--- a/lib/lp/charms/browser/widgets/tests/test_charmrecipebuildchannelswidget.py
+++ b/lib/lp/charms/browser/widgets/tests/test_charmrecipebuildchannelswidget.py
@@ -1,8 +1,6 @@
1# Copyright 2021 Canonical Ltd. This software is licensed under the1# Copyright 2021 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8import re6import re
diff --git a/lib/lp/charms/interfaces/charmrecipe.py b/lib/lp/charms/interfaces/charmrecipe.py
index c7b7dd6..0f55360 100644
--- a/lib/lp/charms/interfaces/charmrecipe.py
+++ b/lib/lp/charms/interfaces/charmrecipe.py
@@ -3,8 +3,6 @@
33
4"""Charm recipe interfaces."""4"""Charm recipe interfaces."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 "BadCharmRecipeSource",8 "BadCharmRecipeSource",
diff --git a/lib/lp/charms/interfaces/charmrecipebuild.py b/lib/lp/charms/interfaces/charmrecipebuild.py
index 077ccce..8b678bb 100644
--- a/lib/lp/charms/interfaces/charmrecipebuild.py
+++ b/lib/lp/charms/interfaces/charmrecipebuild.py
@@ -3,8 +3,6 @@
33
4"""Charm recipe build interfaces."""4"""Charm recipe build interfaces."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 "ICharmFile",8 "ICharmFile",
diff --git a/lib/lp/charms/interfaces/charmrecipejob.py b/lib/lp/charms/interfaces/charmrecipejob.py
index 1094e5a..08eedc5 100644
--- a/lib/lp/charms/interfaces/charmrecipejob.py
+++ b/lib/lp/charms/interfaces/charmrecipejob.py
@@ -3,8 +3,6 @@
33
4"""Charm recipe job interfaces."""4"""Charm recipe job interfaces."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 "ICharmRecipeJob",8 "ICharmRecipeJob",
diff --git a/lib/lp/charms/mail/charmrecipebuild.py b/lib/lp/charms/mail/charmrecipebuild.py
index 4486809..9f997cb 100644
--- a/lib/lp/charms/mail/charmrecipebuild.py
+++ b/lib/lp/charms/mail/charmrecipebuild.py
@@ -1,8 +1,6 @@
1# Copyright 2021 Canonical Ltd. This software is licensed under the1# Copyright 2021 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
7__all__ = [5__all__ = [
8 "CharmRecipeBuildMailer",6 "CharmRecipeBuildMailer",
diff --git a/lib/lp/charms/model/charmrecipe.py b/lib/lp/charms/model/charmrecipe.py
index 163d393..1231749 100644
--- a/lib/lp/charms/model/charmrecipe.py
+++ b/lib/lp/charms/model/charmrecipe.py
@@ -3,8 +3,6 @@
33
4"""Charm recipes."""4"""Charm recipes."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 "CharmRecipe",8 "CharmRecipe",
diff --git a/lib/lp/charms/model/charmrecipebuild.py b/lib/lp/charms/model/charmrecipebuild.py
index 088b7b1..3a38f2a 100644
--- a/lib/lp/charms/model/charmrecipebuild.py
+++ b/lib/lp/charms/model/charmrecipebuild.py
@@ -3,8 +3,6 @@
33
4"""Charm recipe builds."""4"""Charm recipe builds."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 "CharmFile",8 "CharmFile",
diff --git a/lib/lp/charms/model/charmrecipebuildbehaviour.py b/lib/lp/charms/model/charmrecipebuildbehaviour.py
index e66545b..f5cc34d 100644
--- a/lib/lp/charms/model/charmrecipebuildbehaviour.py
+++ b/lib/lp/charms/model/charmrecipebuildbehaviour.py
@@ -6,8 +6,6 @@
6Dispatches charm recipe build jobs to build-farm slaves.6Dispatches charm recipe build jobs to build-farm slaves.
7"""7"""
88
9from __future__ import absolute_import, print_function, unicode_literals
10
11__metaclass__ = type9__metaclass__ = type
12__all__ = [10__all__ = [
13 "CharmRecipeBuildBehaviour",11 "CharmRecipeBuildBehaviour",
diff --git a/lib/lp/charms/model/charmrecipejob.py b/lib/lp/charms/model/charmrecipejob.py
index 555311d..354ce54 100644
--- a/lib/lp/charms/model/charmrecipejob.py
+++ b/lib/lp/charms/model/charmrecipejob.py
@@ -3,8 +3,6 @@
33
4"""Charm recipe jobs."""4"""Charm recipe jobs."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 "CharmRecipeJob",8 "CharmRecipeJob",
diff --git a/lib/lp/charms/tests/test_charmrecipe.py b/lib/lp/charms/tests/test_charmrecipe.py
index d4efb7c..21b7a50 100644
--- a/lib/lp/charms/tests/test_charmrecipe.py
+++ b/lib/lp/charms/tests/test_charmrecipe.py
@@ -3,8 +3,6 @@
33
4"""Test charm recipes."""4"""Test charm recipes."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from textwrap import dedent8from textwrap import dedent
diff --git a/lib/lp/charms/tests/test_charmrecipebuild.py b/lib/lp/charms/tests/test_charmrecipebuild.py
index 7258d3a..0bc600a 100644
--- a/lib/lp/charms/tests/test_charmrecipebuild.py
+++ b/lib/lp/charms/tests/test_charmrecipebuild.py
@@ -3,8 +3,6 @@
33
4"""Test charm package build features."""4"""Test charm package build features."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/charms/tests/test_charmrecipebuildbehaviour.py b/lib/lp/charms/tests/test_charmrecipebuildbehaviour.py
index 16c9dad..ea310a1 100644
--- a/lib/lp/charms/tests/test_charmrecipebuildbehaviour.py
+++ b/lib/lp/charms/tests/test_charmrecipebuildbehaviour.py
@@ -3,8 +3,6 @@
33
4"""Test charm recipe build behaviour."""4"""Test charm recipe build behaviour."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import base648import base64
diff --git a/lib/lp/charms/tests/test_charmrecipejob.py b/lib/lp/charms/tests/test_charmrecipejob.py
index 6dbd168..ff93436 100644
--- a/lib/lp/charms/tests/test_charmrecipejob.py
+++ b/lib/lp/charms/tests/test_charmrecipejob.py
@@ -3,8 +3,6 @@
33
4"""Tests for charm recipe jobs."""4"""Tests for charm recipe jobs."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from textwrap import dedent8from textwrap import dedent
diff --git a/lib/lp/code/browser/tests/test_bazaar.py b/lib/lp/code/browser/tests/test_bazaar.py
index 5f63d76..42209d4 100644
--- a/lib/lp/code/browser/tests/test_bazaar.py
+++ b/lib/lp/code/browser/tests/test_bazaar.py
@@ -3,8 +3,6 @@
33
4"""Tests for classes in the lp.code.browser.bazaar module."""4"""Tests for classes in the lp.code.browser.bazaar module."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from zope.security.proxy import removeSecurityProxy8from zope.security.proxy import removeSecurityProxy
diff --git a/lib/lp/code/browser/tests/test_branch.py b/lib/lp/code/browser/tests/test_branch.py
index 2727002..e5f41fb 100644
--- a/lib/lp/code/browser/tests/test_branch.py
+++ b/lib/lp/code/browser/tests/test_branch.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for BranchView."""4"""Unit tests for BranchView."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import datetime8from datetime import datetime
diff --git a/lib/lp/code/browser/tests/test_branchlisting.py b/lib/lp/code/browser/tests/test_branchlisting.py
index 5aed624..04afdc2 100644
--- a/lib/lp/code/browser/tests/test_branchlisting.py
+++ b/lib/lp/code/browser/tests/test_branchlisting.py
@@ -3,8 +3,6 @@
33
4"""Tests for branch listing."""4"""Tests for branch listing."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import timedelta8from datetime import timedelta
diff --git a/lib/lp/code/browser/tests/test_branchmergeproposal.py b/lib/lp/code/browser/tests/test_branchmergeproposal.py
index ba2ee85..c4a776d 100644
--- a/lib/lp/code/browser/tests/test_branchmergeproposal.py
+++ b/lib/lp/code/browser/tests/test_branchmergeproposal.py
@@ -7,8 +7,6 @@
77
8"""Unit tests for BranchMergeProposals."""8"""Unit tests for BranchMergeProposals."""
99
10from __future__ import absolute_import, print_function, unicode_literals
11
12__metaclass__ = type10__metaclass__ = type
1311
14from datetime import (12from datetime import (
diff --git a/lib/lp/code/browser/tests/test_branchmergeproposallisting.py b/lib/lp/code/browser/tests/test_branchmergeproposallisting.py
index b083358..c1346c3 100644
--- a/lib/lp/code/browser/tests/test_branchmergeproposallisting.py
+++ b/lib/lp/code/browser/tests/test_branchmergeproposallisting.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for BranchMergeProposal listing views."""4"""Unit tests for BranchMergeProposal listing views."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import datetime8from datetime import datetime
diff --git a/lib/lp/code/browser/tests/test_branchsubscription.py b/lib/lp/code/browser/tests/test_branchsubscription.py
index e75aac3..e901130 100644
--- a/lib/lp/code/browser/tests/test_branchsubscription.py
+++ b/lib/lp/code/browser/tests/test_branchsubscription.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for BranchSubscriptions."""4"""Unit tests for BranchSubscriptions."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.app.enums import InformationType8from lp.app.enums import InformationType
diff --git a/lib/lp/code/browser/tests/test_branchtraversal.py b/lib/lp/code/browser/tests/test_branchtraversal.py
index c26a699..1129034 100644
--- a/lib/lp/code/browser/tests/test_branchtraversal.py
+++ b/lib/lp/code/browser/tests/test_branchtraversal.py
@@ -3,8 +3,6 @@
33
4"""Tests for branch traversal."""4"""Tests for branch traversal."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8from zope.component import getUtility6from zope.component import getUtility
9from zope.publisher.interfaces import NotFound7from zope.publisher.interfaces import NotFound
10from zope.security.proxy import removeSecurityProxy8from zope.security.proxy import removeSecurityProxy
diff --git a/lib/lp/code/browser/tests/test_breadcrumbs.py b/lib/lp/code/browser/tests/test_breadcrumbs.py
index af9c33a..494ea67 100644
--- a/lib/lp/code/browser/tests/test_breadcrumbs.py
+++ b/lib/lp/code/browser/tests/test_breadcrumbs.py
@@ -1,8 +1,6 @@
1# Copyright 2010-2017 Canonical Ltd. This software is licensed under the1# Copyright 2010-2017 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from lp.testing.breadcrumbs import BaseBreadcrumbTestCase6from lp.testing.breadcrumbs import BaseBreadcrumbTestCase
diff --git a/lib/lp/code/browser/tests/test_codeimport.py b/lib/lp/code/browser/tests/test_codeimport.py
index 86cf64c..f8b1470 100644
--- a/lib/lp/code/browser/tests/test_codeimport.py
+++ b/lib/lp/code/browser/tests/test_codeimport.py
@@ -3,8 +3,6 @@
33
4"""Tests for the code import browser code."""4"""Tests for the code import browser code."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import re8import re
diff --git a/lib/lp/code/browser/tests/test_codereviewcomment.py b/lib/lp/code/browser/tests/test_codereviewcomment.py
index e74e310..fb38ae1 100644
--- a/lib/lp/code/browser/tests/test_codereviewcomment.py
+++ b/lib/lp/code/browser/tests/test_codereviewcomment.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for CodeReviewComments."""4"""Unit tests for CodeReviewComments."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import re8import re
diff --git a/lib/lp/code/browser/tests/test_codereviewvote.py b/lib/lp/code/browser/tests/test_codereviewvote.py
index 7dbcf0c..f1cc64e 100644
--- a/lib/lp/code/browser/tests/test_codereviewvote.py
+++ b/lib/lp/code/browser/tests/test_codereviewvote.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for CodeReviewVoteReferences."""4"""Unit tests for CodeReviewVoteReferences."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.services.webapp import canonical_url8from lp.services.webapp import canonical_url
diff --git a/lib/lp/code/browser/tests/test_diff.py b/lib/lp/code/browser/tests/test_diff.py
index 0270e90..8538437 100644
--- a/lib/lp/code/browser/tests/test_diff.py
+++ b/lib/lp/code/browser/tests/test_diff.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for DiffView."""4"""Unit tests for DiffView."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8from lp.code.browser.diff import PreviewDiffFormatterAPI6from lp.code.browser.diff import PreviewDiffFormatterAPI
9from lp.testing import TestCaseWithFactory7from lp.testing import TestCaseWithFactory
10from lp.testing.layers import LaunchpadFunctionalLayer8from lp.testing.layers import LaunchpadFunctionalLayer
diff --git a/lib/lp/code/browser/tests/test_gitlisting.py b/lib/lp/code/browser/tests/test_gitlisting.py
index fab5cd4..7856dd0 100644
--- a/lib/lp/code/browser/tests/test_gitlisting.py
+++ b/lib/lp/code/browser/tests/test_gitlisting.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for Git listing views."""4"""Unit tests for Git listing views."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from zope.component import getUtility8from zope.component import getUtility
diff --git a/lib/lp/code/browser/tests/test_gitref.py b/lib/lp/code/browser/tests/test_gitref.py
index 4ded628..59120fd 100644
--- a/lib/lp/code/browser/tests/test_gitref.py
+++ b/lib/lp/code/browser/tests/test_gitref.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for GitRefView."""4"""Unit tests for GitRefView."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import datetime8from datetime import datetime
diff --git a/lib/lp/code/browser/tests/test_gitrepository.py b/lib/lp/code/browser/tests/test_gitrepository.py
index 843d60a..94bf2ce 100644
--- a/lib/lp/code/browser/tests/test_gitrepository.py
+++ b/lib/lp/code/browser/tests/test_gitrepository.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for GitRepositoryView."""4"""Unit tests for GitRepositoryView."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import base648import base64
diff --git a/lib/lp/code/browser/tests/test_gitsubscription.py b/lib/lp/code/browser/tests/test_gitsubscription.py
index 17c9136..54283c5 100644
--- a/lib/lp/code/browser/tests/test_gitsubscription.py
+++ b/lib/lp/code/browser/tests/test_gitsubscription.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for GitSubscriptions."""4"""Unit tests for GitSubscriptions."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from fixtures import FakeLogger8from fixtures import FakeLogger
diff --git a/lib/lp/code/browser/tests/test_product.py b/lib/lp/code/browser/tests/test_product.py
index 61a6240..32c6549 100644
--- a/lib/lp/code/browser/tests/test_product.py
+++ b/lib/lp/code/browser/tests/test_product.py
@@ -3,8 +3,6 @@
33
4"""Tests for the product view classes and templates."""4"""Tests for the product view classes and templates."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/code/browser/tests/test_revisionauthor.py b/lib/lp/code/browser/tests/test_revisionauthor.py
index 891409e..7321e4c 100644
--- a/lib/lp/code/browser/tests/test_revisionauthor.py
+++ b/lib/lp/code/browser/tests/test_revisionauthor.py
@@ -3,8 +3,6 @@
33
4"""Tests related to `RevisionAuthor`."""4"""Tests related to `RevisionAuthor`."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.app.browser.tales import (8from lp.app.browser.tales import (
diff --git a/lib/lp/code/browser/tests/test_sourcepackagerecipe.py b/lib/lp/code/browser/tests/test_sourcepackagerecipe.py
index 5ab4908..4dbe2be 100644
--- a/lib/lp/code/browser/tests/test_sourcepackagerecipe.py
+++ b/lib/lp/code/browser/tests/test_sourcepackagerecipe.py
@@ -3,8 +3,6 @@
33
4"""Tests for the source package recipe view classes and templates."""4"""Tests for the source package recipe view classes and templates."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/code/browser/tests/test_sourcepackagerecipebuild.py b/lib/lp/code/browser/tests/test_sourcepackagerecipebuild.py
index 3f3ec4f..8bb1345 100644
--- a/lib/lp/code/browser/tests/test_sourcepackagerecipebuild.py
+++ b/lib/lp/code/browser/tests/test_sourcepackagerecipebuild.py
@@ -3,8 +3,6 @@
33
4"""Tests for the source package recipe view classes and templates."""4"""Tests for the source package recipe view classes and templates."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from fixtures import FakeLogger8from fixtures import FakeLogger
diff --git a/lib/lp/code/browser/tests/test_sourcepackagerecipelisting.py b/lib/lp/code/browser/tests/test_sourcepackagerecipelisting.py
index 8e6c963..63c623b 100644
--- a/lib/lp/code/browser/tests/test_sourcepackagerecipelisting.py
+++ b/lib/lp/code/browser/tests/test_sourcepackagerecipelisting.py
@@ -3,8 +3,6 @@
33
4"""Tests for sourcepackagerecipe listings."""4"""Tests for sourcepackagerecipe listings."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.testing import (8from lp.testing import (
diff --git a/lib/lp/code/browser/tests/test_tales.py b/lib/lp/code/browser/tests/test_tales.py
index dbd2f52..fc55ea3 100644
--- a/lib/lp/code/browser/tests/test_tales.py
+++ b/lib/lp/code/browser/tests/test_tales.py
@@ -3,8 +3,6 @@
33
4"""Tests for the tales formatters."""4"""Tests for the tales formatters."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from difflib import unified_diff8from difflib import unified_diff
diff --git a/lib/lp/code/browser/tests/test_vcslisting.py b/lib/lp/code/browser/tests/test_vcslisting.py
index 127d9d3..d636010 100644
--- a/lib/lp/code/browser/tests/test_vcslisting.py
+++ b/lib/lp/code/browser/tests/test_vcslisting.py
@@ -3,8 +3,6 @@
33
4"""Tests for the product view classes and templates."""4"""Tests for the product view classes and templates."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from zope.publisher.interfaces import NotFound8from zope.publisher.interfaces import NotFound
diff --git a/lib/lp/code/browser/widgets/gitgrantee.py b/lib/lp/code/browser/widgets/gitgrantee.py
index 3720cf0..c4913dd 100644
--- a/lib/lp/code/browser/widgets/gitgrantee.py
+++ b/lib/lp/code/browser/widgets/gitgrantee.py
@@ -1,8 +1,6 @@
1# Copyright 2018 Canonical Ltd. This software is licensed under the1# Copyright 2018 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
7__all__ = [5__all__ = [
8 'GitGranteeDisplayWidget',6 'GitGranteeDisplayWidget',
diff --git a/lib/lp/code/browser/widgets/tests/test_gitgrantee.py b/lib/lp/code/browser/widgets/tests/test_gitgrantee.py
index 28d0011..6d9bf55 100644
--- a/lib/lp/code/browser/widgets/tests/test_gitgrantee.py
+++ b/lib/lp/code/browser/widgets/tests/test_gitgrantee.py
@@ -1,8 +1,6 @@
1# Copyright 2018 Canonical Ltd. This software is licensed under the1# Copyright 2018 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8import re6import re
diff --git a/lib/lp/code/browser/widgets/tests/test_gitrepositorytargetwidget.py b/lib/lp/code/browser/widgets/tests/test_gitrepositorytargetwidget.py
index 3d1c5b7..bcae3fd 100644
--- a/lib/lp/code/browser/widgets/tests/test_gitrepositorytargetwidget.py
+++ b/lib/lp/code/browser/widgets/tests/test_gitrepositorytargetwidget.py
@@ -1,8 +1,6 @@
1# Copyright 2015-2020 Canonical Ltd. This software is licensed under the1# Copyright 2015-2020 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8import re6import re
diff --git a/lib/lp/code/interfaces/gitactivity.py b/lib/lp/code/interfaces/gitactivity.py
index 00c3b26..ae1217c 100644
--- a/lib/lp/code/interfaces/gitactivity.py
+++ b/lib/lp/code/interfaces/gitactivity.py
@@ -3,8 +3,6 @@
33
4"""Git repository activity logs."""4"""Git repository activity logs."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'IGitActivity',8 'IGitActivity',
diff --git a/lib/lp/code/interfaces/gitrule.py b/lib/lp/code/interfaces/gitrule.py
index 7b3c117..61ea290 100644
--- a/lib/lp/code/interfaces/gitrule.py
+++ b/lib/lp/code/interfaces/gitrule.py
@@ -3,8 +3,6 @@
33
4"""Git repository access rules."""4"""Git repository access rules."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'describe_git_permissions',8 'describe_git_permissions',
diff --git a/lib/lp/code/mail/patches.py b/lib/lp/code/mail/patches.py
index 51cf325..091dbc0 100644
--- a/lib/lp/code/mail/patches.py
+++ b/lib/lp/code/mail/patches.py
@@ -18,8 +18,6 @@
18# along with this program; if not, write to the Free Software18# along with this program; if not, write to the Free Software
19# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA19# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
2020
21from __future__ import absolute_import
22
23from breezy.patches import (21from breezy.patches import (
24 binary_files_re,22 binary_files_re,
25 hunk_from_header,23 hunk_from_header,
diff --git a/lib/lp/code/mail/tests/test_codehandler.py b/lib/lp/code/mail/tests/test_codehandler.py
index d826925..3ab963d 100644
--- a/lib/lp/code/mail/tests/test_codehandler.py
+++ b/lib/lp/code/mail/tests/test_codehandler.py
@@ -3,8 +3,6 @@
33
4"""Testing the CodeHandler."""4"""Testing the CodeHandler."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from textwrap import dedent8from textwrap import dedent
diff --git a/lib/lp/code/mail/tests/test_codeimport.py b/lib/lp/code/mail/tests/test_codeimport.py
index 03411f5..18ecb59 100644
--- a/lib/lp/code/mail/tests/test_codeimport.py
+++ b/lib/lp/code/mail/tests/test_codeimport.py
@@ -3,8 +3,6 @@
33
4"""Tests for code import related mailings"""4"""Tests for code import related mailings"""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8import textwrap6import textwrap
97
10import six8import six
diff --git a/lib/lp/code/mail/tests/test_codereviewcomment.py b/lib/lp/code/mail/tests/test_codereviewcomment.py
index 8c65a49..eca27d0 100644
--- a/lib/lp/code/mail/tests/test_codereviewcomment.py
+++ b/lib/lp/code/mail/tests/test_codereviewcomment.py
@@ -3,8 +3,6 @@
33
4"""Test CodeReviewComment emailing functionality."""4"""Test CodeReviewComment emailing functionality."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8import testtools6import testtools
9import transaction7import transaction
10from zope.component import getUtility8from zope.component import getUtility
diff --git a/lib/lp/code/model/branchhosting.py b/lib/lp/code/model/branchhosting.py
index 57e373c..79f1e49 100644
--- a/lib/lp/code/model/branchhosting.py
+++ b/lib/lp/code/model/branchhosting.py
@@ -3,8 +3,6 @@
33
4"""Communication with the Loggerhead API for Bazaar code hosting."""4"""Communication with the Loggerhead API for Bazaar code hosting."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'BranchHostingClient',8 'BranchHostingClient',
diff --git a/lib/lp/code/model/branchsubscription.py b/lib/lp/code/model/branchsubscription.py
index 74ac06f..070e62f 100644
--- a/lib/lp/code/model/branchsubscription.py
+++ b/lib/lp/code/model/branchsubscription.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2020 Canonical Ltd. This software is licensed under the1# Copyright 2009-2020 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
7__all__ = ['BranchSubscription']5__all__ = ['BranchSubscription']
86
diff --git a/lib/lp/code/model/codeimport.py b/lib/lp/code/model/codeimport.py
index 95d0b99..57dcb2f 100644
--- a/lib/lp/code/model/codeimport.py
+++ b/lib/lp/code/model/codeimport.py
@@ -3,8 +3,6 @@
33
4"""Database classes including and related to CodeImport."""4"""Database classes including and related to CodeImport."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10__all__ = [8__all__ = [
diff --git a/lib/lp/code/model/codeimportevent.py b/lib/lp/code/model/codeimportevent.py
index 2cb2b4d..fef2ab8 100644
--- a/lib/lp/code/model/codeimportevent.py
+++ b/lib/lp/code/model/codeimportevent.py
@@ -3,8 +3,6 @@
33
4"""Database classes related to and including CodeImportEvent."""4"""Database classes related to and including CodeImportEvent."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'CodeImportEvent',8 'CodeImportEvent',
diff --git a/lib/lp/code/model/codeimportjob.py b/lib/lp/code/model/codeimportjob.py
index 3afe6b4..989bc73 100644
--- a/lib/lp/code/model/codeimportjob.py
+++ b/lib/lp/code/model/codeimportjob.py
@@ -3,8 +3,6 @@
33
4"""Database classes for the CodeImportJob table."""4"""Database classes for the CodeImportJob table."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'CodeImportJob',8 'CodeImportJob',
diff --git a/lib/lp/code/model/codeimportmachine.py b/lib/lp/code/model/codeimportmachine.py
index 07d0028..eb66f0a 100644
--- a/lib/lp/code/model/codeimportmachine.py
+++ b/lib/lp/code/model/codeimportmachine.py
@@ -3,8 +3,6 @@
33
4"""Database classes including and related to CodeImportMachine."""4"""Database classes including and related to CodeImportMachine."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10__all__ = [8__all__ = [
diff --git a/lib/lp/code/model/codeimportresult.py b/lib/lp/code/model/codeimportresult.py
index 6c1a81f..d50928f 100644
--- a/lib/lp/code/model/codeimportresult.py
+++ b/lib/lp/code/model/codeimportresult.py
@@ -3,8 +3,6 @@
33
4"""Database classes for the CodeImportResult table."""4"""Database classes for the CodeImportResult table."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = ['CodeImportResult', 'CodeImportResultSet']7__all__ = ['CodeImportResult', 'CodeImportResultSet']
108
diff --git a/lib/lp/code/model/gitactivity.py b/lib/lp/code/model/gitactivity.py
index 8f17372..9ac33c6 100644
--- a/lib/lp/code/model/gitactivity.py
+++ b/lib/lp/code/model/gitactivity.py
@@ -3,8 +3,6 @@
33
4"""Git repository activity logs."""4"""Git repository activity logs."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'GitActivity',8 'GitActivity',
diff --git a/lib/lp/code/model/gitrule.py b/lib/lp/code/model/gitrule.py
index 52818bb..16b4b26 100644
--- a/lib/lp/code/model/gitrule.py
+++ b/lib/lp/code/model/gitrule.py
@@ -3,8 +3,6 @@
33
4"""Git repository access rules."""4"""Git repository access rules."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'GitRule',8 'GitRule',
diff --git a/lib/lp/code/model/sourcepackagerecipe.py b/lib/lp/code/model/sourcepackagerecipe.py
index 9eba658..a98f839 100644
--- a/lib/lp/code/model/sourcepackagerecipe.py
+++ b/lib/lp/code/model/sourcepackagerecipe.py
@@ -3,8 +3,6 @@
33
4"""Implementation of the `SourcePackageRecipe` content type."""4"""Implementation of the `SourcePackageRecipe` content type."""
55
6from __future__ import division
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'SourcePackageRecipe',8 'SourcePackageRecipe',
diff --git a/lib/lp/code/model/tests/test_branch.py b/lib/lp/code/model/tests/test_branch.py
index d69c650..37299d9 100644
--- a/lib/lp/code/model/tests/test_branch.py
+++ b/lib/lp/code/model/tests/test_branch.py
@@ -3,8 +3,6 @@
33
4"""Tests for Branches."""4"""Tests for Branches."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/code/model/tests/test_branchcloud.py b/lib/lp/code/model/tests/test_branchcloud.py
index 6c9cfbf..5406e1c 100644
--- a/lib/lp/code/model/tests/test_branchcloud.py
+++ b/lib/lp/code/model/tests/test_branchcloud.py
@@ -3,8 +3,6 @@
33
4"""Tests for IBranchCloud provider."""4"""Tests for IBranchCloud provider."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/code/model/tests/test_branchcollection.py b/lib/lp/code/model/tests/test_branchcollection.py
index b02a942..bba26b9 100644
--- a/lib/lp/code/model/tests/test_branchcollection.py
+++ b/lib/lp/code/model/tests/test_branchcollection.py
@@ -3,8 +3,6 @@
33
4"""Tests for branch collections."""4"""Tests for branch collections."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/code/model/tests/test_branchhosting.py b/lib/lp/code/model/tests/test_branchhosting.py
index 4fe2ee6..56e0f1c 100644
--- a/lib/lp/code/model/tests/test_branchhosting.py
+++ b/lib/lp/code/model/tests/test_branchhosting.py
@@ -7,8 +7,6 @@ We don't currently do integration testing against a real hosting service,
7but we at least check that we're sending the right requests.7but we at least check that we're sending the right requests.
8"""8"""
99
10from __future__ import absolute_import, print_function, unicode_literals
11
12__metaclass__ = type10__metaclass__ = type
1311
14from contextlib import contextmanager12from contextlib import contextmanager
diff --git a/lib/lp/code/model/tests/test_branchjob.py b/lib/lp/code/model/tests/test_branchjob.py
index d731310..f8e8ca0 100644
--- a/lib/lp/code/model/tests/test_branchjob.py
+++ b/lib/lp/code/model/tests/test_branchjob.py
@@ -3,8 +3,6 @@
33
4"""Tests for BranchJobs."""4"""Tests for BranchJobs."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import datetime8import datetime
diff --git a/lib/lp/code/model/tests/test_branchlistingqueryoptimiser.py b/lib/lp/code/model/tests/test_branchlistingqueryoptimiser.py
index debec5e..64ad1b9 100644
--- a/lib/lp/code/model/tests/test_branchlistingqueryoptimiser.py
+++ b/lib/lp/code/model/tests/test_branchlistingqueryoptimiser.py
@@ -3,8 +3,6 @@
33
4"""Tests for the branch listing query optimiser."""4"""Tests for the branch listing query optimiser."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from storm.store import Store8from storm.store import Store
diff --git a/lib/lp/code/model/tests/test_branchlookup.py b/lib/lp/code/model/tests/test_branchlookup.py
index c44c7a7..7c8903e 100644
--- a/lib/lp/code/model/tests/test_branchlookup.py
+++ b/lib/lp/code/model/tests/test_branchlookup.py
@@ -3,8 +3,6 @@
33
4"""Tests for the IBranchLookup implementation."""4"""Tests for the IBranchLookup implementation."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lazr.uri import URI8from lazr.uri import URI
diff --git a/lib/lp/code/model/tests/test_branchmergeproposal.py b/lib/lp/code/model/tests/test_branchmergeproposal.py
index 2f6fa07..945e28d 100644
--- a/lib/lp/code/model/tests/test_branchmergeproposal.py
+++ b/lib/lp/code/model/tests/test_branchmergeproposal.py
@@ -3,8 +3,6 @@
33
4"""Tests for BranchMergeProposals."""4"""Tests for BranchMergeProposals."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/code/model/tests/test_branchmergeproposaljobs.py b/lib/lp/code/model/tests/test_branchmergeproposaljobs.py
index 77a6ead..49d84c1 100644
--- a/lib/lp/code/model/tests/test_branchmergeproposaljobs.py
+++ b/lib/lp/code/model/tests/test_branchmergeproposaljobs.py
@@ -3,8 +3,6 @@
33
4"""Tests for branch merge proposal jobs."""4"""Tests for branch merge proposal jobs."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/code/model/tests/test_branchnamespace.py b/lib/lp/code/model/tests/test_branchnamespace.py
index 668363a..7eb53bb 100644
--- a/lib/lp/code/model/tests/test_branchnamespace.py
+++ b/lib/lp/code/model/tests/test_branchnamespace.py
@@ -3,8 +3,6 @@
33
4"""Tests for `IBranchNamespace` implementations."""4"""Tests for `IBranchNamespace` implementations."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import six8import six
diff --git a/lib/lp/code/model/tests/test_branchpuller.py b/lib/lp/code/model/tests/test_branchpuller.py
index b295bb3..9e0ab5d 100644
--- a/lib/lp/code/model/tests/test_branchpuller.py
+++ b/lib/lp/code/model/tests/test_branchpuller.py
@@ -3,8 +3,6 @@
33
4"""Tests for the branch puller model code."""4"""Tests for the branch puller model code."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/code/model/tests/test_branchset.py b/lib/lp/code/model/tests/test_branchset.py
index 6f742eb..e79e43d 100644
--- a/lib/lp/code/model/tests/test_branchset.py
+++ b/lib/lp/code/model/tests/test_branchset.py
@@ -3,8 +3,6 @@
33
4"""Tests for BranchSet."""4"""Tests for BranchSet."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import datetime8from datetime import datetime
diff --git a/lib/lp/code/model/tests/test_branchsubscription.py b/lib/lp/code/model/tests/test_branchsubscription.py
index 9b13adf..955aaf3 100644
--- a/lib/lp/code/model/tests/test_branchsubscription.py
+++ b/lib/lp/code/model/tests/test_branchsubscription.py
@@ -3,8 +3,6 @@
33
4"""Tests for the BranchSubscription model object."""4"""Tests for the BranchSubscription model object."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from zope.component import getUtility8from zope.component import getUtility
diff --git a/lib/lp/code/model/tests/test_branchtarget.py b/lib/lp/code/model/tests/test_branchtarget.py
index 376e39b..76fcc35 100644
--- a/lib/lp/code/model/tests/test_branchtarget.py
+++ b/lib/lp/code/model/tests/test_branchtarget.py
@@ -3,8 +3,6 @@
33
4"""Tests for branch contexts."""4"""Tests for branch contexts."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from zope.security.proxy import removeSecurityProxy8from zope.security.proxy import removeSecurityProxy
diff --git a/lib/lp/code/model/tests/test_branchvisibility.py b/lib/lp/code/model/tests/test_branchvisibility.py
index f977d7b..2170c7c 100644
--- a/lib/lp/code/model/tests/test_branchvisibility.py
+++ b/lib/lp/code/model/tests/test_branchvisibility.py
@@ -10,8 +10,6 @@ Some branches are also considered "private". These are branches that
10are only visible to the owner of the branch, and the subscribers.10are only visible to the owner of the branch, and the subscribers.
11"""11"""
1212
13from __future__ import absolute_import, print_function, unicode_literals
14
15__metaclass__ = type13__metaclass__ = type
1614
17from zope.component import (15from zope.component import (
diff --git a/lib/lp/code/model/tests/test_codeimport.py b/lib/lp/code/model/tests/test_codeimport.py
index 5943d2b..22fbe77 100644
--- a/lib/lp/code/model/tests/test_codeimport.py
+++ b/lib/lp/code/model/tests/test_codeimport.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for methods of CodeImport and CodeImportSet."""4"""Unit tests for methods of CodeImport and CodeImportSet."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8from datetime import (6from datetime import (
9 datetime,7 datetime,
10 timedelta,8 timedelta,
diff --git a/lib/lp/code/model/tests/test_codeimportjob.py b/lib/lp/code/model/tests/test_codeimportjob.py
index a5f3e6e..83b0091 100644
--- a/lib/lp/code/model/tests/test_codeimportjob.py
+++ b/lib/lp/code/model/tests/test_codeimportjob.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for CodeImportJob and CodeImportJobWorkflow."""4"""Unit tests for CodeImportJob and CodeImportJobWorkflow."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10__all__ = [8__all__ = [
diff --git a/lib/lp/code/model/tests/test_codeimportmachine.py b/lib/lp/code/model/tests/test_codeimportmachine.py
index 5f688d4..1070610 100644
--- a/lib/lp/code/model/tests/test_codeimportmachine.py
+++ b/lib/lp/code/model/tests/test_codeimportmachine.py
@@ -5,8 +5,6 @@
55
6Other tests are in codeimport-machine.txt."""6Other tests are in codeimport-machine.txt."""
77
8from __future__ import absolute_import, print_function, unicode_literals
9
10from zope.component import getUtility8from zope.component import getUtility
119
12from lp.code.enums import (10from lp.code.enums import (
diff --git a/lib/lp/code/model/tests/test_codeimportresult.py b/lib/lp/code/model/tests/test_codeimportresult.py
index 0ccae83..a717bb4 100644
--- a/lib/lp/code/model/tests/test_codeimportresult.py
+++ b/lib/lp/code/model/tests/test_codeimportresult.py
@@ -3,8 +3,6 @@
33
4"""Tests for CodeImportResult."""4"""Tests for CodeImportResult."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import datetime8from datetime import datetime
diff --git a/lib/lp/code/model/tests/test_codereviewcomment.py b/lib/lp/code/model/tests/test_codereviewcomment.py
index 3669169..4ec62d8 100644
--- a/lib/lp/code/model/tests/test_codereviewcomment.py
+++ b/lib/lp/code/model/tests/test_codereviewcomment.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for CodeReviewComment"""4"""Unit tests for CodeReviewComment"""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8from textwrap import dedent6from textwrap import dedent
97
10from lazr.lifecycle.event import ObjectCreatedEvent8from lazr.lifecycle.event import ObjectCreatedEvent
diff --git a/lib/lp/code/model/tests/test_codereviewinlinecomment.py b/lib/lp/code/model/tests/test_codereviewinlinecomment.py
index 9e292d6..27f8caa 100644
--- a/lib/lp/code/model/tests/test_codereviewinlinecomment.py
+++ b/lib/lp/code/model/tests/test_codereviewinlinecomment.py
@@ -3,8 +3,6 @@
33
4"""Tests for CodeReviewInlineComment{,Draft,Set}"""4"""Tests for CodeReviewInlineComment{,Draft,Set}"""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import datetime8from datetime import datetime
diff --git a/lib/lp/code/model/tests/test_codereviewkarma.py b/lib/lp/code/model/tests/test_codereviewkarma.py
index d763ba5..0db1b76 100644
--- a/lib/lp/code/model/tests/test_codereviewkarma.py
+++ b/lib/lp/code/model/tests/test_codereviewkarma.py
@@ -3,8 +3,6 @@
33
4"""Tests for karma allocated for code reviews."""4"""Tests for karma allocated for code reviews."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.code.adapters.branch import BranchMergeProposalNoPreviewDiffDelta8from lp.code.adapters.branch import BranchMergeProposalNoPreviewDiffDelta
diff --git a/lib/lp/code/model/tests/test_codereviewvote.py b/lib/lp/code/model/tests/test_codereviewvote.py
index 8a2edde..be47765 100644
--- a/lib/lp/code/model/tests/test_codereviewvote.py
+++ b/lib/lp/code/model/tests/test_codereviewvote.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2018 Canonical Ltd. This software is licensed under the1# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6from zope.security.interfaces import Unauthorized4from zope.security.interfaces import Unauthorized
75
8from lp.app.enums import InformationType6from lp.app.enums import InformationType
diff --git a/lib/lp/code/model/tests/test_diff.py b/lib/lp/code/model/tests/test_diff.py
index 71510b3..1c1827f 100644
--- a/lib/lp/code/model/tests/test_diff.py
+++ b/lib/lp/code/model/tests/test_diff.py
@@ -3,8 +3,6 @@
33
4"""Tests for Diff, etc."""4"""Tests for Diff, etc."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from difflib import unified_diff8from difflib import unified_diff
diff --git a/lib/lp/code/model/tests/test_gitactivity.py b/lib/lp/code/model/tests/test_gitactivity.py
index 2c6e24b..c71394c 100644
--- a/lib/lp/code/model/tests/test_gitactivity.py
+++ b/lib/lp/code/model/tests/test_gitactivity.py
@@ -3,8 +3,6 @@
33
4"""Tests for Git repository activity logs."""4"""Tests for Git repository activity logs."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from storm.store import Store8from storm.store import Store
diff --git a/lib/lp/code/model/tests/test_gitcollection.py b/lib/lp/code/model/tests/test_gitcollection.py
index 2c72590..d78ecf8 100644
--- a/lib/lp/code/model/tests/test_gitcollection.py
+++ b/lib/lp/code/model/tests/test_gitcollection.py
@@ -3,8 +3,6 @@
33
4"""Tests for Git repository collections."""4"""Tests for Git repository collections."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/code/model/tests/test_githosting.py b/lib/lp/code/model/tests/test_githosting.py
index b2060fe..242552a 100644
--- a/lib/lp/code/model/tests/test_githosting.py
+++ b/lib/lp/code/model/tests/test_githosting.py
@@ -11,8 +11,6 @@ We don't currently do integration testing against a real hosting service,
11but we at least check that we're sending the right requests.11but we at least check that we're sending the right requests.
12"""12"""
1313
14from __future__ import absolute_import, print_function, unicode_literals
15
16__metaclass__ = type14__metaclass__ = type
1715
18import base6416import base64
diff --git a/lib/lp/code/model/tests/test_gitjob.py b/lib/lp/code/model/tests/test_gitjob.py
index 1b41b35..ce11ee2 100644
--- a/lib/lp/code/model/tests/test_gitjob.py
+++ b/lib/lp/code/model/tests/test_gitjob.py
@@ -3,8 +3,6 @@
33
4"""Tests for `GitJob`s."""4"""Tests for `GitJob`s."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/code/model/tests/test_gitlookup.py b/lib/lp/code/model/tests/test_gitlookup.py
index 2ec1e62..1aa7c39 100644
--- a/lib/lp/code/model/tests/test_gitlookup.py
+++ b/lib/lp/code/model/tests/test_gitlookup.py
@@ -3,8 +3,6 @@
33
4"""Tests for the IGitLookup implementation."""4"""Tests for the IGitLookup implementation."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lazr.uri import URI8from lazr.uri import URI
diff --git a/lib/lp/code/model/tests/test_gitnamespace.py b/lib/lp/code/model/tests/test_gitnamespace.py
index 5c12dbb..3b7bfcd 100644
--- a/lib/lp/code/model/tests/test_gitnamespace.py
+++ b/lib/lp/code/model/tests/test_gitnamespace.py
@@ -3,8 +3,6 @@
33
4"""Tests for `IGitNamespace` implementations."""4"""Tests for `IGitNamespace` implementations."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8import six6import six
9from zope.component import getUtility7from zope.component import getUtility
10from zope.security.proxy import removeSecurityProxy8from zope.security.proxy import removeSecurityProxy
diff --git a/lib/lp/code/model/tests/test_gitref.py b/lib/lp/code/model/tests/test_gitref.py
index 1cef9df..e2eac23 100644
--- a/lib/lp/code/model/tests/test_gitref.py
+++ b/lib/lp/code/model/tests/test_gitref.py
@@ -3,8 +3,6 @@
33
4"""Tests for Git references."""4"""Tests for Git references."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/code/model/tests/test_gitrepository.py b/lib/lp/code/model/tests/test_gitrepository.py
index 69d0595..203ceda 100644
--- a/lib/lp/code/model/tests/test_gitrepository.py
+++ b/lib/lp/code/model/tests/test_gitrepository.py
@@ -7,8 +7,6 @@
77
8"""Tests for Git repositories."""8"""Tests for Git repositories."""
99
10from __future__ import absolute_import, print_function, unicode_literals
11
12__metaclass__ = type10__metaclass__ = type
1311
14from datetime import (12from datetime import (
diff --git a/lib/lp/code/model/tests/test_gitrule.py b/lib/lp/code/model/tests/test_gitrule.py
index 31c3786..82b6b1a 100644
--- a/lib/lp/code/model/tests/test_gitrule.py
+++ b/lib/lp/code/model/tests/test_gitrule.py
@@ -3,8 +3,6 @@
33
4"""Tests for Git repository access rules."""4"""Tests for Git repository access rules."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from storm.store import Store8from storm.store import Store
diff --git a/lib/lp/code/model/tests/test_gitsubscription.py b/lib/lp/code/model/tests/test_gitsubscription.py
index 37f7550..489a556 100644
--- a/lib/lp/code/model/tests/test_gitsubscription.py
+++ b/lib/lp/code/model/tests/test_gitsubscription.py
@@ -3,8 +3,6 @@
33
4"""Tests for the GitSubscription model object."""4"""Tests for the GitSubscription model object."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.app.enums import InformationType8from lp.app.enums import InformationType
diff --git a/lib/lp/code/model/tests/test_hasbranches.py b/lib/lp/code/model/tests/test_hasbranches.py
index e92daae..dd9d596 100644
--- a/lib/lp/code/model/tests/test_hasbranches.py
+++ b/lib/lp/code/model/tests/test_hasbranches.py
@@ -3,8 +3,6 @@
33
4"""Tests for classes that implement IHasBranches."""4"""Tests for classes that implement IHasBranches."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from functools import partial8from functools import partial
diff --git a/lib/lp/code/model/tests/test_hasgitrepositories.py b/lib/lp/code/model/tests/test_hasgitrepositories.py
index 4878f4d..4f34bb0 100644
--- a/lib/lp/code/model/tests/test_hasgitrepositories.py
+++ b/lib/lp/code/model/tests/test_hasgitrepositories.py
@@ -3,8 +3,6 @@
33
4"""Tests for classes that implement IHasGitRepositories."""4"""Tests for classes that implement IHasGitRepositories."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.code.interfaces.hasgitrepositories import IHasGitRepositories8from lp.code.interfaces.hasgitrepositories import IHasGitRepositories
diff --git a/lib/lp/code/model/tests/test_hasmergeproposals.py b/lib/lp/code/model/tests/test_hasmergeproposals.py
index 2ecf4c9..42e7fcf 100644
--- a/lib/lp/code/model/tests/test_hasmergeproposals.py
+++ b/lib/lp/code/model/tests/test_hasmergeproposals.py
@@ -3,8 +3,6 @@
33
4"""Tests for classes that implement IHasMergeProposals."""4"""Tests for classes that implement IHasMergeProposals."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from zope.interface.verify import verifyObject8from zope.interface.verify import verifyObject
diff --git a/lib/lp/code/model/tests/test_hasrecipes.py b/lib/lp/code/model/tests/test_hasrecipes.py
index 376ffec..d24b8d7 100644
--- a/lib/lp/code/model/tests/test_hasrecipes.py
+++ b/lib/lp/code/model/tests/test_hasrecipes.py
@@ -3,8 +3,6 @@
33
4"""Tests for classes that implement IHasRecipes."""4"""Tests for classes that implement IHasRecipes."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.code.interfaces.hasrecipes import IHasRecipes8from lp.code.interfaces.hasrecipes import IHasRecipes
diff --git a/lib/lp/code/model/tests/test_linkedbranch.py b/lib/lp/code/model/tests/test_linkedbranch.py
index c731847..87b1ef8 100644
--- a/lib/lp/code/model/tests/test_linkedbranch.py
+++ b/lib/lp/code/model/tests/test_linkedbranch.py
@@ -3,8 +3,6 @@
33
4"""Tests for linked branch implementations."""4"""Tests for linked branch implementations."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from zope.security.proxy import removeSecurityProxy8from zope.security.proxy import removeSecurityProxy
diff --git a/lib/lp/code/model/tests/test_recipebuilder.py b/lib/lp/code/model/tests/test_recipebuilder.py
index b578a5f..3a97747 100644
--- a/lib/lp/code/model/tests/test_recipebuilder.py
+++ b/lib/lp/code/model/tests/test_recipebuilder.py
@@ -3,8 +3,6 @@
33
4"""Test RecipeBuildBehaviour."""4"""Test RecipeBuildBehaviour."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import os.path8import os.path
diff --git a/lib/lp/code/model/tests/test_revision.py b/lib/lp/code/model/tests/test_revision.py
index 67fd745..43c1fe5 100644
--- a/lib/lp/code/model/tests/test_revision.py
+++ b/lib/lp/code/model/tests/test_revision.py
@@ -3,8 +3,6 @@
33
4"""Tests for Revisions."""4"""Tests for Revisions."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/code/model/tests/test_revisionauthor.py b/lib/lp/code/model/tests/test_revisionauthor.py
index f68e8a5..e7fe785 100644
--- a/lib/lp/code/model/tests/test_revisionauthor.py
+++ b/lib/lp/code/model/tests/test_revisionauthor.py
@@ -3,8 +3,6 @@
33
4"""Tests for RevisionAuthors."""4"""Tests for RevisionAuthors."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import transaction8import transaction
diff --git a/lib/lp/code/model/tests/test_revisioncache.py b/lib/lp/code/model/tests/test_revisioncache.py
index 9f531c3..3de1d53 100644
--- a/lib/lp/code/model/tests/test_revisioncache.py
+++ b/lib/lp/code/model/tests/test_revisioncache.py
@@ -3,8 +3,6 @@
33
4"""Tests relating to the revision cache."""4"""Tests relating to the revision cache."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/code/model/tests/test_seriessourcepackagebranch.py b/lib/lp/code/model/tests/test_seriessourcepackagebranch.py
index b03f860..0e9d4a3 100644
--- a/lib/lp/code/model/tests/test_seriessourcepackagebranch.py
+++ b/lib/lp/code/model/tests/test_seriessourcepackagebranch.py
@@ -3,8 +3,6 @@
33
4"""Model tests for distro series source package branch links."""4"""Model tests for distro series source package branch links."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.code.model.seriessourcepackagebranch import (8from lp.code.model.seriessourcepackagebranch import (
diff --git a/lib/lp/code/model/tests/test_sourcepackagerecipe.py b/lib/lp/code/model/tests/test_sourcepackagerecipe.py
index b14b8ab..51b463c 100644
--- a/lib/lp/code/model/tests/test_sourcepackagerecipe.py
+++ b/lib/lp/code/model/tests/test_sourcepackagerecipe.py
@@ -3,8 +3,6 @@
33
4"""Tests for the SourcePackageRecipe content type."""4"""Tests for the SourcePackageRecipe content type."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/code/model/tests/test_sourcepackagerecipebuild.py b/lib/lp/code/model/tests/test_sourcepackagerecipebuild.py
index d7c8595..98447ed 100644
--- a/lib/lp/code/model/tests/test_sourcepackagerecipebuild.py
+++ b/lib/lp/code/model/tests/test_sourcepackagerecipebuild.py
@@ -3,8 +3,6 @@
33
4"""Tests for source package builds."""4"""Tests for source package builds."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/code/tests/branch_helper.py b/lib/lp/code/tests/branch_helper.py
index ba869e2..0bc5495 100644
--- a/lib/lp/code/tests/branch_helper.py
+++ b/lib/lp/code/tests/branch_helper.py
@@ -3,8 +3,6 @@
33
4"""Helper methods for branch tests and pagetest."""4"""Helper methods for branch tests and pagetest."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'reset_all_branch_last_modified',8 'reset_all_branch_last_modified',
diff --git a/lib/lp/code/tests/codeimporthelpers.py b/lib/lp/code/tests/codeimporthelpers.py
index 3e177f6..15431d8 100644
--- a/lib/lp/code/tests/codeimporthelpers.py
+++ b/lib/lp/code/tests/codeimporthelpers.py
@@ -3,8 +3,6 @@
33
4"""Helpers for Code Import page tests."""4"""Helpers for Code Import page tests."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'get_import_for_branch_name',8 'get_import_for_branch_name',
diff --git a/lib/lp/code/tests/helpers.py b/lib/lp/code/tests/helpers.py
index 11361ec..e479b87 100644
--- a/lib/lp/code/tests/helpers.py
+++ b/lib/lp/code/tests/helpers.py
@@ -3,13 +3,6 @@
33
4"""Helper functions for code testing live here."""4"""Helper functions for code testing live here."""
55
6from __future__ import (
7 absolute_import,
8 division,
9 print_function,
10 unicode_literals,
11 )
12
13__metaclass__ = type6__metaclass__ = type
14__all__ = [7__all__ = [
15 'add_revision_to_branch',8 'add_revision_to_branch',
diff --git a/lib/lp/code/tests/test_branch.py b/lib/lp/code/tests/test_branch.py
index c95515e..a9e704d 100644
--- a/lib/lp/code/tests/test_branch.py
+++ b/lib/lp/code/tests/test_branch.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for methods of Branch and BranchSet."""4"""Unit tests for methods of Branch and BranchSet."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8from zope.component import getUtility6from zope.component import getUtility
9from zope.security.proxy import removeSecurityProxy7from zope.security.proxy import removeSecurityProxy
108
diff --git a/lib/lp/code/tests/test_branch_access_policy_triggers.py b/lib/lp/code/tests/test_branch_access_policy_triggers.py
index 7b7cc98..5476d81 100644
--- a/lib/lp/code/tests/test_branch_access_policy_triggers.py
+++ b/lib/lp/code/tests/test_branch_access_policy_triggers.py
@@ -1,8 +1,6 @@
1# Copyright 2012-2017 Canonical Ltd. This software is licensed under the1# Copyright 2012-2017 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from zope.component import getUtility6from zope.component import getUtility
diff --git a/lib/lp/code/tests/test_branch_webservice.py b/lib/lp/code/tests/test_branch_webservice.py
index 9f41d98..ae44516 100644
--- a/lib/lp/code/tests/test_branch_webservice.py
+++ b/lib/lp/code/tests/test_branch_webservice.py
@@ -1,8 +1,6 @@
1# Copyright 2011-2017 Canonical Ltd. This software is licensed under the1# Copyright 2011-2017 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function, unicode_literals
5
6__metaclass__ = type4__metaclass__ = type
75
8from lazr.restfulclient.errors import BadRequest6from lazr.restfulclient.errors import BadRequest
diff --git a/lib/lp/code/tests/test_branchmergeproposal.py b/lib/lp/code/tests/test_branchmergeproposal.py
index 92767d0..be5c4d1 100644
--- a/lib/lp/code/tests/test_branchmergeproposal.py
+++ b/lib/lp/code/tests/test_branchmergeproposal.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for methods of BranchMergeProposal."""4"""Unit tests for methods of BranchMergeProposal."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8from zope.component import getUtility6from zope.component import getUtility
9from zope.security.proxy import removeSecurityProxy7from zope.security.proxy import removeSecurityProxy
108
diff --git a/lib/lp/code/tests/test_branchurifield.py b/lib/lp/code/tests/test_branchurifield.py
index 6ef004e..08f2243 100644
--- a/lib/lp/code/tests/test_branchurifield.py
+++ b/lib/lp/code/tests/test_branchurifield.py
@@ -3,8 +3,6 @@
33
4"""Tests for BranchURIField."""4"""Tests for BranchURIField."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.app.validators import LaunchpadValidationError8from lp.app.validators import LaunchpadValidationError
diff --git a/lib/lp/code/tests/test_bzr.py b/lib/lp/code/tests/test_bzr.py
index 6a62463..36b29a4 100644
--- a/lib/lp/code/tests/test_bzr.py
+++ b/lib/lp/code/tests/test_bzr.py
@@ -3,8 +3,6 @@
33
4"""Tests for lp.code.bzr."""4"""Tests for lp.code.bzr."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from breezy.errors import NoSuchRevision8from breezy.errors import NoSuchRevision
diff --git a/lib/lp/code/tests/test_directbranchcommit.py b/lib/lp/code/tests/test_directbranchcommit.py
index 9930b67..e39b755 100644
--- a/lib/lp/code/tests/test_directbranchcommit.py
+++ b/lib/lp/code/tests/test_directbranchcommit.py
@@ -3,8 +3,6 @@
33
4"""Tests for `DirectBranchCommit`."""4"""Tests for `DirectBranchCommit`."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import six8import six
diff --git a/lib/lp/code/tests/test_doc.py b/lib/lp/code/tests/test_doc.py
index a3752ad..1ae5514 100644
--- a/lib/lp/code/tests/test_doc.py
+++ b/lib/lp/code/tests/test_doc.py
@@ -5,8 +5,6 @@
5Run the doctests and pagetests.5Run the doctests and pagetests.
6"""6"""
77
8from __future__ import absolute_import, print_function, unicode_literals
9
10import os8import os
119
12from zope.security.management import setSecurityPolicy10from zope.security.management import setSecurityPolicy
diff --git a/lib/lp/code/tests/test_helpers.py b/lib/lp/code/tests/test_helpers.py
index 2bcb443..df86fb7 100644
--- a/lib/lp/code/tests/test_helpers.py
+++ b/lib/lp/code/tests/test_helpers.py
@@ -3,8 +3,6 @@
33
4"""Test the code test helpers found in helpers.py."""4"""Test the code test helpers found in helpers.py."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/code/tests/test_project.py b/lib/lp/code/tests/test_project.py
index e7cfe4b..61dd965 100644
--- a/lib/lp/code/tests/test_project.py
+++ b/lib/lp/code/tests/test_project.py
@@ -3,8 +3,6 @@
33
4"""Tests for product views."""4"""Tests for product views."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.testing import TestCaseWithFactory8from lp.testing import TestCaseWithFactory
diff --git a/lib/lp/code/tests/test_publisher.py b/lib/lp/code/tests/test_publisher.py
index c2dcb10..fedded0 100644
--- a/lib/lp/code/tests/test_publisher.py
+++ b/lib/lp/code/tests/test_publisher.py
@@ -3,8 +3,6 @@
33
4"""Tests for code's custom publications."""4"""Tests for code's custom publications."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.code.publisher import CodeLayer8from lp.code.publisher import CodeLayer
diff --git a/lib/lp/code/tests/test_seriessourcepackagebranch.py b/lib/lp/code/tests/test_seriessourcepackagebranch.py
index 2874686..45e8dbf 100644
--- a/lib/lp/code/tests/test_seriessourcepackagebranch.py
+++ b/lib/lp/code/tests/test_seriessourcepackagebranch.py
@@ -3,8 +3,6 @@
33
4"""Tests for ISeriesSourcePackageBranch."""4"""Tests for ISeriesSourcePackageBranch."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import datetime8from datetime import datetime
diff --git a/lib/lp/code/tests/test_yuitests.py b/lib/lp/code/tests/test_yuitests.py
index db563af..4e9ad9c 100644
--- a/lib/lp/code/tests/test_yuitests.py
+++ b/lib/lp/code/tests/test_yuitests.py
@@ -3,8 +3,6 @@
33
4"""Run YUI.test tests."""4"""Run YUI.test tests."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = []7__all__ = []
108
diff --git a/lib/lp/code/vocabularies/gitref.py b/lib/lp/code/vocabularies/gitref.py
index 3c2bf4a..865bc3e 100644
--- a/lib/lp/code/vocabularies/gitref.py
+++ b/lib/lp/code/vocabularies/gitref.py
@@ -3,9 +3,6 @@
33
4"""Vocabularies that contain Git references."""4"""Vocabularies that contain Git references."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8
9__metaclass__ = type6__metaclass__ = type
10__all__ = [7__all__ = [
11 "GitBranchVocabulary",8 "GitBranchVocabulary",
diff --git a/lib/lp/code/vocabularies/gitrule.py b/lib/lp/code/vocabularies/gitrule.py
index b07e7b4..3758228 100644
--- a/lib/lp/code/vocabularies/gitrule.py
+++ b/lib/lp/code/vocabularies/gitrule.py
@@ -3,8 +3,6 @@
33
4"""Vocabularies related to Git access rules."""4"""Vocabularies related to Git access rules."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'GitPermissionsVocabulary',8 'GitPermissionsVocabulary',
diff --git a/lib/lp/code/vocabularies/tests/test_gitref_vocabularies.py b/lib/lp/code/vocabularies/tests/test_gitref_vocabularies.py
index 9edbff9..971ad7d 100644
--- a/lib/lp/code/vocabularies/tests/test_gitref_vocabularies.py
+++ b/lib/lp/code/vocabularies/tests/test_gitref_vocabularies.py
@@ -3,8 +3,6 @@
33
4"""Test the Git reference vocabularies."""4"""Test the Git reference vocabularies."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import (8from datetime import (
diff --git a/lib/lp/code/vocabularies/tests/test_gitrule_vocabularies.py b/lib/lp/code/vocabularies/tests/test_gitrule_vocabularies.py
index a2cb584..8782768 100644
--- a/lib/lp/code/vocabularies/tests/test_gitrule_vocabularies.py
+++ b/lib/lp/code/vocabularies/tests/test_gitrule_vocabularies.py
@@ -3,8 +3,6 @@
33
4"""Test vocabularies related to Git access rules."""4"""Test vocabularies related to Git access rules."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.code.enums import GitPermissionType8from lp.code.enums import GitPermissionType
diff --git a/lib/lp/code/xmlrpc/tests/test_git.py b/lib/lp/code/xmlrpc/tests/test_git.py
index dbfe4ba..efc1087 100644
--- a/lib/lp/code/xmlrpc/tests/test_git.py
+++ b/lib/lp/code/xmlrpc/tests/test_git.py
@@ -3,8 +3,6 @@
33
4"""Tests for the internal Git API."""4"""Tests for the internal Git API."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import datetime8from datetime import datetime
diff --git a/lib/lp/codehosting/__init__.py b/lib/lp/codehosting/__init__.py
index 0731704..c194128 100644
--- a/lib/lp/codehosting/__init__.py
+++ b/lib/lp/codehosting/__init__.py
@@ -7,8 +7,6 @@ NOTE: Importing this package will load any system Breezy plugins, as well as
7all plugins in the brzplugins/ directory underneath the rocketfuel checkout.7all plugins in the brzplugins/ directory underneath the rocketfuel checkout.
8"""8"""
99
10from __future__ import absolute_import, print_function
11
12__metaclass__ = type10__metaclass__ = type
13__all__ = [11__all__ = [
14 'get_brz_path',12 'get_brz_path',
diff --git a/lib/lp/codehosting/bzrutils.py b/lib/lp/codehosting/bzrutils.py
index 3793be7..ee7efd6 100644
--- a/lib/lp/codehosting/bzrutils.py
+++ b/lib/lp/codehosting/bzrutils.py
@@ -7,8 +7,6 @@ Much of the code in here should be submitted upstream. The rest is code that
7integrates between Breezy's infrastructure and Launchpad's infrastructure.7integrates between Breezy's infrastructure and Launchpad's infrastructure.
8"""8"""
99
10from __future__ import absolute_import, print_function
11
12__metaclass__ = type10__metaclass__ = type
13__all__ = [11__all__ = [
14 'add_exception_logging_hook',12 'add_exception_logging_hook',
diff --git a/lib/lp/codehosting/inmemory.py b/lib/lp/codehosting/inmemory.py
index 54ac995..2ac0c58 100644
--- a/lib/lp/codehosting/inmemory.py
+++ b/lib/lp/codehosting/inmemory.py
@@ -3,8 +3,6 @@
33
4"""In-memory doubles of core codehosting objects."""4"""In-memory doubles of core codehosting objects."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'InMemoryFrontend',8 'InMemoryFrontend',
diff --git a/lib/lp/codehosting/puller/__init__.py b/lib/lp/codehosting/puller/__init__.py
index a7e963e..48ec941 100644
--- a/lib/lp/codehosting/puller/__init__.py
+++ b/lib/lp/codehosting/puller/__init__.py
@@ -1,8 +1,6 @@
1# Copyright 2009 Canonical Ltd. This software is licensed under the1# Copyright 2009 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function
5
6__metaclass__ = type4__metaclass__ = type
7__all__ = ['get_lock_id_for_branch_id', 'mirror']5__all__ = ['get_lock_id_for_branch_id', 'mirror']
86
diff --git a/lib/lp/codehosting/puller/scheduler.py b/lib/lp/codehosting/puller/scheduler.py
index e2fbf88..e0b8363 100644
--- a/lib/lp/codehosting/puller/scheduler.py
+++ b/lib/lp/codehosting/puller/scheduler.py
@@ -1,8 +1,6 @@
1# Copyright 2009 Canonical Ltd. This software is licensed under the1# Copyright 2009 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function
5
6__metaclass__ = type4__metaclass__ = type
7__all__ = [5__all__ = [
8 'BadMessage',6 'BadMessage',
diff --git a/lib/lp/codehosting/puller/tests/__init__.py b/lib/lp/codehosting/puller/tests/__init__.py
index d0e8566..350eda7 100644
--- a/lib/lp/codehosting/puller/tests/__init__.py
+++ b/lib/lp/codehosting/puller/tests/__init__.py
@@ -3,8 +3,6 @@
33
4"""Common code for the puller tests."""4"""Common code for the puller tests."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10import io8import io
diff --git a/lib/lp/codehosting/puller/tests/test_acceptance.py b/lib/lp/codehosting/puller/tests/test_acceptance.py
index e40dc37..1f59b12 100644
--- a/lib/lp/codehosting/puller/tests/test_acceptance.py
+++ b/lib/lp/codehosting/puller/tests/test_acceptance.py
@@ -3,8 +3,6 @@
33
4"""End-to-end tests for the branch puller."""4"""End-to-end tests for the branch puller."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = []7__all__ = []
108
diff --git a/lib/lp/codehosting/puller/tests/test_errors.py b/lib/lp/codehosting/puller/tests/test_errors.py
index bd9abfa..18ae10e 100644
--- a/lib/lp/codehosting/puller/tests/test_errors.py
+++ b/lib/lp/codehosting/puller/tests/test_errors.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for the error presentation in worker.py."""4"""Unit tests for the error presentation in worker.py."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10import os8import os
diff --git a/lib/lp/codehosting/puller/tests/test_scheduler.py b/lib/lp/codehosting/puller/tests/test_scheduler.py
index 6aabd08..f2a3f0a 100644
--- a/lib/lp/codehosting/puller/tests/test_scheduler.py
+++ b/lib/lp/codehosting/puller/tests/test_scheduler.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2020 Canonical Ltd. This software is licensed under the1# Copyright 2009-2020 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function
5
6__metaclass__ = type4__metaclass__ = type
75
8import logging6import logging
diff --git a/lib/lp/codehosting/puller/tests/test_worker.py b/lib/lp/codehosting/puller/tests/test_worker.py
index e011e54..bdef0a4 100644
--- a/lib/lp/codehosting/puller/tests/test_worker.py
+++ b/lib/lp/codehosting/puller/tests/test_worker.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for worker.py."""4"""Unit tests for worker.py."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10import gc8import gc
diff --git a/lib/lp/codehosting/puller/tests/test_worker_formats.py b/lib/lp/codehosting/puller/tests/test_worker_formats.py
index a3c9e14..6996659 100644
--- a/lib/lp/codehosting/puller/tests/test_worker_formats.py
+++ b/lib/lp/codehosting/puller/tests/test_worker_formats.py
@@ -3,8 +3,6 @@
33
4"""Tests for the puller's support for various Bazaar formats."""4"""Tests for the puller's support for various Bazaar formats."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10from breezy.branch import Branch8from breezy.branch import Branch
diff --git a/lib/lp/codehosting/puller/worker.py b/lib/lp/codehosting/puller/worker.py
index 10e38f0..4ccfcbe 100644
--- a/lib/lp/codehosting/puller/worker.py
+++ b/lib/lp/codehosting/puller/worker.py
@@ -1,8 +1,6 @@
1# Copyright 2009-2020 Canonical Ltd. This software is licensed under the1# Copyright 2009-2020 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function
5
6__metaclass__ = type4__metaclass__ = type
75
8import socket6import socket
diff --git a/lib/lp/codehosting/rewrite.py b/lib/lp/codehosting/rewrite.py
index 43f608e..f59520b 100644
--- a/lib/lp/codehosting/rewrite.py
+++ b/lib/lp/codehosting/rewrite.py
@@ -4,8 +4,6 @@
4"""Implementation of the dynamic RewriteMap used to serve branches over HTTP.4"""Implementation of the dynamic RewriteMap used to serve branches over HTTP.
5"""5"""
66
7from __future__ import absolute_import, print_function
8
9import time7import time
108
11from breezy import urlutils9from breezy import urlutils
diff --git a/lib/lp/codehosting/scanner/buglinks.py b/lib/lp/codehosting/scanner/buglinks.py
index ece2d0e..116fb90 100644
--- a/lib/lp/codehosting/scanner/buglinks.py
+++ b/lib/lp/codehosting/scanner/buglinks.py
@@ -3,8 +3,6 @@
33
4"""Bugs support for the scanner."""4"""Bugs support for the scanner."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'BugBranchLinker',8 'BugBranchLinker',
diff --git a/lib/lp/codehosting/scanner/bzrsync.py b/lib/lp/codehosting/scanner/bzrsync.py
index bcf8960..158f222 100755
--- a/lib/lp/codehosting/scanner/bzrsync.py
+++ b/lib/lp/codehosting/scanner/bzrsync.py
@@ -5,8 +5,6 @@
55
6"""Import version control metadata from a Bazaar branch into the database."""6"""Import version control metadata from a Bazaar branch into the database."""
77
8from __future__ import absolute_import, print_function
9
10__metaclass__ = type8__metaclass__ = type
119
12__all__ = [10__all__ = [
diff --git a/lib/lp/codehosting/scanner/email.py b/lib/lp/codehosting/scanner/email.py
index 914b380..7a184b4 100644
--- a/lib/lp/codehosting/scanner/email.py
+++ b/lib/lp/codehosting/scanner/email.py
@@ -3,8 +3,6 @@
33
4"""Email code for the branch scanner."""4"""Email code for the branch scanner."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'send_removed_revision_emails',8 'send_removed_revision_emails',
diff --git a/lib/lp/codehosting/scanner/events.py b/lib/lp/codehosting/scanner/events.py
index c5754c9..5687c33 100644
--- a/lib/lp/codehosting/scanner/events.py
+++ b/lib/lp/codehosting/scanner/events.py
@@ -3,8 +3,6 @@
33
4"""Events generated by the scanner."""4"""Events generated by the scanner."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'NewMainlineRevisions',8 'NewMainlineRevisions',
diff --git a/lib/lp/codehosting/scanner/mergedetection.py b/lib/lp/codehosting/scanner/mergedetection.py
index 4811b40..135b64f 100644
--- a/lib/lp/codehosting/scanner/mergedetection.py
+++ b/lib/lp/codehosting/scanner/mergedetection.py
@@ -3,8 +3,6 @@
33
4"""The way the branch scanner handles merges."""4"""The way the branch scanner handles merges."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'auto_merge_branches',8 'auto_merge_branches',
diff --git a/lib/lp/codehosting/scanner/tests/test_buglinks.py b/lib/lp/codehosting/scanner/tests/test_buglinks.py
index a2286ac..bc78cc5 100644
--- a/lib/lp/codehosting/scanner/tests/test_buglinks.py
+++ b/lib/lp/codehosting/scanner/tests/test_buglinks.py
@@ -3,8 +3,6 @@
33
4"""Tests for creating BugBranch items based on Breezy revisions."""4"""Tests for creating BugBranch items based on Breezy revisions."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10from breezy.revision import Revision8from breezy.revision import Revision
diff --git a/lib/lp/codehosting/scanner/tests/test_bzrsync.py b/lib/lp/codehosting/scanner/tests/test_bzrsync.py
index 4650909..77ef3d5 100644
--- a/lib/lp/codehosting/scanner/tests/test_bzrsync.py
+++ b/lib/lp/codehosting/scanner/tests/test_bzrsync.py
@@ -3,8 +3,6 @@
3# Copyright 2009-2019 Canonical Ltd. This software is licensed under the3# Copyright 2009-2019 Canonical Ltd. This software is licensed under the
4# GNU Affero General Public License version 3 (see the file LICENSE).4# GNU Affero General Public License version 3 (see the file LICENSE).
55
6from __future__ import absolute_import, print_function
7
8import datetime6import datetime
9import os7import os
10import random8import random
diff --git a/lib/lp/codehosting/scanner/tests/test_email.py b/lib/lp/codehosting/scanner/tests/test_email.py
index 5fb3a8b..3072ec2 100644
--- a/lib/lp/codehosting/scanner/tests/test_email.py
+++ b/lib/lp/codehosting/scanner/tests/test_email.py
@@ -3,8 +3,6 @@
33
4"""Tests for the scanner's email generation."""4"""Tests for the scanner's email generation."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10import os8import os
diff --git a/lib/lp/codehosting/scanner/tests/test_mergedetection.py b/lib/lp/codehosting/scanner/tests/test_mergedetection.py
index fa5ecfc..a70678b 100644
--- a/lib/lp/codehosting/scanner/tests/test_mergedetection.py
+++ b/lib/lp/codehosting/scanner/tests/test_mergedetection.py
@@ -3,8 +3,6 @@
33
4"""Tests for the scanner's merge detection."""4"""Tests for the scanner's merge detection."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10import logging8import logging
diff --git a/lib/lp/codehosting/scripts/modifiedbranches.py b/lib/lp/codehosting/scripts/modifiedbranches.py
index 5ea0255..93acf1a 100644
--- a/lib/lp/codehosting/scripts/modifiedbranches.py
+++ b/lib/lp/codehosting/scripts/modifiedbranches.py
@@ -3,8 +3,6 @@
33
4"""Implementation of the Launchpad script to list modified branches."""4"""Implementation of the Launchpad script to list modified branches."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = ['ModifiedBranchesScript']7__all__ = ['ModifiedBranchesScript']
108
diff --git a/lib/lp/codehosting/scripts/sync_branches.py b/lib/lp/codehosting/scripts/sync_branches.py
index d138a28..004c8b1 100644
--- a/lib/lp/codehosting/scripts/sync_branches.py
+++ b/lib/lp/codehosting/scripts/sync_branches.py
@@ -3,8 +3,6 @@
33
4"""Sync branches from production to a staging environment."""4"""Sync branches from production to a staging environment."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = ['SyncBranchesScript']7__all__ = ['SyncBranchesScript']
108
diff --git a/lib/lp/codehosting/scripts/tests/test_modifiedbranches.py b/lib/lp/codehosting/scripts/tests/test_modifiedbranches.py
index f7c9d2c..a42696f 100644
--- a/lib/lp/codehosting/scripts/tests/test_modifiedbranches.py
+++ b/lib/lp/codehosting/scripts/tests/test_modifiedbranches.py
@@ -3,8 +3,6 @@
33
4"""Test the modified branches script."""4"""Test the modified branches script."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10from datetime import datetime8from datetime import datetime
diff --git a/lib/lp/codehosting/scripts/tests/test_sync_branches.py b/lib/lp/codehosting/scripts/tests/test_sync_branches.py
index 9340e88..899ce67 100644
--- a/lib/lp/codehosting/scripts/tests/test_sync_branches.py
+++ b/lib/lp/codehosting/scripts/tests/test_sync_branches.py
@@ -3,8 +3,6 @@
33
4"""Test syncing branches from production to a staging environment."""4"""Test syncing branches from production to a staging environment."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import os.path8import os.path
diff --git a/lib/lp/codehosting/scripts/tests/test_upgrade_all_branches.py b/lib/lp/codehosting/scripts/tests/test_upgrade_all_branches.py
index d268b8f..5f9443f 100644
--- a/lib/lp/codehosting/scripts/tests/test_upgrade_all_branches.py
+++ b/lib/lp/codehosting/scripts/tests/test_upgrade_all_branches.py
@@ -1,8 +1,6 @@
1# Copyright 2011-2012 Canonical Ltd. This software is licensed under the1# Copyright 2011-2012 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function
5
6__metaclass__ = type4__metaclass__ = type
75
86
diff --git a/lib/lp/codehosting/sftp.py b/lib/lp/codehosting/sftp.py
index 3d19a07..d103ace 100644
--- a/lib/lp/codehosting/sftp.py
+++ b/lib/lp/codehosting/sftp.py
@@ -12,8 +12,6 @@ The Bazaar Transport is special in two ways:
12We call such a transport a "Twisted Transport".12We call such a transport a "Twisted Transport".
13"""13"""
1414
15from __future__ import absolute_import, print_function
16
17__metaclass__ = type15__metaclass__ = type
18__all__ = [16__all__ = [
19 'avatar_to_sftp_server',17 'avatar_to_sftp_server',
diff --git a/lib/lp/codehosting/sshserver/daemon.py b/lib/lp/codehosting/sshserver/daemon.py
index a5ab6c5..648c597 100644
--- a/lib/lp/codehosting/sshserver/daemon.py
+++ b/lib/lp/codehosting/sshserver/daemon.py
@@ -3,8 +3,6 @@
33
4"""Glues the codehosting SSH daemon together."""4"""Glues the codehosting SSH daemon together."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'ACCESS_LOG_NAME',8 'ACCESS_LOG_NAME',
diff --git a/lib/lp/codehosting/sshserver/session.py b/lib/lp/codehosting/sshserver/session.py
index 28a0a69..b7debe4 100644
--- a/lib/lp/codehosting/sshserver/session.py
+++ b/lib/lp/codehosting/sshserver/session.py
@@ -3,8 +3,6 @@
33
4"""SSH session implementations for the codehosting SSH server."""4"""SSH session implementations for the codehosting SSH server."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'launch_smart_server',8 'launch_smart_server',
diff --git a/lib/lp/codehosting/sshserver/tests/test_daemon.py b/lib/lp/codehosting/sshserver/tests/test_daemon.py
index 5141ab7..f906c57 100644
--- a/lib/lp/codehosting/sshserver/tests/test_daemon.py
+++ b/lib/lp/codehosting/sshserver/tests/test_daemon.py
@@ -3,8 +3,6 @@
33
4"""Tests for the codehosting SSH server glue."""4"""Tests for the codehosting SSH server glue."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10from lazr.sshserver.auth import (8from lazr.sshserver.auth import (
diff --git a/lib/lp/codehosting/sshserver/tests/test_session.py b/lib/lp/codehosting/sshserver/tests/test_session.py
index 305c65b..83dc1c6 100644
--- a/lib/lp/codehosting/sshserver/tests/test_session.py
+++ b/lib/lp/codehosting/sshserver/tests/test_session.py
@@ -3,8 +3,6 @@
33
4"""Tests for SSH session support on the codehosting SSH server."""4"""Tests for SSH session support on the codehosting SSH server."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10from twisted.conch.interfaces import ISession8from twisted.conch.interfaces import ISession
diff --git a/lib/lp/codehosting/tests/helpers.py b/lib/lp/codehosting/tests/helpers.py
index 1104782..b5094df 100644
--- a/lib/lp/codehosting/tests/helpers.py
+++ b/lib/lp/codehosting/tests/helpers.py
@@ -3,8 +3,6 @@
33
4"""Common helpers for codehosting tests."""4"""Common helpers for codehosting tests."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'AvatarTestCase',8 'AvatarTestCase',
diff --git a/lib/lp/codehosting/tests/servers.py b/lib/lp/codehosting/tests/servers.py
index ad46357..68c4a73 100644
--- a/lib/lp/codehosting/tests/servers.py
+++ b/lib/lp/codehosting/tests/servers.py
@@ -3,8 +3,6 @@
33
4"""Server used in codehosting acceptance tests."""4"""Server used in codehosting acceptance tests."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10__all__ = [8__all__ = [
diff --git a/lib/lp/codehosting/tests/test_acceptance.py b/lib/lp/codehosting/tests/test_acceptance.py
index 97a9ec7..df60291 100644
--- a/lib/lp/codehosting/tests/test_acceptance.py
+++ b/lib/lp/codehosting/tests/test_acceptance.py
@@ -3,8 +3,6 @@
33
4"""Acceptance tests for the codehosting server."""4"""Acceptance tests for the codehosting server."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10import os8import os
diff --git a/lib/lp/codehosting/tests/test_breezy.py b/lib/lp/codehosting/tests/test_breezy.py
index 04096d5..7d87efc 100644
--- a/lib/lp/codehosting/tests/test_breezy.py
+++ b/lib/lp/codehosting/tests/test_breezy.py
@@ -3,8 +3,6 @@
33
4"""Launchpad-specific tests of Breezy behaviour."""4"""Launchpad-specific tests of Breezy behaviour."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.testing import TestCase8from lp.testing import TestCase
diff --git a/lib/lp/codehosting/tests/test_bzrutils.py b/lib/lp/codehosting/tests/test_bzrutils.py
index df421e7..0beeb72 100644
--- a/lib/lp/codehosting/tests/test_bzrutils.py
+++ b/lib/lp/codehosting/tests/test_bzrutils.py
@@ -3,8 +3,6 @@
33
4"""Tests for bzrutils."""4"""Tests for bzrutils."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10import gc8import gc
diff --git a/lib/lp/codehosting/tests/test_format_comparison.py b/lib/lp/codehosting/tests/test_format_comparison.py
index 2f067c8..de06e64 100644
--- a/lib/lp/codehosting/tests/test_format_comparison.py
+++ b/lib/lp/codehosting/tests/test_format_comparison.py
@@ -3,8 +3,6 @@
33
4"""Unit tests for comparing Bazaar formats."""4"""Unit tests for comparing Bazaar formats."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10import unittest8import unittest
diff --git a/lib/lp/codehosting/tests/test_lpserve.py b/lib/lp/codehosting/tests/test_lpserve.py
index 307a401..6b615d4 100644
--- a/lib/lp/codehosting/tests/test_lpserve.py
+++ b/lib/lp/codehosting/tests/test_lpserve.py
@@ -3,8 +3,6 @@
33
4"""Tests for the lp-serve plugin."""4"""Tests for the lp-serve plugin."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10from breezy import errors8from breezy import errors
diff --git a/lib/lp/codehosting/tests/test_rewrite.py b/lib/lp/codehosting/tests/test_rewrite.py
index 9daa088..7f97deb 100644
--- a/lib/lp/codehosting/tests/test_rewrite.py
+++ b/lib/lp/codehosting/tests/test_rewrite.py
@@ -3,8 +3,6 @@
33
4"""Tests for the dynamic RewriteMap used to serve branches over HTTP."""4"""Tests for the dynamic RewriteMap used to serve branches over HTTP."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10import os8import os
diff --git a/lib/lp/codehosting/tests/test_sftp.py b/lib/lp/codehosting/tests/test_sftp.py
index 0324b89..5d022dd 100644
--- a/lib/lp/codehosting/tests/test_sftp.py
+++ b/lib/lp/codehosting/tests/test_sftp.py
@@ -3,8 +3,6 @@
33
4"""Tests for the transport-backed SFTP server implementation."""4"""Tests for the transport-backed SFTP server implementation."""
55
6from __future__ import absolute_import, print_function
7
8from contextlib import closing6from contextlib import closing
9import os7import os
108
diff --git a/lib/lp/codehosting/tests/test_upgrade.py b/lib/lp/codehosting/tests/test_upgrade.py
index e27d1cb..1f2843a 100644
--- a/lib/lp/codehosting/tests/test_upgrade.py
+++ b/lib/lp/codehosting/tests/test_upgrade.py
@@ -1,8 +1,6 @@
1# Copyright 2012 Canonical Ltd. This software is licensed under the1# Copyright 2012 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4from __future__ import absolute_import, print_function
5
6__metaclass__ = type4__metaclass__ = type
75
86
diff --git a/lib/lp/codehosting/upgrade.py b/lib/lp/codehosting/upgrade.py
index 343083b..2159871 100755
--- a/lib/lp/codehosting/upgrade.py
+++ b/lib/lp/codehosting/upgrade.py
@@ -10,8 +10,6 @@ Repositories that have no tree references are always upgraded to the standard
10actually have tree references are converted to RepositoryFormat2aSubtree.10actually have tree references are converted to RepositoryFormat2aSubtree.
11"""11"""
1212
13from __future__ import absolute_import, print_function
14
15__metaclass__ = type13__metaclass__ = type
1614
17__all__ = ['Upgrader']15__all__ = ['Upgrader']
diff --git a/lib/lp/codehosting/vfs/__init__.py b/lib/lp/codehosting/vfs/__init__.py
index 66fbbee..fd82790 100644
--- a/lib/lp/codehosting/vfs/__init__.py
+++ b/lib/lp/codehosting/vfs/__init__.py
@@ -3,8 +3,6 @@
33
4"""A virtual filesystem for hosting Bazaar branches."""4"""A virtual filesystem for hosting Bazaar branches."""
55
6from __future__ import absolute_import, print_function
7
8__all__ = [6__all__ = [
9 'AsyncLaunchpadTransport',7 'AsyncLaunchpadTransport',
10 'branch_id_to_path',8 'branch_id_to_path',
diff --git a/lib/lp/codehosting/vfs/branchfs.py b/lib/lp/codehosting/vfs/branchfs.py
index 4604789..7af499f 100644
--- a/lib/lp/codehosting/vfs/branchfs.py
+++ b/lib/lp/codehosting/vfs/branchfs.py
@@ -40,8 +40,6 @@ hooks into operations like `mkdir` and ask the `LaunchpadServer` to make a
40branch if appropriate.40branch if appropriate.
41"""41"""
4242
43from __future__ import absolute_import, print_function
44
45__metaclass__ = type43__metaclass__ = type
46__all__ = [44__all__ = [
47 'AsyncLaunchpadTransport',45 'AsyncLaunchpadTransport',
diff --git a/lib/lp/codehosting/vfs/branchfsclient.py b/lib/lp/codehosting/vfs/branchfsclient.py
index aade58e..3307830 100644
--- a/lib/lp/codehosting/vfs/branchfsclient.py
+++ b/lib/lp/codehosting/vfs/branchfsclient.py
@@ -6,8 +6,6 @@
6This code talks to the internal XML-RPC server for the branch filesystem.6This code talks to the internal XML-RPC server for the branch filesystem.
7"""7"""
88
9from __future__ import absolute_import, print_function
10
11__metaclass__ = type9__metaclass__ = type
12__all__ = [10__all__ = [
13 'BranchFileSystemClient',11 'BranchFileSystemClient',
diff --git a/lib/lp/codehosting/vfs/hooks.py b/lib/lp/codehosting/vfs/hooks.py
index 044add8..f0dc274 100644
--- a/lib/lp/codehosting/vfs/hooks.py
+++ b/lib/lp/codehosting/vfs/hooks.py
@@ -4,8 +4,6 @@
4"""Implementations for the `seen_new_branch_hook` of `BranchFileSystemClient`.4"""Implementations for the `seen_new_branch_hook` of `BranchFileSystemClient`.
5"""5"""
66
7from __future__ import absolute_import, print_function
8
9__metaclass__ = type7__metaclass__ = type
10__all__ = ['SetProcTitleHook']8__all__ = ['SetProcTitleHook']
119
diff --git a/lib/lp/codehosting/vfs/tests/test_branchfs.py b/lib/lp/codehosting/vfs/tests/test_branchfs.py
index dabd4ec..72b3677 100644
--- a/lib/lp/codehosting/vfs/tests/test_branchfs.py
+++ b/lib/lp/codehosting/vfs/tests/test_branchfs.py
@@ -3,8 +3,6 @@
33
4"""Tests for the branch filesystem."""4"""Tests for the branch filesystem."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10import os8import os
diff --git a/lib/lp/codehosting/vfs/tests/test_branchfsclient.py b/lib/lp/codehosting/vfs/tests/test_branchfsclient.py
index e05fce6..3417608 100644
--- a/lib/lp/codehosting/vfs/tests/test_branchfsclient.py
+++ b/lib/lp/codehosting/vfs/tests/test_branchfsclient.py
@@ -3,8 +3,6 @@
33
4"""Tests for branchfsclient."""4"""Tests for branchfsclient."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10from testtools.twistedsupport import AsynchronousDeferredRunTest8from testtools.twistedsupport import AsynchronousDeferredRunTest
diff --git a/lib/lp/codehosting/vfs/tests/test_filesystem.py b/lib/lp/codehosting/vfs/tests/test_filesystem.py
index 3f955d6..8101f1b 100644
--- a/lib/lp/codehosting/vfs/tests/test_filesystem.py
+++ b/lib/lp/codehosting/vfs/tests/test_filesystem.py
@@ -3,8 +3,6 @@
33
4"""Tests for the virtual filesystem presented by Launchpad codehosting."""4"""Tests for the virtual filesystem presented by Launchpad codehosting."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10import stat8import stat
diff --git a/lib/lp/codehosting/vfs/tests/test_hooks.py b/lib/lp/codehosting/vfs/tests/test_hooks.py
index b1bfa07..c6ad986 100644
--- a/lib/lp/codehosting/vfs/tests/test_hooks.py
+++ b/lib/lp/codehosting/vfs/tests/test_hooks.py
@@ -3,8 +3,6 @@
33
4"""Tests for the hooks in lp.codehosting.vfs.hooks."""4"""Tests for the hooks in lp.codehosting.vfs.hooks."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10from lp.codehosting.vfs.hooks import SetProcTitleHook8from lp.codehosting.vfs.hooks import SetProcTitleHook
diff --git a/lib/lp/codehosting/vfs/tests/test_transport.py b/lib/lp/codehosting/vfs/tests/test_transport.py
index 3f01473..45c155a 100644
--- a/lib/lp/codehosting/vfs/tests/test_transport.py
+++ b/lib/lp/codehosting/vfs/tests/test_transport.py
@@ -3,8 +3,6 @@
33
4"""Tests for the Launchpad code hosting Bazaar transport."""4"""Tests for the Launchpad code hosting Bazaar transport."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10from breezy.tests import per_transport8from breezy.tests import per_transport
diff --git a/lib/lp/codehosting/vfs/tests/test_transport_extensions.py b/lib/lp/codehosting/vfs/tests/test_transport_extensions.py
index e6c90b2..56b587f 100644
--- a/lib/lp/codehosting/vfs/tests/test_transport_extensions.py
+++ b/lib/lp/codehosting/vfs/tests/test_transport_extensions.py
@@ -3,8 +3,6 @@
33
4"""Tests for extensions in codehosting.vfs.transport."""4"""Tests for extensions in codehosting.vfs.transport."""
55
6from __future__ import absolute_import, print_function
7
8__metaclass__ = type6__metaclass__ = type
97
10from breezy.transport.memory import MemoryTransport8from breezy.transport.memory import MemoryTransport
diff --git a/lib/lp/codehosting/vfs/transport.py b/lib/lp/codehosting/vfs/transport.py
index 03192cb..f4248f7 100644
--- a/lib/lp/codehosting/vfs/transport.py
+++ b/lib/lp/codehosting/vfs/transport.py
@@ -8,8 +8,6 @@ module contains utilities for implementing virtual filesystems using
8breezy.transport classes.8breezy.transport classes.
9"""9"""
1010
11from __future__ import absolute_import, print_function
12
13__metaclass__ = type11__metaclass__ = type
14__all__ = [12__all__ = [
15 'AsyncVirtualServer',13 'AsyncVirtualServer',
diff --git a/lib/lp/oci/browser/hasocirecipes.py b/lib/lp/oci/browser/hasocirecipes.py
index 2df4148..64ed5c9 100644
--- a/lib/lp/oci/browser/hasocirecipes.py
+++ b/lib/lp/oci/browser/hasocirecipes.py
@@ -3,8 +3,6 @@
33
4"""Mixins for browser classes for objects related to OCI recipe."""4"""Mixins for browser classes for objects related to OCI recipe."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'HasOCIRecipesMenuMixin',8 'HasOCIRecipesMenuMixin',
diff --git a/lib/lp/oci/browser/ocirecipe.py b/lib/lp/oci/browser/ocirecipe.py
index bc978e7..46a4db1 100644
--- a/lib/lp/oci/browser/ocirecipe.py
+++ b/lib/lp/oci/browser/ocirecipe.py
@@ -3,8 +3,6 @@
33
4"""OCI recipe views."""4"""OCI recipe views."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'OCIRecipeAddView',8 'OCIRecipeAddView',
diff --git a/lib/lp/oci/browser/ocirecipebuild.py b/lib/lp/oci/browser/ocirecipebuild.py
index e6b4003..893212a 100644
--- a/lib/lp/oci/browser/ocirecipebuild.py
+++ b/lib/lp/oci/browser/ocirecipebuild.py
@@ -3,8 +3,6 @@
33
4"""OCI recipe build views."""4"""OCI recipe build views."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'OCIRecipeBuildCancelView',8 'OCIRecipeBuildCancelView',
diff --git a/lib/lp/oci/browser/ocirecipesubscription.py b/lib/lp/oci/browser/ocirecipesubscription.py
index c51d303..06086ac 100644
--- a/lib/lp/oci/browser/ocirecipesubscription.py
+++ b/lib/lp/oci/browser/ocirecipesubscription.py
@@ -3,8 +3,6 @@
33
4"""OCI recipe subscription views."""4"""OCI recipe subscription views."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'OCIRecipePortletSubscribersContent'8 'OCIRecipePortletSubscribersContent'
diff --git a/lib/lp/oci/browser/tests/test_ocirecipe.py b/lib/lp/oci/browser/tests/test_ocirecipe.py
index 718bc7e..913b849 100644
--- a/lib/lp/oci/browser/tests/test_ocirecipe.py
+++ b/lib/lp/oci/browser/tests/test_ocirecipe.py
@@ -4,8 +4,6 @@
44
5"""Test OCI recipe views."""5"""Test OCI recipe views."""
66
7from __future__ import absolute_import, print_function, unicode_literals
8
9__metaclass__ = type7__metaclass__ = type
108
11from datetime import (9from datetime import (
diff --git a/lib/lp/oci/browser/tests/test_ocirecipebuild.py b/lib/lp/oci/browser/tests/test_ocirecipebuild.py
index 25533cf..06f1f8e 100644
--- a/lib/lp/oci/browser/tests/test_ocirecipebuild.py
+++ b/lib/lp/oci/browser/tests/test_ocirecipebuild.py
@@ -3,8 +3,6 @@
33
4"""Test OCI recipe build views."""4"""Test OCI recipe build views."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
10import re8import re
diff --git a/lib/lp/oci/browser/tests/test_ocirecipesubscription.py b/lib/lp/oci/browser/tests/test_ocirecipesubscription.py
index 1f60710..fadb8f7 100644
--- a/lib/lp/oci/browser/tests/test_ocirecipesubscription.py
+++ b/lib/lp/oci/browser/tests/test_ocirecipesubscription.py
@@ -3,8 +3,6 @@
33
4"""Test OCI recipe subscription views."""4"""Test OCI recipe subscription views."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
97
108
diff --git a/lib/lp/oci/interfaces/ocipushrule.py b/lib/lp/oci/interfaces/ocipushrule.py
index 15dddb4..b5dfc77 100644
--- a/lib/lp/oci/interfaces/ocipushrule.py
+++ b/lib/lp/oci/interfaces/ocipushrule.py
@@ -3,8 +3,6 @@
33
4"""Interfaces for handling credentials for OCI registry actions."""4"""Interfaces for handling credentials for OCI registry actions."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'IOCIPushRule',8 'IOCIPushRule',
diff --git a/lib/lp/oci/interfaces/ocirecipe.py b/lib/lp/oci/interfaces/ocirecipe.py
index 827a2cd..98631f6 100644
--- a/lib/lp/oci/interfaces/ocirecipe.py
+++ b/lib/lp/oci/interfaces/ocirecipe.py
@@ -3,8 +3,6 @@
33
4"""Interfaces related to recipes for OCI Images."""4"""Interfaces related to recipes for OCI Images."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'CannotModifyOCIRecipeProcessor',8 'CannotModifyOCIRecipeProcessor',
diff --git a/lib/lp/oci/interfaces/ocirecipebuild.py b/lib/lp/oci/interfaces/ocirecipebuild.py
index 2065558..022f7f8 100644
--- a/lib/lp/oci/interfaces/ocirecipebuild.py
+++ b/lib/lp/oci/interfaces/ocirecipebuild.py
@@ -3,8 +3,6 @@
33
4"""Interfaces for a build record for OCI recipes."""4"""Interfaces for a build record for OCI recipes."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'CannotScheduleRegistryUpload',8 'CannotScheduleRegistryUpload',
diff --git a/lib/lp/oci/interfaces/ocirecipebuildjob.py b/lib/lp/oci/interfaces/ocirecipebuildjob.py
index c0fada6..7d5c885 100644
--- a/lib/lp/oci/interfaces/ocirecipebuildjob.py
+++ b/lib/lp/oci/interfaces/ocirecipebuildjob.py
@@ -3,8 +3,6 @@
33
4"""OCIRecipe build job interfaces"""4"""OCIRecipe build job interfaces"""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'IOCIRecipeBuildJob',8 'IOCIRecipeBuildJob',
diff --git a/lib/lp/oci/interfaces/ocirecipejob.py b/lib/lp/oci/interfaces/ocirecipejob.py
index 5fac142..bc7fd60 100644
--- a/lib/lp/oci/interfaces/ocirecipejob.py
+++ b/lib/lp/oci/interfaces/ocirecipejob.py
@@ -3,8 +3,6 @@
33
4"""Interfaces related to OCI recipe jobs."""4"""Interfaces related to OCI recipe jobs."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'IOCIRecipeJob',8 'IOCIRecipeJob',
diff --git a/lib/lp/oci/interfaces/ocirecipesubscription.py b/lib/lp/oci/interfaces/ocirecipesubscription.py
index 01bfe4e..511f410 100644
--- a/lib/lp/oci/interfaces/ocirecipesubscription.py
+++ b/lib/lp/oci/interfaces/ocirecipesubscription.py
@@ -3,8 +3,6 @@
33
4"""OCIRecipe subscription model."""4"""OCIRecipe subscription model."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'IOCIRecipeSubscription'8 'IOCIRecipeSubscription'
diff --git a/lib/lp/oci/interfaces/ociregistryclient.py b/lib/lp/oci/interfaces/ociregistryclient.py
index 71af23a..2a60285 100644
--- a/lib/lp/oci/interfaces/ociregistryclient.py
+++ b/lib/lp/oci/interfaces/ociregistryclient.py
@@ -3,8 +3,6 @@
33
4"""Interface for communication with an OCI registry."""4"""Interface for communication with an OCI registry."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'BlobUploadFailed',8 'BlobUploadFailed',
diff --git a/lib/lp/oci/interfaces/ociregistrycredentials.py b/lib/lp/oci/interfaces/ociregistrycredentials.py
index 2388fd9..ec094f7 100644
--- a/lib/lp/oci/interfaces/ociregistrycredentials.py
+++ b/lib/lp/oci/interfaces/ociregistrycredentials.py
@@ -3,8 +3,6 @@
33
4"""Interfaces for handling credentials for OCI registry actions."""4"""Interfaces for handling credentials for OCI registry actions."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'IOCIRegistryCredentials',8 'IOCIRegistryCredentials',
diff --git a/lib/lp/oci/model/ocipushrule.py b/lib/lp/oci/model/ocipushrule.py
index ad9dd30..e4a8270 100644
--- a/lib/lp/oci/model/ocipushrule.py
+++ b/lib/lp/oci/model/ocipushrule.py
@@ -3,8 +3,6 @@
33
4"""Registry credentials for use by an `OCIPushRule`."""4"""Registry credentials for use by an `OCIPushRule`."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'OCIDistributionPushRule',8 'OCIDistributionPushRule',
diff --git a/lib/lp/oci/model/ocirecipe.py b/lib/lp/oci/model/ocirecipe.py
index c16be3e..b033aed 100644
--- a/lib/lp/oci/model/ocirecipe.py
+++ b/lib/lp/oci/model/ocirecipe.py
@@ -3,8 +3,6 @@
33
4"""A recipe for building Open Container Initiative images."""4"""A recipe for building Open Container Initiative images."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8from lp.soyuz.interfaces.binarypackagebuild import BuildSetStatus6from lp.soyuz.interfaces.binarypackagebuild import BuildSetStatus
97
108
diff --git a/lib/lp/oci/model/ocirecipebuild.py b/lib/lp/oci/model/ocirecipebuild.py
index e24abb7..9ba77e2 100644
--- a/lib/lp/oci/model/ocirecipebuild.py
+++ b/lib/lp/oci/model/ocirecipebuild.py
@@ -3,8 +3,6 @@
33
4"""A build record for OCI Recipes."""4"""A build record for OCI Recipes."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'OCIFile',8 'OCIFile',
diff --git a/lib/lp/oci/model/ocirecipebuildbehaviour.py b/lib/lp/oci/model/ocirecipebuildbehaviour.py
index 86ecceb..8147c77 100644
--- a/lib/lp/oci/model/ocirecipebuildbehaviour.py
+++ b/lib/lp/oci/model/ocirecipebuildbehaviour.py
@@ -6,8 +6,6 @@
6Dispatches OCI image build jobs to build-farm slaves.6Dispatches OCI image build jobs to build-farm slaves.
7"""7"""
88
9from __future__ import absolute_import, print_function, unicode_literals
10
11__metaclass__ = type9__metaclass__ = type
12__all__ = [10__all__ = [
13 'OCIRecipeBuildBehaviour',11 'OCIRecipeBuildBehaviour',
diff --git a/lib/lp/oci/model/ocirecipebuildjob.py b/lib/lp/oci/model/ocirecipebuildjob.py
index 9ec2e91..09dbc10 100644
--- a/lib/lp/oci/model/ocirecipebuildjob.py
+++ b/lib/lp/oci/model/ocirecipebuildjob.py
@@ -3,8 +3,6 @@
33
4"""OCIRecipe build jobs."""4"""OCIRecipe build jobs."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'OCIRecipeBuildJob',8 'OCIRecipeBuildJob',
diff --git a/lib/lp/oci/model/ocirecipejob.py b/lib/lp/oci/model/ocirecipejob.py
index dd57542..00fbe2a 100644
--- a/lib/lp/oci/model/ocirecipejob.py
+++ b/lib/lp/oci/model/ocirecipejob.py
@@ -3,7 +3,6 @@
33
4"""A build job for OCI Recipe."""4"""A build job for OCI Recipe."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7from lp.buildmaster.model.processor import Processor6from lp.buildmaster.model.processor import Processor
8from lp.oci.interfaces.ocirecipe import IOCIRecipeSet7from lp.oci.interfaces.ocirecipe import IOCIRecipeSet
98
diff --git a/lib/lp/oci/model/ocirecipesubscription.py b/lib/lp/oci/model/ocirecipesubscription.py
index 6c17b07..3c9d210 100644
--- a/lib/lp/oci/model/ocirecipesubscription.py
+++ b/lib/lp/oci/model/ocirecipesubscription.py
@@ -3,8 +3,6 @@
33
4"""OCIRecipe subscription model."""4"""OCIRecipe subscription model."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'OCIRecipeSubscription'8 'OCIRecipeSubscription'
diff --git a/lib/lp/oci/model/ociregistryclient.py b/lib/lp/oci/model/ociregistryclient.py
index 3de83b0..2c92c1b 100644
--- a/lib/lp/oci/model/ociregistryclient.py
+++ b/lib/lp/oci/model/ociregistryclient.py
@@ -3,8 +3,6 @@
33
4"""Client for talking to an OCI registry."""4"""Client for talking to an OCI registry."""
55
6from __future__ import absolute_import, print_function, unicode_literals
7
8__metaclass__ = type6__metaclass__ = type
9__all__ = [7__all__ = [
10 'OCIRegistryClient'8 'OCIRegistryClient'
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to status/vote changes: