pulpcore 3.109.2__tar.gz → 3.109.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. {pulpcore-3.109.2 → pulpcore-3.109.3}/CHANGES.md +23 -0
  2. {pulpcore-3.109.2 → pulpcore-3.109.3}/PKG-INFO +1 -1
  3. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/app/__init__.py +1 -1
  4. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/app/models.py +3 -4
  5. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/app/serializers.py +1 -2
  6. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/rhsm/rhsm_check_path.py +4 -3
  7. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/api/test_rhsm_certguard.py +5 -5
  8. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/api/test_x509_certguard.py +3 -3
  9. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/app/__init__.py +1 -1
  10. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/app/modelresource.py +1 -0
  11. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/app/tasks/publishing.py +1 -2
  12. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/app/tasks/synchronizing.py +5 -6
  13. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/manifest.py +0 -2
  14. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_auto_publish.py +1 -2
  15. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_content_labels.py +3 -3
  16. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_crud_content_unit.py +3 -2
  17. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_distributed_publication.py +6 -7
  18. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_domains.py +4 -3
  19. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_download_policies.py +4 -4
  20. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_filesystem_export.py +3 -2
  21. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_publish.py +4 -3
  22. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_pulp_export.py +5 -6
  23. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_rbac.py +5 -4
  24. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_remote_settings.py +2 -1
  25. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_sync.py +2 -4
  26. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/unit/test_git_sync.py +1 -2
  27. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/unit/test_safe_paths.py +3 -1
  28. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/apps.py +2 -3
  29. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/authentication.py +3 -2
  30. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/checks.py +7 -1
  31. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/contexts.py +2 -2
  32. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/entrypoint.py +6 -6
  33. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/files.py +3 -4
  34. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/importexport.py +6 -6
  35. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/add-signing-service.py +2 -5
  36. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/analyze-publication.py +1 -1
  37. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/datarepair-2327.py +2 -3
  38. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/datarepair.py +2 -3
  39. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/dump-publications-to-fs.py +4 -4
  40. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/handle-artifact-checksums.py +3 -4
  41. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/openapi.py +1 -3
  42. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/remove-plugin.py +4 -5
  43. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/remove-signing-service.py +2 -4
  44. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/repository-size.py +3 -3
  45. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/reset-admin-password.py +1 -2
  46. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/rotate-db-key.py +1 -1
  47. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/modelresource.py +3 -4
  48. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/__init__.py +2 -0
  49. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/access_policy.py +2 -2
  50. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/acs.py +2 -1
  51. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/analytics.py +1 -2
  52. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/content.py +7 -9
  53. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/domain.py +3 -3
  54. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/fields.py +1 -0
  55. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/openpgp.py +1 -1
  56. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/publication.py +12 -13
  57. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/replica.py +2 -1
  58. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/repository.py +9 -10
  59. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/storage.py +1 -1
  60. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/task.py +6 -6
  61. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/upload.py +1 -2
  62. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/replica.py +4 -4
  63. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/response.py +1 -0
  64. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/role_util.py +4 -5
  65. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/__init__.py +2 -0
  66. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/acs.py +0 -1
  67. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/content.py +3 -3
  68. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/domain.py +4 -5
  69. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/openpgp.py +2 -1
  70. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/publication.py +8 -10
  71. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/reclaim.py +0 -1
  72. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/replica.py +2 -2
  73. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/repository.py +2 -3
  74. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/upload.py +2 -2
  75. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/user.py +7 -8
  76. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/settings.py +0 -1
  77. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/tasks/__init__.py +2 -0
  78. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/tasks/analytics.py +3 -3
  79. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/tasks/base.py +2 -3
  80. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/tasks/datarepair.py +32 -24
  81. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/tasks/export.py +22 -12
  82. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/tasks/importer.py +15 -18
  83. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/tasks/migrate.py +2 -1
  84. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/tasks/orphan.py +0 -1
  85. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/tasks/purge.py +5 -5
  86. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/tasks/replica.py +5 -6
  87. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/tasks/repository.py +7 -9
  88. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/tasks/telemetry.py +3 -5
  89. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/tasks/test.py +5 -4
  90. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/templatetags/pulp_urls.py +2 -1
  91. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/urls.py +6 -6
  92. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/util.py +10 -14
  93. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/views/__init__.py +2 -0
  94. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/views/importer.py +8 -7
  95. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/__init__.py +2 -0
  96. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/base.py +6 -5
  97. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/content.py +2 -2
  98. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/custom_filters.py +6 -7
  99. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/domain.py +4 -4
  100. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/exporter.py +2 -5
  101. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/publication.py +11 -11
  102. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/replica.py +3 -3
  103. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/repository.py +7 -8
  104. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/task.py +6 -6
  105. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/upload.py +2 -3
  106. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/user.py +7 -9
  107. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/vulnerability_report.py +0 -1
  108. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/cache/__init__.py +1 -0
  109. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/cache/cache.py +8 -12
  110. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/content/__init__.py +13 -13
  111. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/content/authentication.py +5 -4
  112. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/content/entrypoint.py +3 -2
  113. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/content/handler.py +19 -22
  114. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/download/__init__.py +1 -0
  115. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/download/base.py +4 -4
  116. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/download/factory.py +6 -5
  117. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/download/file.py +0 -1
  118. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/download/http.py +3 -2
  119. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/exceptions/__init__.py +2 -0
  120. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/exceptions/base.py +1 -0
  121. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/exceptions/validation.py +4 -3
  122. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/filters.py +11 -14
  123. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/metrics.py +1 -2
  124. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/middleware.py +4 -5
  125. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/migrations.py +4 -7
  126. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/openapi/__init__.py +2 -0
  127. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/__init__.py +1 -0
  128. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/access_policy.py +2 -3
  129. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/authentication/__init__.py +1 -0
  130. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/cache/__init__.py +2 -0
  131. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/download/__init__.py +2 -0
  132. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/importexport.py +1 -0
  133. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/models/__init__.py +2 -0
  134. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/repo_version_utils.py +5 -5
  135. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/serializers/__init__.py +2 -0
  136. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/serializers/content.py +6 -4
  137. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/stages/__init__.py +2 -0
  138. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/stages/api.py +0 -1
  139. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/stages/artifact_stages.py +3 -4
  140. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/stages/content_stages.py +1 -2
  141. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/stages/declarative_version.py +1 -1
  142. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/stages/models.py +1 -2
  143. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/tasking.py +2 -3
  144. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/util.py +7 -8
  145. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/viewsets/__init__.py +2 -0
  146. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/viewsets/content.py +2 -3
  147. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/pytest_plugin.py +6 -8
  148. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tasking/_util.py +4 -3
  149. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tasking/entrypoint.py +5 -4
  150. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tasking/kafka.py +2 -3
  151. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tasking/redis_locks.py +1 -0
  152. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tasking/redis_tasks.py +11 -6
  153. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tasking/redis_worker.py +13 -13
  154. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tasking/tasks.py +9 -8
  155. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tasking/worker.py +12 -14
  156. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_api_root_rewrite.py +3 -2
  157. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_artifact_distribution.py +2 -1
  158. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_crd_artifacts.py +1 -0
  159. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_filter.py +2 -1
  160. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_openapi_schema.py +2 -3
  161. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_replication.py +5 -4
  162. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_role.py +1 -0
  163. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_root_endpoint.py +1 -0
  164. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_status.py +0 -1
  165. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_task_purge.py +0 -1
  166. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_tasking.py +9 -11
  167. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_upload.py +4 -3
  168. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_users_groups.py +3 -1
  169. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_workers.py +2 -1
  170. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_checkpoint.py +5 -3
  171. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_content_path.py +1 -2
  172. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_migrate.py +3 -2
  173. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_orphans.py +1 -0
  174. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_prn.py +2 -2
  175. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_proxy.py +3 -2
  176. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_pulpimport.py +3 -4
  177. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_reclaim_disk_space.py +3 -4
  178. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_repo_versions.py +2 -1
  179. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/content_with_coverage.py +1 -0
  180. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/conftest.py +2 -1
  181. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/content/test_handler.py +21 -21
  182. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/content/test_heartbeat.py +3 -3
  183. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/metrics/conftest.py +1 -2
  184. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/metrics/test_aiohttp_instrumentation.py +0 -1
  185. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/metrics/test_django_instrumentation.py +1 -2
  186. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/models/test_base.py +4 -2
  187. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/models/test_content.py +2 -3
  188. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/models/test_publication_retention.py +13 -12
  189. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/models/test_remote.py +4 -4
  190. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/models/test_task.py +4 -2
  191. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/serializers/test_base.py +3 -4
  192. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/serializers/test_orphans_cleanup.py +0 -1
  193. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/serializers/test_pulpexport.py +1 -0
  194. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/serializers/test_user.py +4 -3
  195. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/stages/test_artifactdownloader.py +5 -5
  196. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/stages/test_stages.py +3 -3
  197. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/test_cache.py +2 -1
  198. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/test_import_checks.py +0 -1
  199. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/test_viewsets.py +2 -0
  200. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/test_vulnerability_report.py +2 -2
  201. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore.egg-info/PKG-INFO +1 -1
  202. {pulpcore-3.109.2 → pulpcore-3.109.3}/pyproject.toml +30 -2
  203. {pulpcore-3.109.2 → pulpcore-3.109.3}/CODE_OF_CONDUCT.md +0 -0
  204. {pulpcore-3.109.2 → pulpcore-3.109.3}/COMMITMENT +0 -0
  205. {pulpcore-3.109.2 → pulpcore-3.109.3}/CONTRIBUTING.md +0 -0
  206. {pulpcore-3.109.2 → pulpcore-3.109.3}/COPYRIGHT +0 -0
  207. {pulpcore-3.109.2 → pulpcore-3.109.3}/LICENSE +0 -0
  208. {pulpcore-3.109.2 → pulpcore-3.109.3}/MANIFEST.in +0 -0
  209. {pulpcore-3.109.2 → pulpcore-3.109.3}/README.md +0 -0
  210. {pulpcore-3.109.2 → pulpcore-3.109.3}/ci_requirements.txt +0 -0
  211. {pulpcore-3.109.2 → pulpcore-3.109.3}/functest_requirements.txt +0 -0
  212. {pulpcore-3.109.2 → pulpcore-3.109.3}/manage.py +0 -0
  213. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/__init__.py +0 -0
  214. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/app/migrations/0001_initial.py +0 -0
  215. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/app/migrations/0002_alter_rhsmcertguard_contentguard_ptr_and_more.py +0 -0
  216. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/app/migrations/__init__.py +0 -0
  217. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/app/viewsets.py +0 -0
  218. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/pytest_plugin.py +0 -0
  219. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/rhsm/__init__.py +0 -0
  220. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/__init__.py +0 -0
  221. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/__init__.py +0 -0
  222. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/api/__init__.py +0 -0
  223. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/rhsm/katello-default-ca.crt +0 -0
  224. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/rhsm/katello-default-ca.key +0 -0
  225. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/rhsm/trusted_but_expired.pem +0 -0
  226. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/rhsm/uber.cert +0 -0
  227. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/rhsm/untrusted_cert-key.pem +0 -0
  228. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/rhsm/untrusted_cert.pem +0 -0
  229. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/rhsm/v1/1514454871848760713-key.pem +0 -0
  230. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/rhsm/v1/1514454871848760713.pem +0 -0
  231. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/rhsm/v1/159442575569388840-key.pem +0 -0
  232. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/rhsm/v1/159442575569388840.pem +0 -0
  233. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/rhsm/v3/4260035510644027985-key.pem +0 -0
  234. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/rhsm/v3/4260035510644027985.pem +0 -0
  235. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/rhsm/v3/5527980418107729172-key.pem +0 -0
  236. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/rhsm/v3/5527980418107729172.pem +0 -0
  237. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/certificates/ca.pem +0 -0
  238. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/genca.sh +0 -0
  239. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/keys/ca.pem +0 -0
  240. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/x509/certificates/ca.pem +0 -0
  241. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/x509/certificates/client.pem +0 -0
  242. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/x509/certificates/server.pem +0 -0
  243. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/x509/certificates/un_urlencoded_cert.txt +0 -0
  244. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/x509/certificates/untrusted_client.pem +0 -0
  245. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/x509/genall.sh +0 -0
  246. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/x509/genca.sh +0 -0
  247. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/x509/genclient.sh +0 -0
  248. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/x509/gensrv.sh +0 -0
  249. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/x509/keys/ca.pem +0 -0
  250. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/x509/keys/client.pem +0 -0
  251. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/artifacts/x509/keys/server.pem +0 -0
  252. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/conftest.py +0 -0
  253. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/functional/constants.py +0 -0
  254. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/unit/__init__.py +0 -0
  255. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/unit/certdata.py +0 -0
  256. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_certguard/tests/unit/test_rhsm_check_path.py +5 -5
  257. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/__init__.py +0 -0
  258. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/app/migrations/0001_initial_squashed_0016_add_domain.py +0 -0
  259. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/app/migrations/0017_alter_filealternatecontentsource_alternatecontentsource_ptr_and_more.py +0 -0
  260. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/app/migrations/0018_alter_filecontent_options.py +0 -0
  261. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/app/migrations/0019_add_filegitremote.py +0 -0
  262. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/app/migrations/0020_filerepository_last_sync_details.py +0 -0
  263. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/app/migrations/__init__.py +0 -0
  264. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/app/models.py +0 -0
  265. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/app/replica.py +2 -2
  266. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/app/serializers.py +2 -2
  267. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/app/settings.py +0 -0
  268. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/app/tasks/__init__.py +0 -0
  269. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/app/viewsets.py +5 -5
  270. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/pytest_plugin.py +0 -0
  271. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/__init__.py +0 -0
  272. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/__init__.py +0 -0
  273. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/__init__.py +0 -0
  274. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_acs.py +2 -2
  275. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_bad_sync.py +2 -2
  276. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_crud_remotes.py +0 -0
  277. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_generic_list.py +0 -0
  278. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_git_sync.py +2 -2
  279. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_labels.py +0 -0
  280. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/functional/api/test_mime_types.py +3 -3
  281. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/unit/__init__.py +0 -0
  282. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/unit/test_serializers.py +5 -5
  283. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulp_file/tests/unit/test_sync_optimization.py +0 -0
  284. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/__init__.py +0 -0
  285. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/__init__.py +0 -0
  286. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/access_policy.py +0 -0
  287. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/find_url.py +0 -0
  288. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/global_access_conditions.py +0 -0
  289. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/loggers.py +0 -0
  290. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/manage.py +0 -0
  291. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/__init__.py +0 -0
  292. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/__init__.py +0 -0
  293. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/clean-up-progress-reports.py +0 -0
  294. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/dump-permissions.py +4 -4
  295. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/list-signing-services.py +0 -0
  296. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/migrationstat.py +1 -1
  297. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/optimizemigration.py +2 -2
  298. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/rebasemigrations.py +1 -1
  299. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/management/commands/shell.py +0 -0
  300. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0001_squashed_0090_char_to_text_field.py +0 -0
  301. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0091_systemid.py +0 -0
  302. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0092_alter_upload_options.py +0 -0
  303. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0093_add_info_field_repositoryversion.py +0 -0
  304. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0094_protect_repository_content.py +0 -0
  305. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0095_artifactdistribution.py +0 -0
  306. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0096_alter_task_logging_cid.py +0 -0
  307. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0097_remove_telemetry_task_schedule.py +0 -0
  308. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0098_pulp_labels.py +0 -0
  309. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0099_versions_field.py +0 -0
  310. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0100_upstreampulp.py +0 -0
  311. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0101_add_domain.py +0 -0
  312. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0102_add_domain_relations.py +0 -0
  313. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0103_alter_export_task.py +0 -0
  314. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0104_delete_label.py +0 -0
  315. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0105_abstract_uuid_gen.py +0 -0
  316. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0106_alter_artifactdistribution_distribution_ptr_and_more.py +0 -0
  317. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0107_distribution_hidden.py +0 -0
  318. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0108_task_versions.py +0 -0
  319. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0109_contentartifact_relative_path_index.py +0 -0
  320. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0110_apiappstatus.py +0 -0
  321. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0111_task_enc_args_task_enc_kwargs.py +0 -0
  322. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0112_alter_upstreampulp_options.py +0 -0
  323. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0113_headercontentguard.py +0 -0
  324. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0114_remove_task_args_remove_task_kwargs.py +0 -0
  325. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0115_compositecontentguard.py +0 -0
  326. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0116_alter_remoteartifact_md5_alter_remoteartifact_sha1_and_more.py +0 -0
  327. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0117_task_unblocked_at.py +0 -0
  328. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0118_task_core_task_unblock_2276a4_idx_and_more.py +0 -0
  329. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0119_grouprole_core_groupr_object__250e22_idx_and_more.py +0 -0
  330. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0120_get_url_removal.py +0 -0
  331. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0121_add_profile_artifacts_table.py +0 -0
  332. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0122_record_last_replication_timestamp.py +0 -0
  333. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0123_upstreampulp_q_select.py +0 -0
  334. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0124_task_deferred_task_immediate.py +0 -0
  335. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0125_openpgpdistribution_openpgpkeyring_openpgppublickey_and_more.py +0 -0
  336. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0126_remoteartifact_failed_at.py +0 -0
  337. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0127_remove_upstreampulp_pulp_label_select.py +0 -0
  338. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0128_domain_pulp_labels.py +0 -0
  339. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0129_content_pulp_labels.py +0 -0
  340. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0130_upstreampulp_policy.py +0 -0
  341. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0131_distribution_checkpoint_publication_checkpoint.py +0 -0
  342. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0132_alter_content_options.py +0 -0
  343. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0132_task_profile_options.py +0 -0
  344. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0133_repositoryversion_content_ids.py +0 -0
  345. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0134_task_insert_trigger.py +0 -0
  346. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0135_task_pulp_task_resources_index.py +0 -0
  347. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0136_delete_basedistribution.py +0 -0
  348. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0137_appstatus.py +0 -0
  349. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0138_vulnerabilityreport.py +0 -0
  350. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0139_task_app_lock.py +0 -0
  351. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0140_require_appstatus_zdu.py +0 -0
  352. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0141_alter_appstatus_name.py +0 -0
  353. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0142_task_result.py +0 -0
  354. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0143_require_app_lock_zdu.py +0 -0
  355. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0144_delete_old_appstatus.py +0 -0
  356. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0145_domainize_import_export.py +0 -0
  357. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0146_repository_retain_checkpoints.py +0 -0
  358. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0147_content_pulp_labels_gin.py +0 -0
  359. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0148_artifact_artifact_domain_size_index.py +0 -0
  360. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/0149_distributedpublication.py +0 -0
  361. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/migrations/__init__.py +0 -0
  362. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/mime_types.py +0 -0
  363. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/base.py +1 -1
  364. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/exporter.py +0 -0
  365. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/generic.py +0 -0
  366. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/importer.py +0 -0
  367. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/progress.py +0 -0
  368. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/role.py +0 -0
  369. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/status.py +0 -0
  370. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/models/vulnerability_report.py +0 -0
  371. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/netutil.py +0 -0
  372. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/openpgp.py +0 -0
  373. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/protobuf/__init__.py +0 -0
  374. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/protobuf/analytics_pb2.py +0 -0
  375. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/pulp_hashlib.py +1 -1
  376. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/pulpcore_gunicorn_application.py +0 -0
  377. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/redis_connection.py +0 -0
  378. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/access_policy.py +0 -0
  379. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/base.py +11 -11
  380. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/exporter.py +1 -1
  381. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/fields.py +2 -2
  382. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/importer.py +0 -0
  383. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/orphans.py +0 -0
  384. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/progress.py +0 -0
  385. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/purge.py +0 -0
  386. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/repair.py +0 -0
  387. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/status.py +0 -0
  388. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/task.py +3 -3
  389. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/serializers/vulnerability_report.py +0 -0
  390. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/tasks/reclaim_space.py +0 -0
  391. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/tasks/upload.py +0 -0
  392. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/tasks/vulnerability_report.py +2 -2
  393. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/templates/rest_framework/api.html +0 -0
  394. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/templatetags/__init__.py +0 -0
  395. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/views/datarepair.py +0 -0
  396. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/views/orphans.py +0 -0
  397. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/views/repair.py +0 -0
  398. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/views/status.py +2 -2
  399. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/access_policy.py +2 -2
  400. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/acs.py +2 -2
  401. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/importer.py +1 -1
  402. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/openpgp.py +1 -1
  403. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/orphans.py +1 -1
  404. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/viewsets/reclaim.py +0 -0
  405. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/app/wsgi.py +0 -0
  406. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/backends.py +3 -3
  407. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/constants.py +0 -0
  408. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/content/instrumentation.py +1 -1
  409. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/exceptions/plugin.py +0 -0
  410. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/openapi/hooks.py +0 -0
  411. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/actions.py +0 -0
  412. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/apps.py +0 -0
  413. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/constants.py +2 -2
  414. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/content.py +0 -0
  415. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/exceptions.py +7 -7
  416. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/files.py +0 -0
  417. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/find_url.py +0 -0
  418. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/migrations.py +0 -0
  419. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/modelresources.py +0 -0
  420. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/models/role.py +0 -0
  421. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/publication_utils.py +1 -1
  422. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/pulp_hashlib.py +0 -0
  423. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/replica.py +0 -0
  424. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/responses.py +0 -0
  425. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/storage.py +0 -0
  426. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/plugin/sync.py +0 -0
  427. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/responses.py +0 -0
  428. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tasking/__init__.py +0 -0
  429. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tasking/storage.py +0 -0
  430. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/__init__.py +0 -0
  431. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/__init__.py +0 -0
  432. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/__init__.py +0 -0
  433. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_access_policy.py +0 -0
  434. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_api_docs.py +0 -0
  435. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_auth.py +0 -0
  436. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_correlation_id.py +0 -0
  437. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_crud_domains.py +4 -4
  438. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_login.py +2 -2
  439. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_openpgp.py +0 -0
  440. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_repos.py +2 -2
  441. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_scoping.py +0 -0
  442. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/test_signing_service.py +0 -0
  443. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/__init__.py +0 -0
  444. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_content_access.py +2 -2
  445. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_content_cache.py +4 -4
  446. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_content_delivery.py +1 -1
  447. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_content_directory.py +0 -0
  448. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_content_promotion.py +2 -2
  449. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_contentguard.py +4 -4
  450. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_crud_repos.py +4 -4
  451. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_distributions.py +2 -2
  452. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_filesystemexport.py +2 -2
  453. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_labels.py +0 -0
  454. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_pagination.py +0 -0
  455. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_repair.py +2 -2
  456. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_tasks.py +1 -1
  457. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/api/using_plugin/test_unlinking_repo.py +0 -0
  458. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/assets/__init__.py +0 -0
  459. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/functional/utils.py +2 -2
  460. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/performance/__init__.py +0 -0
  461. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/performance/test_performance.py +2 -2
  462. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/__init__.py +0 -0
  463. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/content/__init__.py +0 -0
  464. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/download/__init__.py +0 -0
  465. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/download/test_downloader_base.py +0 -0
  466. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/download/test_downloader_factory.py +0 -0
  467. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/metrics/__init__.py +0 -0
  468. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/migration/__init__.py +0 -0
  469. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/models/__init__.py +0 -0
  470. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/models/test_repository.py +2 -2
  471. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/roles/__init__.py +0 -0
  472. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/roles/test_roles.py +2 -2
  473. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/serializers/__init__.py +0 -0
  474. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/serializers/test_domain.py +2 -2
  475. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/serializers/test_fields.py +0 -0
  476. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/serializers/test_repository.py +3 -3
  477. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/stages/__init__.py +0 -0
  478. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/test_chunked_file.py +0 -0
  479. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/test_content_guard.py +3 -3
  480. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/test_files.py +0 -0
  481. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/test_list_signing_services_command.py +1 -1
  482. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/test_pulp_urls.py +1 -1
  483. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/test_settings.py +0 -0
  484. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/test_util.py +1 -1
  485. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/viewsets/__init__.py +0 -0
  486. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore/tests/unit/viewsets/test_viewset_base.py +2 -2
  487. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore.egg-info/SOURCES.txt +0 -0
  488. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore.egg-info/dependency_links.txt +0 -0
  489. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore.egg-info/entry_points.txt +0 -0
  490. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore.egg-info/requires.txt +0 -0
  491. {pulpcore-3.109.2 → pulpcore-3.109.3}/pulpcore.egg-info/top_level.txt +0 -0
  492. {pulpcore-3.109.2 → pulpcore-3.109.3}/setup.cfg +0 -0
  493. {pulpcore-3.109.2 → pulpcore-3.109.3}/test_requirements.txt +0 -0
  494. {pulpcore-3.109.2 → pulpcore-3.109.3}/unittest_requirements.txt +0 -0
@@ -8,6 +8,29 @@
8
8
 
9
9
  [//]: # (towncrier release notes start)
10
10
 
11
+ ## 3.109.3 (2026-04-28) {: #3.109.3 }
12
+
13
+ ### REST API {: #3.109.3-rest-api }
14
+
15
+ #### Bugfixes {: #3.109.3-rest-api-bugfix }
16
+
17
+ - Replace use of the deprecated distutils. The module has been removed in Python 3.12 .
18
+ [#7571](https://github.com/pulp/pulpcore/issues/7571)
19
+
20
+ ### Plugin API {: #3.109.3-plugin-api }
21
+
22
+ No significant changes.
23
+
24
+ ### Pulp File {: #3.109.3-pulp-file }
25
+
26
+ No significant changes.
27
+
28
+ ### Pulp Cert Guard {: #3.109.3-pulp-cert-guard }
29
+
30
+ No significant changes.
31
+
32
+ ---
33
+
11
34
  ## 3.109.2 (2026-04-24) {: #3.109.2 }
12
35
 
13
36
  ### REST API {: #3.109.2-rest-api }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulpcore
3
- Version: 3.109.2
3
+ Version: 3.109.3
4
4
  Summary: Pulp Django Application and Related Modules
5
5
  Author-email: Pulp Team <pulp-list@redhat.com>
6
6
  License-Expression: GPL-2.0-or-later
@@ -6,6 +6,6 @@ class PulpCertGuardPluginAppConfig(PulpPluginAppConfig):
6
6
 
7
7
  name = "pulp_certguard.app"
8
8
  label = "certguard"
9
- version = "3.109.2"
9
+ version = "3.109.3"
10
10
  python_package_name = "pulpcore"
11
11
  domain_compatible = True
@@ -1,12 +1,11 @@
1
- from logging import getLogger
2
- from gettext import gettext as _
3
1
  import re
2
+ from gettext import gettext as _
3
+ from logging import getLogger
4
4
  from urllib.parse import unquote
5
5
 
6
+ from cryptography import x509
6
7
  from django.conf import settings
7
8
  from django.db import models
8
-
9
- from cryptography import x509
10
9
  from OpenSSL import crypto as openssl
11
10
 
12
11
  from pulpcore.plugin.models import ContentGuard
@@ -1,11 +1,10 @@
1
1
  from gettext import gettext as _
2
2
 
3
3
  from OpenSSL import crypto as openssl
4
+ from rest_framework import serializers
4
5
 
5
6
  from pulpcore.plugin.serializers import ContentGuardSerializer
6
7
 
7
- from rest_framework import serializers
8
-
9
8
  from .models import RHSMCertGuard, X509CertGuard
10
9
 
11
10
 
@@ -1,9 +1,10 @@
1
- import typing as t
2
- from cryptography import x509
3
- from heapq import heappush, heappop
4
1
  import itertools
5
2
  import re
3
+ import typing as t
6
4
  import zlib
5
+ from heapq import heappop, heappush
6
+
7
+ from cryptography import x509
7
8
 
8
9
  RH_OID = "1.3.6.1.4.1.2312.9"
9
10
  RH_ORDER_NAME_OID = RH_OID + ".4.1"
@@ -1,29 +1,29 @@
1
- import pytest
2
1
  import uuid
2
+ from urllib.parse import quote, urljoin
3
3
 
4
+ import pytest
4
5
  import requests
5
- from urllib.parse import urljoin, quote
6
6
  from django.conf import settings
7
7
 
8
8
  from pulp_certguard.tests.functional.constants import (
9
9
  RHSM_CA_CERT_FILE_PATH,
10
10
  RHSM_CLIENT_CERT_FROM_UNTRUSTED_CA,
11
11
  RHSM_CLIENT_CERT_TRUSTED_BUT_EXPIRED,
12
- THIRDPARTY_CA_CERT_FILE_PATH,
13
12
  RHSM_UBER_CERT_BASE_PATH_ONE,
14
13
  RHSM_UBER_CERT_BASE_PATH_TWO,
15
14
  RHSM_UBER_CLIENT_CERT,
16
15
  RHSM_V1_ONE_AND_TWO_VAR_CLIENT_CERT,
17
16
  RHSM_V1_ONE_VAR_BASE_PATH,
18
17
  RHSM_V1_TWO_VAR_BASE_PATH,
19
- RHSM_V1_ZERO_VAR_CLIENT_CERT,
20
18
  RHSM_V1_ZERO_VAR_BASE_PATH,
19
+ RHSM_V1_ZERO_VAR_CLIENT_CERT,
21
20
  RHSM_V3_INVALID_BASE_PATH,
22
21
  RHSM_V3_ONE_AND_TWO_VAR_CLIENT_CERT,
23
22
  RHSM_V3_ONE_VAR_BASE_PATH,
24
23
  RHSM_V3_TWO_VAR_BASE_PATH,
25
- RHSM_V3_ZERO_VAR_CLIENT_CERT,
26
24
  RHSM_V3_ZERO_VAR_BASE_PATH,
25
+ RHSM_V3_ZERO_VAR_CLIENT_CERT,
26
+ THIRDPARTY_CA_CERT_FILE_PATH,
27
27
  )
28
28
 
29
29
  if settings.DOMAIN_ENABLED:
@@ -1,15 +1,15 @@
1
- import pytest
2
1
  import uuid
2
+ from urllib.parse import quote, urljoin
3
3
 
4
+ import pytest
4
5
  import requests
5
- from urllib.parse import urljoin, quote
6
6
 
7
7
  from pulp_certguard.tests.functional.constants import (
8
8
  X509_BASE_PATH,
9
9
  X509_CA_CERT_FILE_PATH,
10
10
  X509_CLIENT_CERT_FILE_PATH,
11
- X509_UNTRUSTED_CLIENT_CERT_FILE_PATH,
12
11
  X509_UN_URLENCODED_CLIENT_CERT_FILE_PATH,
12
+ X509_UNTRUSTED_CLIENT_CERT_FILE_PATH,
13
13
  )
14
14
 
15
15
 
@@ -8,6 +8,6 @@ class PulpFilePluginAppConfig(PulpPluginAppConfig):
8
8
 
9
9
  name = "pulp_file.app"
10
10
  label = "file"
11
- version = "3.109.2"
11
+ version = "3.109.3"
12
12
  python_package_name = "pulpcore"
13
13
  domain_compatible = True
@@ -1,5 +1,6 @@
1
1
  from pulpcore.plugin.importexport import BaseContentResource
2
2
  from pulpcore.plugin.modelresources import RepositoryResource
3
+
3
4
  from pulp_file.app.models import FileContent, FileRepository
4
5
 
5
6
 
@@ -1,15 +1,14 @@
1
1
  import logging
2
2
  import tempfile
3
-
4
3
  from gettext import gettext as _
5
4
 
6
5
  from django.core.files import File
7
6
 
8
7
  from pulpcore.plugin.models import (
9
8
  ContentArtifact,
10
- RepositoryVersion,
11
9
  PublishedMetadata,
12
10
  RemoteArtifact,
11
+ RepositoryVersion,
13
12
  )
14
13
 
15
14
  from pulp_file.app.models import FilePublication
@@ -3,18 +3,17 @@ import os
3
3
  import re
4
4
  import shutil
5
5
  import tempfile
6
- from hashlib import sha256
7
-
8
6
  from gettext import gettext as _
7
+ from hashlib import sha256
9
8
  from urllib.parse import quote, urlparse, urlunparse
10
9
 
11
10
  import git as gitpython
12
- from gitdb.exc import BadName, BadObject
13
- from django.core.files import File
14
11
  from django.conf import settings
12
+ from django.core.files import File
13
+ from gitdb.exc import BadName, BadObject
15
14
 
16
15
  from pulpcore.plugin.exceptions import SyncError
17
- from pulpcore.plugin.models import Artifact, ProgressReport, Remote, PublishedMetadata
16
+ from pulpcore.plugin.models import Artifact, ProgressReport, PublishedMetadata, Remote
18
17
  from pulpcore.plugin.serializers import RepositoryVersionSerializer
19
18
  from pulpcore.plugin.stages import (
20
19
  DeclarativeArtifact,
@@ -27,8 +26,8 @@ from pulpcore.plugin.stages import (
27
26
  from pulp_file.app.models import (
28
27
  FileContent,
29
28
  FileGitRemote,
30
- FileRepository,
31
29
  FilePublication,
30
+ FileRepository,
32
31
  )
33
32
  from pulp_file.manifest import Manifest
34
33
 
@@ -1,7 +1,5 @@
1
1
  from collections import namedtuple
2
-
3
2
  from gettext import gettext as _
4
-
5
3
  from re import fullmatch
6
4
 
7
5
  Line = namedtuple("Line", ("number", "content"))
@@ -2,11 +2,10 @@
2
2
 
3
3
  import pytest
4
4
 
5
- from pulpcore.tests.functional.utils import get_files_in_manifest
6
-
7
5
  from pulpcore.client.pulp_file import (
8
6
  RepositorySyncURL,
9
7
  )
8
+ from pulpcore.tests.functional.utils import get_files_in_manifest
10
9
 
11
10
 
12
11
  @pytest.fixture
@@ -1,11 +1,11 @@
1
+ import os
2
+ import uuid
1
3
  from uuid import uuid4
2
4
 
3
- import os
4
5
  import pytest
5
- import uuid
6
6
 
7
+ from pulpcore.client.pulp_file.exceptions import BadRequestException, ForbiddenException
7
8
  from pulpcore.client.pulp_file.models import SetLabel, UnsetLabel
8
- from pulpcore.client.pulp_file.exceptions import ForbiddenException, BadRequestException
9
9
 
10
10
 
11
11
  @pytest.mark.parallel
@@ -2,10 +2,11 @@
2
2
 
3
3
  import hashlib
4
4
  import os
5
- import pytest
6
5
  import uuid
7
6
 
8
- from pulpcore.tests.functional.utils import generate_iso, PulpTaskError
7
+ import pytest
8
+
9
+ from pulpcore.tests.functional.utils import PulpTaskError, generate_iso
9
10
 
10
11
 
11
12
  @pytest.mark.parallel
@@ -1,16 +1,15 @@
1
1
  """Tests for the distributed publication grace-period feature."""
2
2
 
3
+ import time
3
4
  from dataclasses import dataclass
4
5
  from urllib.parse import urljoin
5
6
 
6
7
  import pytest
7
8
  import requests
8
- from pulpcore.client.pulp_file import FileFilePublication, FileFileDistribution
9
- from pulpcore.client.pulp_file import RepositorySyncURL
10
-
11
- import time
12
9
  from django.conf import settings
13
10
 
11
+ from pulpcore.client.pulp_file import FileFileDistribution, FileFilePublication, RepositorySyncURL
12
+
14
13
 
15
14
  @dataclass
16
15
  class DistributionPublicationContext:
@@ -30,9 +29,9 @@ class DistributionPublicationContext:
30
29
  raise NotImplementedError
31
30
 
32
31
  def wait_retention_period(self):
33
- assert (
34
- settings.DISTRIBUTED_PUBLICATION_RETENTION_PERIOD <= 5
35
- ), "DISTRIBUTED_PUBLICATION_RETENTION_PERIOD is too long for testing."
32
+ assert settings.DISTRIBUTED_PUBLICATION_RETENTION_PERIOD <= 5, (
33
+ "DISTRIBUTED_PUBLICATION_RETENTION_PERIOD is too long for testing."
34
+ )
36
35
  time.sleep(settings.DISTRIBUTED_PUBLICATION_RETENTION_PERIOD + 1)
37
36
 
38
37
 
@@ -1,9 +1,10 @@
1
- import pytest
2
- import uuid
3
1
  import json
2
+ import uuid
3
+
4
+ import pytest
4
5
 
5
6
  from pulpcore.app import settings
6
- from pulpcore.tests.functional.utils import generate_iso, download_file
7
+ from pulpcore.tests.functional.utils import download_file, generate_iso
7
8
 
8
9
  pytestmark = pytest.mark.skipif(not settings.DOMAIN_ENABLED, reason="Domains not enabled.")
9
10
 
@@ -1,17 +1,17 @@
1
1
  """Tests for Pulp`s download policies."""
2
2
 
3
- from aiohttp.client_exceptions import ClientResponseError
4
- from bs4 import BeautifulSoup
5
3
  import hashlib
6
4
  import os
7
- import pytest
8
5
  import subprocess
9
6
  import uuid
10
7
  from urllib.parse import urljoin
11
8
 
12
- from pulpcore.tests.functional.utils import get_files_in_manifest, download_file
9
+ import pytest
10
+ from aiohttp.client_exceptions import ClientResponseError
11
+ from bs4 import BeautifulSoup
13
12
 
14
13
  from pulpcore.client.pulp_file import FileFilePublication, RepositorySyncURL
14
+ from pulpcore.tests.functional.utils import download_file, get_files_in_manifest
15
15
 
16
16
  OBJECT_STORAGES = (
17
17
  "storages.backends.s3boto3.S3Boto3Storage",
@@ -1,9 +1,10 @@
1
1
  import json
2
- import pytest
3
2
  import uuid
4
3
 
5
- from pulpcore.client.pulpcore.exceptions import ApiException, BadRequestException
4
+ import pytest
5
+
6
6
  from pulpcore.app import settings
7
+ from pulpcore.client.pulpcore.exceptions import ApiException, BadRequestException
7
8
  from pulpcore.constants import TASK_STATES
8
9
 
9
10
  pytestmark = [
@@ -1,13 +1,14 @@
1
1
  """Tests that publish file plugin repositories."""
2
2
 
3
- from aiohttp import BasicAuth
4
3
  import json
5
- import pytest
6
4
  from urllib.parse import urljoin
7
5
 
6
+ import pytest
7
+ from aiohttp import BasicAuth
8
+
8
9
  from pulpcore.client.pulp_file import (
9
- RepositorySyncURL,
10
10
  FileFilePublication,
11
+ RepositorySyncURL,
11
12
  )
12
13
  from pulpcore.client.pulp_file.exceptions import ApiException
13
14
  from pulpcore.tests.functional.utils import download_file
@@ -1,12 +1,11 @@
1
1
  import json
2
+ import uuid
2
3
  from pathlib import Path
3
4
 
4
5
  import pytest
5
- import uuid
6
6
 
7
- from pulpcore.client.pulpcore.exceptions import ApiException
8
- from pulpcore.client.pulpcore.exceptions import BadRequestException
9
7
  from pulpcore.app import settings
8
+ from pulpcore.client.pulpcore.exceptions import ApiException, BadRequestException
10
9
  from pulpcore.constants import TASK_STATES
11
10
 
12
11
  pytestmark = [
@@ -455,9 +454,9 @@ def test_export_chunk_ordering_and_naming(
455
454
  toc_filenames = list(toc_data["files"].keys())
456
455
  expected_filenames = [p.name for p in tar_chunks]
457
456
 
458
- assert (
459
- toc_filenames == expected_filenames
460
- ), f"TOC order mismatch.\nExpected: {expected_filenames}\nActual: {toc_filenames}"
457
+ assert toc_filenames == expected_filenames, (
458
+ f"TOC order mismatch.\nExpected: {expected_filenames}\nActual: {toc_filenames}"
459
+ )
461
460
 
462
461
  assert toc_data["meta"]["chunk_size"] == chunk_size_bytes
463
462
  assert toc_data["meta"]["checksum_type"] == "crc32"
@@ -1,6 +1,7 @@
1
- import pytest
2
1
  import uuid
3
2
 
3
+ import pytest
4
+
4
5
 
5
6
  @pytest.fixture()
6
7
  def gen_users(gen_user):
@@ -38,9 +39,9 @@ def try_action(file_bindings, monitor_task):
38
39
  except file_bindings.module.ApiException as e:
39
40
  assert e.status == outcome, f"{e}"
40
41
  else:
41
- assert (
42
- status_code == outcome
43
- ), f"User performed {action} when they shouldn't been able to"
42
+ assert status_code == outcome, (
43
+ f"User performed {action} when they shouldn't been able to"
44
+ )
44
45
  return data
45
46
 
46
47
  return _try_action
@@ -1,6 +1,7 @@
1
- import pytest
2
1
  import uuid
3
2
 
3
+ import pytest
4
+
4
5
  from pulpcore.client.pulp_file import (
5
6
  RepositorySyncURL,
6
7
  )
@@ -2,14 +2,12 @@
2
2
 
3
3
  import os
4
4
  import uuid
5
-
6
- import pytest
7
-
8
5
  from urllib.parse import urljoin
9
6
 
10
- from pulpcore.tests.functional.utils import PulpTaskError
7
+ import pytest
11
8
 
12
9
  from pulpcore.client.pulp_file import RepositorySyncURL
10
+ from pulpcore.tests.functional.utils import PulpTaskError
13
11
 
14
12
 
15
13
  def test_sync_file_protocol_handler(
@@ -1,10 +1,9 @@
1
1
  """Unit tests for Git sync helper functions."""
2
2
 
3
3
  import os
4
-
5
4
  from unittest import mock
6
5
 
7
- from pulp_file.app.tasks.synchronizing import _build_clone_url, _build_clone_env
6
+ from pulp_file.app.tasks.synchronizing import _build_clone_env, _build_clone_url
8
7
 
9
8
 
10
9
  class TestBuildCloneUrl:
@@ -1,5 +1,7 @@
1
- import pytest
2
1
  from unittest import mock
2
+
3
+ import pytest
4
+
3
5
  from pulp_file.app.tasks.synchronizing import _get_safe_path
4
6
 
5
7
 
@@ -1,5 +1,4 @@
1
1
  import random
2
-
3
2
  from collections import defaultdict
4
3
  from gettext import gettext as _
5
4
  from importlib import import_module
@@ -159,8 +158,8 @@ class PulpPluginAppConfig(apps.AppConfig):
159
158
  def import_viewsets(self):
160
159
  # TODO do not include imported ViewSets
161
160
  # circular import avoidance
161
+ from pulpcore.app.models import Content, Repository
162
162
  from pulpcore.app.viewsets import NamedModelViewSet
163
- from pulpcore.app.models import Repository, Content
164
163
 
165
164
  self.named_viewsets = defaultdict(list)
166
165
  if module_has_submodule(self.module, VIEWSETS_MODULE_NAME):
@@ -238,7 +237,7 @@ class PulpAppConfig(PulpPluginAppConfig):
238
237
  label = "core"
239
238
 
240
239
  # The version of this app
241
- version = "3.109.2"
240
+ version = "3.109.3"
242
241
 
243
242
  # The python package name providing this app
244
243
  python_package_name = "pulpcore"
@@ -1,16 +1,17 @@
1
1
  import json
2
- import jq
3
2
  import logging
4
-
5
3
  from base64 import b64decode
6
4
  from binascii import Error as Base64DecodeError
7
5
  from gettext import gettext as _
8
6
 
7
+ import jq
9
8
  from django.contrib.auth import authenticate
10
9
  from django.contrib.auth.backends import RemoteUserBackend
11
10
  from rest_framework.authentication import (
12
11
  BaseAuthentication,
13
12
  RemoteUserAuthentication,
13
+ )
14
+ from rest_framework.authentication import (
14
15
  BasicAuthentication as OrigBasicAuthentication,
15
16
  )
16
17
  from rest_framework.exceptions import AuthenticationFailed
@@ -3,11 +3,17 @@ from pathlib import Path
3
3
  from django.conf import settings
4
4
  from django.core.checks import (
5
5
  Debug as CheckDebug,
6
+ )
7
+ from django.core.checks import (
6
8
  Error as CheckError,
7
- Warning as CheckWarning,
9
+ )
10
+ from django.core.checks import (
8
11
  Tags,
9
12
  register,
10
13
  )
14
+ from django.core.checks import (
15
+ Warning as CheckWarning,
16
+ )
11
17
  from django.db.models import Q
12
18
 
13
19
  from pulpcore import constants
@@ -1,8 +1,8 @@
1
- from contextlib import contextmanager, asynccontextmanager
1
+ from contextlib import asynccontextmanager, contextmanager
2
2
  from contextvars import ContextVar
3
3
 
4
4
  from asgiref.sync import sync_to_async
5
- from django_guid import get_guid, set_guid, clear_guid
5
+ from django_guid import clear_guid, get_guid, set_guid
6
6
 
7
7
  _current_task = ContextVar("current_task", default=None)
8
8
  _current_user_func = ContextVar("current_user", default=lambda: None)
@@ -1,22 +1,22 @@
1
- from contextvars import ContextVar
2
- from logging import getLogger
3
1
  import os
4
2
  import sys
5
3
  import threading
6
4
  import time
5
+ from contextvars import ContextVar
6
+ from logging import getLogger
7
7
 
8
8
  import click
9
9
  import django
10
10
  from django.db import connection
11
- from django.db.utils import IntegrityError, InterfaceError, DatabaseError
11
+ from django.db.utils import DatabaseError, IntegrityError, InterfaceError
12
12
  from gunicorn.arbiter import Arbiter
13
13
  from gunicorn.workers.sync import SyncWorker
14
14
 
15
15
  from pulpcore.app.apps import pulp_plugin_configs
16
16
  from pulpcore.app.netutil import has_ipv6
17
17
  from pulpcore.app.pulpcore_gunicorn_application import (
18
- handle_control_interface_feature,
19
18
  PulpcoreGunicornApplication,
19
+ handle_control_interface_feature,
20
20
  )
21
21
 
22
22
  logger = getLogger(__name__)
@@ -69,6 +69,7 @@ class PulpApiWorker(SyncWorker):
69
69
  django.setup()
70
70
 
71
71
  from django.conf import settings
72
+
72
73
  from pulpcore.app.models import AppStatus
73
74
  from pulpcore.app.util import get_worker_name
74
75
 
@@ -167,8 +168,7 @@ class PulpcoreApiApplication(PulpcoreGunicornApplication):
167
168
  "--access-logformat",
168
169
  "access_log_format",
169
170
  default=(
170
- "pulp [%({correlation-id}o)s]: "
171
- '%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"',
171
+ 'pulp [%({correlation-id}o)s]: %(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"',
172
172
  ),
173
173
  )
174
174
  @click.option("--error-logfile", "--log-file", "errorlog")
@@ -1,14 +1,13 @@
1
- import os
2
1
  import concurrent.futures
3
- from concurrent.futures import ThreadPoolExecutor, ALL_COMPLETED
2
+ import os
3
+ from concurrent.futures import ALL_COMPLETED, ThreadPoolExecutor
4
4
  from gettext import gettext as _
5
5
 
6
6
  from django.core.files.uploadedfile import TemporaryUploadedFile
7
7
  from django.core.files.uploadhandler import TemporaryFileUploadHandler
8
8
  from pygtrie import StringTrie
9
9
 
10
- from pulpcore.app import models
11
- from pulpcore.app import pulp_hashlib
10
+ from pulpcore.app import models, pulp_hashlib
12
11
 
13
12
 
14
13
  class PulpTemporaryUploadedFile(TemporaryUploadedFile):
@@ -1,23 +1,23 @@
1
- import os
2
1
  import io
3
2
  import json
3
+ import logging
4
+ import os
4
5
  import tarfile
5
6
  import tempfile
6
- import logging
7
7
 
8
8
  from django.conf import settings
9
9
  from django.db.models.query import QuerySet
10
10
 
11
11
  from pulpcore.app.apps import get_plugin_config
12
- from pulpcore.app.models.content import Artifact
13
- from pulpcore.app.models.progress import ProgressReport
14
- from pulpcore.app.models.repository import Repository
15
12
  from pulpcore.app.modelresource import (
16
13
  ArtifactResource,
17
14
  ContentArtifactResource,
18
15
  RepositoryResource,
19
16
  )
20
- from pulpcore.constants import TASK_STATES, EXPORT_BATCH_SIZE
17
+ from pulpcore.app.models.content import Artifact
18
+ from pulpcore.app.models.progress import ProgressReport
19
+ from pulpcore.app.models.repository import Repository
20
+ from pulpcore.constants import EXPORT_BATCH_SIZE, TASK_STATES
21
21
 
22
22
  log = logging.getLogger(__name__)
23
23
 
@@ -1,13 +1,10 @@
1
1
  import os
2
2
  import subprocess
3
-
4
- from pathlib import Path
5
-
6
3
  from gettext import gettext as _
7
-
8
- from django.core.management import BaseCommand, CommandError
4
+ from pathlib import Path
9
5
 
10
6
  from django.apps import apps
7
+ from django.core.management import BaseCommand, CommandError
11
8
  from django.db.utils import IntegrityError
12
9
 
13
10
  from pulpcore.app.models.content import SigningService as BaseSigningService