rucio 34.4.1__tar.gz → 34.4.2__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.

Potentially problematic release.


This version of rucio might be problematic. Click here for more details.

Files changed (590) hide show
  1. {rucio-34.4.1 → rucio-34.4.2}/PKG-INFO +1 -1
  2. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/accountclient.py +43 -21
  3. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/baseclient.py +2 -2
  4. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/scopeclient.py +7 -3
  5. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/touchclient.py +7 -1
  6. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/types.py +17 -15
  7. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/dirac.py +2 -2
  8. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/lock.py +24 -16
  9. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/transfer.py +2 -1
  10. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/vcsversion.py +3 -3
  11. {rucio-34.4.1 → rucio-34.4.2}/pyproject.toml +1 -0
  12. {rucio-34.4.1 → rucio-34.4.2}/AUTHORS.rst +0 -0
  13. {rucio-34.4.1 → rucio-34.4.2}/ChangeLog +0 -0
  14. {rucio-34.4.1 → rucio-34.4.2}/LICENSE +0 -0
  15. {rucio-34.4.1 → rucio-34.4.2}/MANIFEST.in +0 -0
  16. {rucio-34.4.1 → rucio-34.4.2}/README.rst +0 -0
  17. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio +0 -0
  18. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-abacus-account +0 -0
  19. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-abacus-collection-replica +0 -0
  20. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-abacus-rse +0 -0
  21. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-admin +0 -0
  22. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-atropos +0 -0
  23. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-auditor +0 -0
  24. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-automatix +0 -0
  25. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-bb8 +0 -0
  26. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-c3po +0 -0
  27. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-cache-client +0 -0
  28. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-cache-consumer +0 -0
  29. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-conveyor-finisher +0 -0
  30. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-conveyor-poller +0 -0
  31. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-conveyor-preparer +0 -0
  32. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-conveyor-receiver +0 -0
  33. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-conveyor-stager +0 -0
  34. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-conveyor-submitter +0 -0
  35. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-conveyor-throttler +0 -0
  36. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-dark-reaper +0 -0
  37. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-dumper +0 -0
  38. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-follower +0 -0
  39. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-hermes +0 -0
  40. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-judge-cleaner +0 -0
  41. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-judge-evaluator +0 -0
  42. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-judge-injector +0 -0
  43. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-judge-repairer +0 -0
  44. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-kronos +0 -0
  45. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-minos +0 -0
  46. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-minos-temporary-expiration +0 -0
  47. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-necromancer +0 -0
  48. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-oauth-manager +0 -0
  49. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-reaper +0 -0
  50. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-replica-recoverer +0 -0
  51. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-rse-decommissioner +0 -0
  52. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-storage-consistency-actions +0 -0
  53. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-transmogrifier +0 -0
  54. {rucio-34.4.1 → rucio-34.4.2}/bin/rucio-undertaker +0 -0
  55. {rucio-34.4.1 → rucio-34.4.2}/etc/alembic.ini.template +0 -0
  56. {rucio-34.4.1 → rucio-34.4.2}/etc/alembic_offline.ini.template +0 -0
  57. {rucio-34.4.1 → rucio-34.4.2}/etc/globus-config.yml.template +0 -0
  58. {rucio-34.4.1 → rucio-34.4.2}/etc/ldap.cfg.template +0 -0
  59. {rucio-34.4.1 → rucio-34.4.2}/etc/mail_templates/rule_approval_request.tmpl +0 -0
  60. {rucio-34.4.1 → rucio-34.4.2}/etc/mail_templates/rule_approved_admin.tmpl +0 -0
  61. {rucio-34.4.1 → rucio-34.4.2}/etc/mail_templates/rule_approved_user.tmpl +0 -0
  62. {rucio-34.4.1 → rucio-34.4.2}/etc/mail_templates/rule_denied_admin.tmpl +0 -0
  63. {rucio-34.4.1 → rucio-34.4.2}/etc/mail_templates/rule_denied_user.tmpl +0 -0
  64. {rucio-34.4.1 → rucio-34.4.2}/etc/mail_templates/rule_ok_notification.tmpl +0 -0
  65. {rucio-34.4.1 → rucio-34.4.2}/etc/rse-accounts.cfg.template +0 -0
  66. {rucio-34.4.1 → rucio-34.4.2}/etc/rucio.cfg.atlas.client.template +0 -0
  67. {rucio-34.4.1 → rucio-34.4.2}/etc/rucio.cfg.template +0 -0
  68. {rucio-34.4.1 → rucio-34.4.2}/etc/rucio_multi_vo.cfg.template +0 -0
  69. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/__init__.py +0 -0
  70. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/alembicrevision.py +0 -0
  71. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/__init__.py +0 -0
  72. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/account.py +0 -0
  73. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/account_limit.py +0 -0
  74. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/authentication.py +0 -0
  75. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/config.py +0 -0
  76. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/credential.py +0 -0
  77. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/did.py +0 -0
  78. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/dirac.py +0 -0
  79. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/exporter.py +0 -0
  80. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/heartbeat.py +0 -0
  81. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/identity.py +0 -0
  82. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/importer.py +0 -0
  83. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/lifetime_exception.py +0 -0
  84. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/lock.py +0 -0
  85. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/meta_conventions.py +0 -0
  86. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/permission.py +0 -0
  87. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/quarantined_replica.py +0 -0
  88. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/replica.py +0 -0
  89. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/request.py +0 -0
  90. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/rse.py +0 -0
  91. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/rule.py +0 -0
  92. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/scope.py +0 -0
  93. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/subscription.py +0 -0
  94. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/api/vo.py +0 -0
  95. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/__init__.py +0 -0
  96. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/accountlimitclient.py +0 -0
  97. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/client.py +0 -0
  98. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/configclient.py +0 -0
  99. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/credentialclient.py +0 -0
  100. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/didclient.py +0 -0
  101. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/diracclient.py +0 -0
  102. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/downloadclient.py +0 -0
  103. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/exportclient.py +0 -0
  104. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/fileclient.py +0 -0
  105. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/importclient.py +0 -0
  106. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/lifetimeclient.py +0 -0
  107. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/lockclient.py +0 -0
  108. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/metaconventionsclient.py +0 -0
  109. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/pingclient.py +0 -0
  110. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/replicaclient.py +0 -0
  111. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/requestclient.py +0 -0
  112. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/rseclient.py +0 -0
  113. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/ruleclient.py +0 -0
  114. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/subscriptionclient.py +0 -0
  115. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/client/uploadclient.py +0 -0
  116. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/__init__.py +0 -0
  117. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/cache.py +0 -0
  118. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/config.py +0 -0
  119. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/constants.py +0 -0
  120. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/constraints.py +0 -0
  121. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/didtype.py +0 -0
  122. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/dumper/__init__.py +0 -0
  123. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/dumper/consistency.py +0 -0
  124. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/dumper/data_models.py +0 -0
  125. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/dumper/path_parsing.py +0 -0
  126. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/exception.py +0 -0
  127. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/extra.py +0 -0
  128. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/logging.py +0 -0
  129. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/pcache.py +0 -0
  130. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/plugins.py +0 -0
  131. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/policy.py +0 -0
  132. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/schema/__init__.py +0 -0
  133. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/schema/atlas.py +0 -0
  134. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/schema/belleii.py +0 -0
  135. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/schema/domatpc.py +0 -0
  136. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/schema/escape.py +0 -0
  137. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/schema/generic.py +0 -0
  138. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/schema/generic_multi_vo.py +0 -0
  139. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/schema/icecube.py +0 -0
  140. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/stomp_utils.py +0 -0
  141. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/stopwatch.py +0 -0
  142. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/test_rucio_server.py +0 -0
  143. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/common/utils.py +0 -0
  144. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/__init__.py +0 -0
  145. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/account.py +0 -0
  146. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/account_counter.py +0 -0
  147. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/account_limit.py +0 -0
  148. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/authentication.py +0 -0
  149. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/config.py +0 -0
  150. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/credential.py +0 -0
  151. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/did.py +0 -0
  152. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/did_meta_plugins/__init__.py +0 -0
  153. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/did_meta_plugins/did_column_meta.py +0 -0
  154. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/did_meta_plugins/did_meta_plugin_interface.py +0 -0
  155. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/did_meta_plugins/filter_engine.py +0 -0
  156. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/did_meta_plugins/json_meta.py +0 -0
  157. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/did_meta_plugins/mongo_meta.py +0 -0
  158. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/did_meta_plugins/postgres_meta.py +0 -0
  159. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/distance.py +0 -0
  160. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/exporter.py +0 -0
  161. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/heartbeat.py +0 -0
  162. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/identity.py +0 -0
  163. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/importer.py +0 -0
  164. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/lifetime_exception.py +0 -0
  165. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/message.py +0 -0
  166. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/meta_conventions.py +0 -0
  167. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/monitor.py +0 -0
  168. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/naming_convention.py +0 -0
  169. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/nongrid_trace.py +0 -0
  170. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/oidc.py +0 -0
  171. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/permission/__init__.py +0 -0
  172. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/permission/atlas.py +0 -0
  173. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/permission/belleii.py +0 -0
  174. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/permission/escape.py +0 -0
  175. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/permission/generic.py +0 -0
  176. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/permission/generic_multi_vo.py +0 -0
  177. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/quarantined_replica.py +0 -0
  178. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/replica.py +0 -0
  179. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/replica_sorter.py +0 -0
  180. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/request.py +0 -0
  181. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/rse.py +0 -0
  182. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/rse_counter.py +0 -0
  183. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/rse_expression_parser.py +0 -0
  184. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/rse_selector.py +0 -0
  185. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/rule.py +0 -0
  186. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/rule_grouping.py +0 -0
  187. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/scope.py +0 -0
  188. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/subscription.py +0 -0
  189. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/topology.py +0 -0
  190. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/trace.py +0 -0
  191. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/vo.py +0 -0
  192. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/core/volatile_replica.py +0 -0
  193. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/__init__.py +0 -0
  194. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/abacus/__init__.py +0 -0
  195. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/abacus/account.py +0 -0
  196. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/abacus/collection_replica.py +0 -0
  197. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/abacus/rse.py +0 -0
  198. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/atropos/__init__.py +0 -0
  199. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/atropos/atropos.py +0 -0
  200. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/auditor/__init__.py +0 -0
  201. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/auditor/hdfs.py +0 -0
  202. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/auditor/srmdumps.py +0 -0
  203. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/automatix/__init__.py +0 -0
  204. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/automatix/automatix.py +0 -0
  205. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/badreplicas/__init__.py +0 -0
  206. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/badreplicas/minos.py +0 -0
  207. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/badreplicas/minos_temporary_expiration.py +0 -0
  208. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/badreplicas/necromancer.py +0 -0
  209. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/bb8/__init__.py +0 -0
  210. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/bb8/bb8.py +0 -0
  211. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/bb8/common.py +0 -0
  212. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/bb8/nuclei_background_rebalance.py +0 -0
  213. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/bb8/t2_background_rebalance.py +0 -0
  214. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/__init__.py +0 -0
  215. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/algorithms/__init__.py +0 -0
  216. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/algorithms/simple.py +0 -0
  217. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/algorithms/t2_free_space.py +0 -0
  218. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/algorithms/t2_free_space_only_pop.py +0 -0
  219. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/algorithms/t2_free_space_only_pop_with_network.py +0 -0
  220. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/c3po.py +0 -0
  221. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/collectors/__init__.py +0 -0
  222. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/collectors/agis.py +0 -0
  223. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/collectors/free_space.py +0 -0
  224. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/collectors/jedi_did.py +0 -0
  225. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/collectors/mock_did.py +0 -0
  226. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/collectors/network_metrics.py +0 -0
  227. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/collectors/workload.py +0 -0
  228. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/utils/__init__.py +0 -0
  229. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/utils/dataset_cache.py +0 -0
  230. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/utils/expiring_dataset_cache.py +0 -0
  231. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/utils/expiring_list.py +0 -0
  232. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/utils/popularity.py +0 -0
  233. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/c3po/utils/timeseries.py +0 -0
  234. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/cache/__init__.py +0 -0
  235. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/cache/consumer.py +0 -0
  236. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/common.py +0 -0
  237. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/conveyor/__init__.py +0 -0
  238. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/conveyor/common.py +0 -0
  239. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/conveyor/finisher.py +0 -0
  240. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/conveyor/poller.py +0 -0
  241. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/conveyor/preparer.py +0 -0
  242. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/conveyor/receiver.py +0 -0
  243. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/conveyor/stager.py +0 -0
  244. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/conveyor/submitter.py +0 -0
  245. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/conveyor/throttler.py +0 -0
  246. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/follower/__init__.py +0 -0
  247. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/follower/follower.py +0 -0
  248. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/hermes/__init__.py +0 -0
  249. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/hermes/hermes.py +0 -0
  250. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/judge/__init__.py +0 -0
  251. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/judge/cleaner.py +0 -0
  252. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/judge/evaluator.py +0 -0
  253. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/judge/injector.py +0 -0
  254. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/judge/repairer.py +0 -0
  255. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/oauthmanager/__init__.py +0 -0
  256. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/oauthmanager/oauthmanager.py +0 -0
  257. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/reaper/__init__.py +0 -0
  258. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/reaper/dark_reaper.py +0 -0
  259. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/reaper/reaper.py +0 -0
  260. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/replicarecoverer/__init__.py +0 -0
  261. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/replicarecoverer/suspicious_replica_recoverer.py +0 -0
  262. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/rsedecommissioner/__init__.py +0 -0
  263. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/rsedecommissioner/config.py +0 -0
  264. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/rsedecommissioner/profiles/__init__.py +0 -0
  265. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/rsedecommissioner/profiles/atlas.py +0 -0
  266. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/rsedecommissioner/profiles/generic.py +0 -0
  267. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/rsedecommissioner/profiles/types.py +0 -0
  268. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/rsedecommissioner/rse_decommissioner.py +0 -0
  269. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/storage/__init__.py +0 -0
  270. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/storage/consistency/__init__.py +0 -0
  271. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/storage/consistency/actions.py +0 -0
  272. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/tracer/__init__.py +0 -0
  273. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/tracer/kronos.py +0 -0
  274. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/transmogrifier/__init__.py +0 -0
  275. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/transmogrifier/transmogrifier.py +0 -0
  276. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/undertaker/__init__.py +0 -0
  277. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/daemons/undertaker/undertaker.py +0 -0
  278. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/__init__.py +0 -0
  279. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/__init__.py +0 -0
  280. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/constants.py +0 -0
  281. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/__init__.py +0 -0
  282. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/env.py +0 -0
  283. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/01eaf73ab656_add_new_rule_notification_state_progress.py +0 -0
  284. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/0437a40dbfd1_add_eol_at_in_rules.py +0 -0
  285. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/0f1adb7a599a_create_transfer_hops_table.py +0 -0
  286. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/102efcf145f4_added_stuck_at_column_to_rules.py +0 -0
  287. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/13d4f70c66a9_introduce_transfer_limits.py +0 -0
  288. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/140fef722e91_cleanup_distances_table.py +0 -0
  289. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/14ec5aeb64cf_add_request_external_host.py +0 -0
  290. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/156fb5b5a14_add_request_type_to_requests_idx.py +0 -0
  291. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/1677d4d803c8_split_rse_availability_into_multiple.py +0 -0
  292. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/16a0aca82e12_create_index_on_table_replicas_path.py +0 -0
  293. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/1803333ac20f_adding_provenance_and_phys_group.py +0 -0
  294. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/1a29d6a9504c_add_didtype_chck_to_requests.py +0 -0
  295. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/1a80adff031a_create_index_on_rules_hist_recent.py +0 -0
  296. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/1c45d9730ca6_increase_identity_length.py +0 -0
  297. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/1d1215494e95_add_quarantined_replicas_table.py +0 -0
  298. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/1d96f484df21_asynchronous_rules_and_rule_approval.py +0 -0
  299. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/1f46c5f240ac_add_bytes_column_to_bad_replicas.py +0 -0
  300. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/1fc15ab60d43_add_message_history_table.py +0 -0
  301. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/2190e703eb6e_move_rse_settings_to_rse_attributes.py +0 -0
  302. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/21d6b9dc9961_add_mismatch_scheme_state_to_requests.py +0 -0
  303. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/22cf51430c78_add_availability_column_to_table_rses.py +0 -0
  304. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/22d887e4ec0a_create_sources_table.py +0 -0
  305. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/25821a8a45a3_remove_unique_constraint_on_requests.py +0 -0
  306. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/25fc855625cf_added_unique_constraint_to_rules.py +0 -0
  307. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/269fee20dee9_add_repair_cnt_to_locks.py +0 -0
  308. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/271a46ea6244_add_ignore_availability_column_to_rules.py +0 -0
  309. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/277b5fbb41d3_switch_heartbeats_executable.py +0 -0
  310. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/27e3a68927fb_remove_replicas_tombstone_and_replicas_.py +0 -0
  311. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/2854cd9e168_added_rule_id_column.py +0 -0
  312. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/295289b5a800_processed_by_and__at_in_requests.py +0 -0
  313. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/2962ece31cf4_add_nbaccesses_column_in_the_did_table.py +0 -0
  314. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/2af3291ec4c_added_replicas_history_table.py +0 -0
  315. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/2b69addda658_add_columns_for_third_party_copy_read_.py +0 -0
  316. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/2b8e7bcb4783_add_config_table.py +0 -0
  317. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/2ba5229cb54c_add_submitted_at_to_requests_table.py +0 -0
  318. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/2cbee484dcf9_added_column_volume_to_rse_transfer_.py +0 -0
  319. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/2edee4a83846_add_source_to_requests_and_requests_.py +0 -0
  320. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/2eef46be23d4_change_tokens_pk.py +0 -0
  321. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/2f648fc909f3_index_in_rule_history_on_scope_name.py +0 -0
  322. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/3082b8cef557_add_naming_convention_table_and_closed_.py +0 -0
  323. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/30fa38b6434e_add_index_on_service_column_in_the_message_table.py +0 -0
  324. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/3152492b110b_added_staging_area_column.py +0 -0
  325. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/32c7d2783f7e_create_bad_replicas_table.py +0 -0
  326. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/3345511706b8_replicas_table_pk_definition_is_in_.py +0 -0
  327. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/35ef10d1e11b_change_index_on_table_requests.py +0 -0
  328. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/379a19b5332d_create_rse_limits_table.py +0 -0
  329. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/384b96aa0f60_created_rule_history_tables.py +0 -0
  330. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/3ac1660a1a72_extend_distance_table.py +0 -0
  331. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/3ad36e2268b0_create_collection_replicas_updates_table.py +0 -0
  332. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/3c9df354071b_extend_waiting_request_state.py +0 -0
  333. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/3d9813fab443_add_a_new_state_lost_in_badfilesstatus.py +0 -0
  334. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/40ad39ce3160_add_transferred_at_to_requests_table.py +0 -0
  335. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/4207be2fd914_add_notification_column_to_rules.py +0 -0
  336. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/42db2617c364_create_index_on_requests_external_id.py +0 -0
  337. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/436827b13f82_added_column_activity_to_table_requests.py +0 -0
  338. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/44278720f774_update_requests_typ_sta_upd_idx_index.py +0 -0
  339. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/45378a1e76a8_create_collection_replica_table.py +0 -0
  340. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/469d262be19_removing_created_at_index.py +0 -0
  341. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/4783c1f49cb4_create_distance_table.py +0 -0
  342. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/49a21b4d4357_create_index_on_table_tokens.py +0 -0
  343. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/4a2cbedda8b9_add_source_replica_expression_column_to_.py +0 -0
  344. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/4a7182d9578b_added_bytes_length_accessed_at_columns.py +0 -0
  345. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/4bab9edd01fc_create_index_on_requests_rule_id.py +0 -0
  346. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/4c3a4acfe006_new_attr_account_table.py +0 -0
  347. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/4cf0a2e127d4_adding_transient_metadata.py +0 -0
  348. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/4df2c5ddabc0_remove_temporary_dids.py +0 -0
  349. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/50280c53117c_add_qos_class_to_rse.py +0 -0
  350. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/52153819589c_add_rse_id_to_replicas_table.py +0 -0
  351. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/52fd9f4916fa_added_activity_to_rules.py +0 -0
  352. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/53b479c3cb0f_fix_did_meta_table_missing_updated_at_.py +0 -0
  353. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/5673b4b6e843_add_wfms_metadata_to_rule_tables.py +0 -0
  354. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/575767d9f89_added_source_history_table.py +0 -0
  355. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/58bff7008037_add_started_at_to_requests.py +0 -0
  356. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/58c8b78301ab_rename_callback_to_message.py +0 -0
  357. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/5f139f77382a_added_child_rule_id_column.py +0 -0
  358. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/688ef1840840_adding_did_meta_table.py +0 -0
  359. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/6e572a9bfbf3_add_new_split_container_column_to_rules.py +0 -0
  360. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/70587619328_add_comment_column_for_subscriptions.py +0 -0
  361. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/739064d31565_remove_history_table_pks.py +0 -0
  362. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/7541902bf173_add_didsfollowed_and_followevents_table.py +0 -0
  363. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/7ec22226cdbf_new_replica_state_for_temporary_.py +0 -0
  364. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/810a41685bc1_added_columns_rse_transfer_limits.py +0 -0
  365. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/83f991c63a93_correct_rse_expression_length.py +0 -0
  366. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/8523998e2e76_increase_size_of_extended_attributes_.py +0 -0
  367. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/8ea9122275b1_adding_missing_function_based_indices.py +0 -0
  368. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/90f47792bb76_add_clob_payload_to_messages.py +0 -0
  369. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/914b8f02df38_new_table_for_lifetime_model_exceptions.py +0 -0
  370. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/94a5961ddbf2_add_estimator_columns.py +0 -0
  371. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/9a1b149a2044_add_saml_identity_type.py +0 -0
  372. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/9a45bc4ea66d_add_vp_table.py +0 -0
  373. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/9eb936a81eb1_true_is_true.py +0 -0
  374. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/a08fa8de1545_transfer_stats_table.py +0 -0
  375. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/a118956323f8_added_vo_table_and_vo_col_to_rse.py +0 -0
  376. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/a193a275255c_add_status_column_in_messages.py +0 -0
  377. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/a5f6f6e928a7_1_7_0.py +0 -0
  378. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/a616581ee47_added_columns_to_table_requests.py +0 -0
  379. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/a6eb23955c28_state_idx_non_functional.py +0 -0
  380. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/a74275a1ad30_added_global_quota_table.py +0 -0
  381. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/a93e4e47bda_heartbeats.py +0 -0
  382. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/ae2a56fcc89_added_comment_column_to_rules.py +0 -0
  383. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/b4293a99f344_added_column_identity_to_table_tokens.py +0 -0
  384. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/b7d287de34fd_removal_of_replicastate_source.py +0 -0
  385. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/b818052fa670_add_index_to_quarantined_replicas.py +0 -0
  386. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/b8caac94d7f0_add_comments_column_for_subscriptions_.py +0 -0
  387. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/b96a1c7e1cc4_new_bad_pfns_table_and_bad_replicas_.py +0 -0
  388. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/bb695f45c04_extend_request_state.py +0 -0
  389. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/bc68e9946deb_add_staging_timestamps_to_request.py +0 -0
  390. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/bf3baa1c1474_correct_pk_and_idx_for_history_tables.py +0 -0
  391. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/c0937668555f_add_qos_policy_map_table.py +0 -0
  392. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/c129ccdb2d5_add_lumiblocknr_to_dids.py +0 -0
  393. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/ccdbcd48206e_add_did_type_column_index_on_did_meta_.py +0 -0
  394. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/cebad904c4dd_new_payload_column_for_heartbeats.py +0 -0
  395. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/d1189a09c6e0_oauth2_0_and_jwt_feature_support_adding_.py +0 -0
  396. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/d23453595260_extend_request_state_for_preparer.py +0 -0
  397. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/d6dceb1de2d_added_purge_column_to_rules.py +0 -0
  398. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/d6e2c3b2cf26_remove_third_party_copy_column_from_rse.py +0 -0
  399. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/d91002c5841_new_account_limits_table.py +0 -0
  400. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/e138c364ebd0_extending_columns_for_filter_and_.py +0 -0
  401. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/e59300c8b179_support_for_archive.py +0 -0
  402. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/f1b14a8c2ac1_postgres_use_check_constraints.py +0 -0
  403. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/f41ffe206f37_oracle_global_temporary_tables.py +0 -0
  404. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/f85a2962b021_adding_transfertool_column_to_requests_.py +0 -0
  405. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/fa7a7d78b602_increase_refresh_token_size.py +0 -0
  406. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/fb28a95fe288_add_replicas_rse_id_tombstone_idx.py +0 -0
  407. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/fe1a65b176c9_set_third_party_copy_read_and_write_.py +0 -0
  408. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/migrate_repo/versions/fe8ea2fa9788_added_third_party_copy_column_to_rse_.py +0 -0
  409. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/models.py +0 -0
  410. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/sautils.py +0 -0
  411. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/session.py +0 -0
  412. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/types.py +0 -0
  413. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/db/sqla/util.py +0 -0
  414. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/__init__.py +0 -0
  415. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/__init__.py +0 -0
  416. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/bittorrent.py +0 -0
  417. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/cache.py +0 -0
  418. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/dummy.py +0 -0
  419. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/gfal.py +0 -0
  420. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/globus.py +0 -0
  421. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/gsiftp.py +0 -0
  422. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/http_cache.py +0 -0
  423. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/mock.py +0 -0
  424. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/ngarc.py +0 -0
  425. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/posix.py +0 -0
  426. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/protocol.py +0 -0
  427. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/rclone.py +0 -0
  428. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/rfio.py +0 -0
  429. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/srm.py +0 -0
  430. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/ssh.py +0 -0
  431. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/storm.py +0 -0
  432. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/webdav.py +0 -0
  433. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/protocols/xrootd.py +0 -0
  434. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/rse/rsemanager.py +0 -0
  435. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/tests/__init__.py +0 -0
  436. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/tests/common.py +0 -0
  437. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/tests/common_server.py +0 -0
  438. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/transfertool/__init__.py +0 -0
  439. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/transfertool/bittorrent.py +0 -0
  440. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/transfertool/bittorrent_driver.py +0 -0
  441. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/transfertool/bittorrent_driver_qbittorrent.py +0 -0
  442. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/transfertool/fts3.py +0 -0
  443. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/transfertool/fts3_plugins.py +0 -0
  444. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/transfertool/globus.py +0 -0
  445. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/transfertool/globus_library.py +0 -0
  446. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/transfertool/mock.py +0 -0
  447. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/transfertool/transfertool.py +0 -0
  448. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/version.py +0 -0
  449. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/__init__.py +0 -0
  450. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/__init__.py +0 -0
  451. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/__init__.py +0 -0
  452. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/authenticated_bp.py +0 -0
  453. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/__init__.py +0 -0
  454. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/accountlimits.py +0 -0
  455. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/accounts.py +0 -0
  456. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/archives.py +0 -0
  457. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/auth.py +0 -0
  458. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/common.py +0 -0
  459. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/config.py +0 -0
  460. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/credentials.py +0 -0
  461. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/dids.py +0 -0
  462. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/dirac.py +0 -0
  463. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/export.py +0 -0
  464. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/heartbeats.py +0 -0
  465. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/identities.py +0 -0
  466. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/import.py +0 -0
  467. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/lifetime_exceptions.py +0 -0
  468. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/locks.py +0 -0
  469. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/main.py +0 -0
  470. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/meta_conventions.py +0 -0
  471. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/metrics.py +0 -0
  472. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/nongrid_traces.py +0 -0
  473. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/ping.py +0 -0
  474. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/redirect.py +0 -0
  475. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/replicas.py +0 -0
  476. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/requests.py +0 -0
  477. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/rses.py +0 -0
  478. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/rules.py +0 -0
  479. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/scopes.py +0 -0
  480. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/subscriptions.py +0 -0
  481. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/templates/auth_crash.html +0 -0
  482. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/templates/auth_granted.html +0 -0
  483. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/traces.py +0 -0
  484. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/flaskapi/v1/vos.py +0 -0
  485. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/main.py +0 -0
  486. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/metrics.py +0 -0
  487. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio/web/rest/ping.py +0 -0
  488. {rucio-34.4.1 → rucio-34.4.2}/lib/rucio.egg-info/SOURCES.txt +0 -0
  489. {rucio-34.4.1 → rucio-34.4.2}/pylintrc +0 -0
  490. {rucio-34.4.1 → rucio-34.4.2}/requirements.txt +0 -0
  491. {rucio-34.4.1 → rucio-34.4.2}/setup.cfg +0 -0
  492. {rucio-34.4.1 → rucio-34.4.2}/setup.py +0 -0
  493. {rucio-34.4.1 → rucio-34.4.2}/setuputil.py +0 -0
  494. {rucio-34.4.1 → rucio-34.4.2}/tests/test_abacus_account.py +0 -0
  495. {rucio-34.4.1 → rucio-34.4.2}/tests/test_abacus_collection_replica.py +0 -0
  496. {rucio-34.4.1 → rucio-34.4.2}/tests/test_abacus_rse.py +0 -0
  497. {rucio-34.4.1 → rucio-34.4.2}/tests/test_account.py +0 -0
  498. {rucio-34.4.1 → rucio-34.4.2}/tests/test_account_limits.py +0 -0
  499. {rucio-34.4.1 → rucio-34.4.2}/tests/test_api_external_representation.py +0 -0
  500. {rucio-34.4.1 → rucio-34.4.2}/tests/test_archive.py +0 -0
  501. {rucio-34.4.1 → rucio-34.4.2}/tests/test_auditor.py +0 -0
  502. {rucio-34.4.1 → rucio-34.4.2}/tests/test_auditor_hdfs.py +0 -0
  503. {rucio-34.4.1 → rucio-34.4.2}/tests/test_auditor_srmdumps.py +0 -0
  504. {rucio-34.4.1 → rucio-34.4.2}/tests/test_authentication.py +0 -0
  505. {rucio-34.4.1 → rucio-34.4.2}/tests/test_automatix.py +0 -0
  506. {rucio-34.4.1 → rucio-34.4.2}/tests/test_bad_replica.py +0 -0
  507. {rucio-34.4.1 → rucio-34.4.2}/tests/test_bb8.py +0 -0
  508. {rucio-34.4.1 → rucio-34.4.2}/tests/test_belleii.py +0 -0
  509. {rucio-34.4.1 → rucio-34.4.2}/tests/test_bin_rucio.py +0 -0
  510. {rucio-34.4.1 → rucio-34.4.2}/tests/test_boolean.py +0 -0
  511. {rucio-34.4.1 → rucio-34.4.2}/tests/test_clients.py +0 -0
  512. {rucio-34.4.1 → rucio-34.4.2}/tests/test_common_types.py +0 -0
  513. {rucio-34.4.1 → rucio-34.4.2}/tests/test_config.py +0 -0
  514. {rucio-34.4.1 → rucio-34.4.2}/tests/test_conveyor.py +0 -0
  515. {rucio-34.4.1 → rucio-34.4.2}/tests/test_conveyor_submitter.py +0 -0
  516. {rucio-34.4.1 → rucio-34.4.2}/tests/test_counter.py +0 -0
  517. {rucio-34.4.1 → rucio-34.4.2}/tests/test_credential.py +0 -0
  518. {rucio-34.4.1 → rucio-34.4.2}/tests/test_curl.py +0 -0
  519. {rucio-34.4.1 → rucio-34.4.2}/tests/test_daemons.py +0 -0
  520. {rucio-34.4.1 → rucio-34.4.2}/tests/test_dataset_replicas.py +0 -0
  521. {rucio-34.4.1 → rucio-34.4.2}/tests/test_db.py +0 -0
  522. {rucio-34.4.1 → rucio-34.4.2}/tests/test_did.py +0 -0
  523. {rucio-34.4.1 → rucio-34.4.2}/tests/test_did_meta_plugins.py +0 -0
  524. {rucio-34.4.1 → rucio-34.4.2}/tests/test_didtype.py +0 -0
  525. {rucio-34.4.1 → rucio-34.4.2}/tests/test_download.py +0 -0
  526. {rucio-34.4.1 → rucio-34.4.2}/tests/test_dumper.py +0 -0
  527. {rucio-34.4.1 → rucio-34.4.2}/tests/test_dumper_consistency.py +0 -0
  528. {rucio-34.4.1 → rucio-34.4.2}/tests/test_dumper_data_model.py +0 -0
  529. {rucio-34.4.1 → rucio-34.4.2}/tests/test_dumper_path_parsing.py +0 -0
  530. {rucio-34.4.1 → rucio-34.4.2}/tests/test_filter_engine.py +0 -0
  531. {rucio-34.4.1 → rucio-34.4.2}/tests/test_heartbeat.py +0 -0
  532. {rucio-34.4.1 → rucio-34.4.2}/tests/test_hermes.py +0 -0
  533. {rucio-34.4.1 → rucio-34.4.2}/tests/test_identity.py +0 -0
  534. {rucio-34.4.1 → rucio-34.4.2}/tests/test_impl_upload_download.py +0 -0
  535. {rucio-34.4.1 → rucio-34.4.2}/tests/test_import_export.py +0 -0
  536. {rucio-34.4.1 → rucio-34.4.2}/tests/test_judge_cleaner.py +0 -0
  537. {rucio-34.4.1 → rucio-34.4.2}/tests/test_judge_evaluator.py +0 -0
  538. {rucio-34.4.1 → rucio-34.4.2}/tests/test_judge_injector.py +0 -0
  539. {rucio-34.4.1 → rucio-34.4.2}/tests/test_judge_repairer.py +0 -0
  540. {rucio-34.4.1 → rucio-34.4.2}/tests/test_lifetime.py +0 -0
  541. {rucio-34.4.1 → rucio-34.4.2}/tests/test_message.py +0 -0
  542. {rucio-34.4.1 → rucio-34.4.2}/tests/test_meta_conventions.py +0 -0
  543. {rucio-34.4.1 → rucio-34.4.2}/tests/test_meta_did.py +0 -0
  544. {rucio-34.4.1 → rucio-34.4.2}/tests/test_module_import.py +0 -0
  545. {rucio-34.4.1 → rucio-34.4.2}/tests/test_monitor.py +0 -0
  546. {rucio-34.4.1 → rucio-34.4.2}/tests/test_multi_vo.py +0 -0
  547. {rucio-34.4.1 → rucio-34.4.2}/tests/test_naming_convention.py +0 -0
  548. {rucio-34.4.1 → rucio-34.4.2}/tests/test_oauthmanager.py +0 -0
  549. {rucio-34.4.1 → rucio-34.4.2}/tests/test_oidc.py +0 -0
  550. {rucio-34.4.1 → rucio-34.4.2}/tests/test_permission.py +0 -0
  551. {rucio-34.4.1 → rucio-34.4.2}/tests/test_pfns.py +0 -0
  552. {rucio-34.4.1 → rucio-34.4.2}/tests/test_ping.py +0 -0
  553. {rucio-34.4.1 → rucio-34.4.2}/tests/test_preparer.py +0 -0
  554. {rucio-34.4.1 → rucio-34.4.2}/tests/test_qos.py +0 -0
  555. {rucio-34.4.1 → rucio-34.4.2}/tests/test_quarantined_replica.py +0 -0
  556. {rucio-34.4.1 → rucio-34.4.2}/tests/test_reaper.py +0 -0
  557. {rucio-34.4.1 → rucio-34.4.2}/tests/test_redirect.py +0 -0
  558. {rucio-34.4.1 → rucio-34.4.2}/tests/test_replica.py +0 -0
  559. {rucio-34.4.1 → rucio-34.4.2}/tests/test_replica_recoverer.py +0 -0
  560. {rucio-34.4.1 → rucio-34.4.2}/tests/test_replica_sorting.py +0 -0
  561. {rucio-34.4.1 → rucio-34.4.2}/tests/test_request.py +0 -0
  562. {rucio-34.4.1 → rucio-34.4.2}/tests/test_root_proxy.py +0 -0
  563. {rucio-34.4.1 → rucio-34.4.2}/tests/test_rse.py +0 -0
  564. {rucio-34.4.1 → rucio-34.4.2}/tests/test_rse_expression_parser.py +0 -0
  565. {rucio-34.4.1 → rucio-34.4.2}/tests/test_rse_lfn2path.py +0 -0
  566. {rucio-34.4.1 → rucio-34.4.2}/tests/test_rse_protocol_gfal2.py +0 -0
  567. {rucio-34.4.1 → rucio-34.4.2}/tests/test_rse_protocol_gfal2_impl.py +0 -0
  568. {rucio-34.4.1 → rucio-34.4.2}/tests/test_rse_protocol_posix.py +0 -0
  569. {rucio-34.4.1 → rucio-34.4.2}/tests/test_rse_protocol_rclone.py +0 -0
  570. {rucio-34.4.1 → rucio-34.4.2}/tests/test_rse_protocol_rsync.py +0 -0
  571. {rucio-34.4.1 → rucio-34.4.2}/tests/test_rse_protocol_srm.py +0 -0
  572. {rucio-34.4.1 → rucio-34.4.2}/tests/test_rse_protocol_ssh.py +0 -0
  573. {rucio-34.4.1 → rucio-34.4.2}/tests/test_rse_protocol_webdav.py +0 -0
  574. {rucio-34.4.1 → rucio-34.4.2}/tests/test_rse_protocol_xrootd.py +0 -0
  575. {rucio-34.4.1 → rucio-34.4.2}/tests/test_rse_selector.py +0 -0
  576. {rucio-34.4.1 → rucio-34.4.2}/tests/test_rucio_server.py +0 -0
  577. {rucio-34.4.1 → rucio-34.4.2}/tests/test_rule.py +0 -0
  578. {rucio-34.4.1 → rucio-34.4.2}/tests/test_scope.py +0 -0
  579. {rucio-34.4.1 → rucio-34.4.2}/tests/test_subscription.py +0 -0
  580. {rucio-34.4.1 → rucio-34.4.2}/tests/test_throttler.py +0 -0
  581. {rucio-34.4.1 → rucio-34.4.2}/tests/test_tpc.py +0 -0
  582. {rucio-34.4.1 → rucio-34.4.2}/tests/test_trace.py +0 -0
  583. {rucio-34.4.1 → rucio-34.4.2}/tests/test_transfer.py +0 -0
  584. {rucio-34.4.1 → rucio-34.4.2}/tests/test_transfer_plugins.py +0 -0
  585. {rucio-34.4.1 → rucio-34.4.2}/tests/test_undertaker.py +0 -0
  586. {rucio-34.4.1 → rucio-34.4.2}/tests/test_upload.py +0 -0
  587. {rucio-34.4.1 → rucio-34.4.2}/tests/test_utils.py +0 -0
  588. {rucio-34.4.1 → rucio-34.4.2}/tools/bootstrap.py +0 -0
  589. {rucio-34.4.1 → rucio-34.4.2}/tools/merge_rucio_configs.py +0 -0
  590. {rucio-34.4.1 → rucio-34.4.2}/tools/reset_database.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rucio
3
- Version: 34.4.1
3
+ Version: 34.4.2
4
4
  Summary: Rucio Package
5
5
  Home-page: https://rucio.cern.ch/
6
6
  Author: Rucio
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  from json import dumps
16
+ from typing import TYPE_CHECKING, Any, Optional
16
17
  from urllib.parse import quote_plus
17
18
 
18
19
  from requests.status_codes import codes
@@ -20,6 +21,9 @@ from requests.status_codes import codes
20
21
  from rucio.client.baseclient import BaseClient, choice
21
22
  from rucio.common.utils import build_url
22
23
 
24
+ if TYPE_CHECKING:
25
+ from collections.abc import Iterator
26
+
23
27
 
24
28
  class AccountClient(BaseClient):
25
29
 
@@ -27,7 +31,7 @@ class AccountClient(BaseClient):
27
31
 
28
32
  ACCOUNTS_BASEURL = 'accounts'
29
33
 
30
- def add_account(self, account, type_, email):
34
+ def add_account(self, account: str, type_: str, email: str) -> bool:
31
35
  """
32
36
  Sends the request to create a new account.
33
37
 
@@ -49,7 +53,7 @@ class AccountClient(BaseClient):
49
53
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
50
54
  raise exc_cls(exc_msg)
51
55
 
52
- def delete_account(self, account):
56
+ def delete_account(self, account: str) -> bool:
53
57
  """
54
58
  Sends the request to disable an account.
55
59
 
@@ -68,7 +72,7 @@ class AccountClient(BaseClient):
68
72
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
69
73
  raise exc_cls(exc_msg)
70
74
 
71
- def get_account(self, account):
75
+ def get_account(self, account: str) -> Optional[dict[str, Any]]:
72
76
  """
73
77
  Sends the request to get information about a given account.
74
78
 
@@ -87,7 +91,7 @@ class AccountClient(BaseClient):
87
91
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
88
92
  raise exc_cls(exc_msg)
89
93
 
90
- def update_account(self, account, key, value):
94
+ def update_account(self, account: str, key: str, value: Any) -> bool:
91
95
  """ Update a property of an account.
92
96
 
93
97
  :param account: Name of the account.
@@ -106,7 +110,12 @@ class AccountClient(BaseClient):
106
110
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
107
111
  raise exc_cls(exc_msg)
108
112
 
109
- def list_accounts(self, account_type=None, identity=None, filters=None):
113
+ def list_accounts(
114
+ self,
115
+ account_type: Optional[str] = None,
116
+ identity: Optional[str] = None,
117
+ filters: Optional[dict[str, Any]] = None
118
+ ) -> "Iterator[dict[str, Any]]":
110
119
  """
111
120
  Sends the request to list all rucio accounts.
112
121
 
@@ -137,7 +146,7 @@ class AccountClient(BaseClient):
137
146
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
138
147
  raise exc_cls(exc_msg)
139
148
 
140
- def whoami(self):
149
+ def whoami(self) -> Optional[dict[str, Any]]:
141
150
  """
142
151
  Get information about account whose token is used
143
152
 
@@ -146,7 +155,15 @@ class AccountClient(BaseClient):
146
155
  """
147
156
  return self.get_account('whoami')
148
157
 
149
- def add_identity(self, account, identity, authtype, email, default=False, password=None):
158
+ def add_identity(
159
+ self,
160
+ account: str,
161
+ identity: str,
162
+ authtype: str,
163
+ email: str,
164
+ default: bool = False,
165
+ password: Optional[str] = None
166
+ ) -> bool:
150
167
  """
151
168
  Adds a membership association between identity and account.
152
169
 
@@ -171,7 +188,12 @@ class AccountClient(BaseClient):
171
188
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
172
189
  raise exc_cls(exc_msg)
173
190
 
174
- def del_identity(self, account, identity, authtype):
191
+ def del_identity(
192
+ self,
193
+ account: str,
194
+ identity: str,
195
+ authtype: str
196
+ ) -> bool:
175
197
  """
176
198
  Delete an identity's membership association with an account.
177
199
 
@@ -194,7 +216,7 @@ class AccountClient(BaseClient):
194
216
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
195
217
  raise exc_cls(exc_msg)
196
218
 
197
- def list_identities(self, account):
219
+ def list_identities(self, account: str) -> "Iterator[dict[str, Any]]":
198
220
  """
199
221
  List all identities on an account.
200
222
 
@@ -210,7 +232,7 @@ class AccountClient(BaseClient):
210
232
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
211
233
  raise exc_cls(exc_msg)
212
234
 
213
- def list_account_rules(self, account):
235
+ def list_account_rules(self, account: str) -> "Iterator[dict[str, Any]]":
214
236
  """
215
237
  List the associated rules of an account.
216
238
 
@@ -226,7 +248,7 @@ class AccountClient(BaseClient):
226
248
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
227
249
  raise exc_cls(exc_msg)
228
250
 
229
- def get_account_limits(self, account, rse_expression, locality):
251
+ def get_account_limits(self, account: str, rse_expression: str, locality: str) -> dict[str, Any]:
230
252
  """
231
253
  Return the correct account limits for the given locality.
232
254
 
@@ -243,7 +265,7 @@ class AccountClient(BaseClient):
243
265
  from rucio.common.exception import UnsupportedOperation
244
266
  raise UnsupportedOperation('The provided locality (%s) for the account limit was invalid' % locality)
245
267
 
246
- def get_global_account_limit(self, account, rse_expression):
268
+ def get_global_account_limit(self, account: str, rse_expression: str) -> dict[str, Any]:
247
269
  """
248
270
  List the account limit for the specific RSE expression.
249
271
 
@@ -259,7 +281,7 @@ class AccountClient(BaseClient):
259
281
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
260
282
  raise exc_cls(exc_msg)
261
283
 
262
- def get_global_account_limits(self, account):
284
+ def get_global_account_limits(self, account: str) -> dict[str, Any]:
263
285
  """
264
286
  List all RSE expression limits of this account.
265
287
 
@@ -274,7 +296,7 @@ class AccountClient(BaseClient):
274
296
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
275
297
  raise exc_cls(exc_msg)
276
298
 
277
- def get_local_account_limits(self, account):
299
+ def get_local_account_limits(self, account: str) -> dict[str, Any]:
278
300
  """
279
301
  List the account rse limits of this account.
280
302
 
@@ -289,7 +311,7 @@ class AccountClient(BaseClient):
289
311
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
290
312
  raise exc_cls(exc_msg)
291
313
 
292
- def get_local_account_limit(self, account, rse):
314
+ def get_local_account_limit(self, account: str, rse: str) -> dict[str, Any]:
293
315
  """
294
316
  List the account rse limits of this account for the specific rse.
295
317
 
@@ -305,7 +327,7 @@ class AccountClient(BaseClient):
305
327
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
306
328
  raise exc_cls(exc_msg)
307
329
 
308
- def get_local_account_usage(self, account, rse=None):
330
+ def get_local_account_usage(self, account: str, rse: Optional[str] = None) -> "Iterator[dict[str, Any]]":
309
331
  """
310
332
  List the account usage for one or all rses of this account.
311
333
 
@@ -324,7 +346,7 @@ class AccountClient(BaseClient):
324
346
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
325
347
  raise exc_cls(exc_msg)
326
348
 
327
- def get_global_account_usage(self, account, rse_expression=None):
349
+ def get_global_account_usage(self, account: str, rse_expression: Optional[str] = None) -> "Iterator[dict[str, Any]]":
328
350
  """
329
351
  List the account usage for one or all RSE expressions of this account.
330
352
 
@@ -343,7 +365,7 @@ class AccountClient(BaseClient):
343
365
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
344
366
  raise exc_cls(exc_msg)
345
367
 
346
- def get_account_usage_history(self, account, rse):
368
+ def get_account_usage_history(self, account: str, rse: str) -> dict[str, Any]:
347
369
  """
348
370
  List the account usage history of this account on rse.
349
371
 
@@ -359,7 +381,7 @@ class AccountClient(BaseClient):
359
381
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
360
382
  raise exc_cls(exc_msg)
361
383
 
362
- def list_account_attributes(self, account):
384
+ def list_account_attributes(self, account: str) -> "Iterator[dict[dict[str, Any], Any]]":
363
385
  """
364
386
  List the attributes for an account.
365
387
 
@@ -374,7 +396,7 @@ class AccountClient(BaseClient):
374
396
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
375
397
  raise exc_cls(exc_msg)
376
398
 
377
- def add_account_attribute(self, account, key, value):
399
+ def add_account_attribute(self, account: str, key: str, value: Any) -> bool:
378
400
  """
379
401
  Adds an attribute to an account.
380
402
 
@@ -393,7 +415,7 @@ class AccountClient(BaseClient):
393
415
  exc_cls, exc_msg = self._get_exception(headers=res.headers, status_code=res.status_code, data=res.content)
394
416
  raise exc_cls(exc_msg)
395
417
 
396
- def delete_account_attribute(self, account, key):
418
+ def delete_account_attribute(self, account: str, key: str) -> bool:
397
419
  """
398
420
  Delete an attribute for an account.
399
421
 
@@ -879,8 +879,8 @@ class BaseClient:
879
879
  return False
880
880
 
881
881
  try:
882
- token_file_handler = open(self.token_file, 'r')
883
- self.auth_token = token_file_handler.readline()
882
+ with open(self.token_file, 'r') as token_file_handler:
883
+ self.auth_token = token_file_handler.readline()
884
884
  self.headers['X-Rucio-Auth-Token'] = self.auth_token
885
885
  except OSError as error:
886
886
  print("I/O error({0}): {1}".format(error.errno, error.strerror))
@@ -27,7 +27,11 @@ class ScopeClient(BaseClient):
27
27
 
28
28
  SCOPE_BASEURL = 'accounts'
29
29
 
30
- def add_scope(self, account, scope):
30
+ def add_scope(
31
+ self,
32
+ account: str,
33
+ scope: str
34
+ ) -> bool:
31
35
  """
32
36
  Sends the request to add a new scope.
33
37
 
@@ -47,7 +51,7 @@ class ScopeClient(BaseClient):
47
51
  exc_cls, exc_msg = self._get_exception(headers=r.headers, status_code=r.status_code, data=r.content)
48
52
  raise exc_cls(exc_msg)
49
53
 
50
- def list_scopes(self):
54
+ def list_scopes(self) -> list[str]:
51
55
  """
52
56
  Sends the request to list all scopes.
53
57
 
@@ -64,7 +68,7 @@ class ScopeClient(BaseClient):
64
68
  exc_cls, exc_msg = self._get_exception(headers=r.headers, status_code=r.status_code, data=r.content)
65
69
  raise exc_cls(exc_msg)
66
70
 
67
- def list_scopes_for_account(self, account):
71
+ def list_scopes_for_account(self, account: str) -> list[str]:
68
72
  """
69
73
  Sends the request to list all scopes for a rucio account.
70
74
 
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  from json import dumps
16
+ from typing import Optional
16
17
 
17
18
  from requests import post
18
19
 
@@ -30,7 +31,12 @@ class TouchClient(BaseClient):
30
31
  DIDS_BASEURL = 'dids'
31
32
  TRACES_BASEURL = 'traces'
32
33
 
33
- def touch(self, scope, name, rse=None):
34
+ def touch(
35
+ self,
36
+ scope: str,
37
+ name: str,
38
+ rse: Optional[str] = None
39
+ ) -> None:
34
40
  """
35
41
  Sends a touch trace for a given file or dataset.
36
42
 
@@ -24,7 +24,7 @@ class InternalType:
24
24
  '''
25
25
  Base for Internal representations of string types
26
26
  '''
27
- def __init__(self, value, vo='def', fromExternal=True):
27
+ def __init__(self, value: Optional[str], vo: str = 'def', fromExternal: bool = True):
28
28
  if value is None:
29
29
  self.external = None
30
30
  self.internal = None
@@ -73,20 +73,22 @@ class InternalType:
73
73
  def __hash__(self):
74
74
  return hash(self.internal)
75
75
 
76
- def _calc_external(self):
76
+ def _calc_external(self) -> tuple[str, str]:
77
77
  ''' Utility to convert between internal and external representations'''
78
- split = self.internal.split('@', 1)
79
- if len(split) == 1: # if cannot convert, vo is '' and this is single vo
80
- vo = 'def'
81
- external = split[0]
82
- else:
83
- vo = split[1]
84
- external = split[0]
85
- return vo, external
86
-
87
- def _calc_internal(self):
78
+ if isinstance(self.internal, str):
79
+ split = self.internal.split('@', 1)
80
+ if len(split) == 1: # if cannot convert, vo is '' and this is single vo
81
+ vo = 'def'
82
+ external = split[0]
83
+ else:
84
+ vo = split[1]
85
+ external = split[0]
86
+ return vo, external
87
+ return '', ''
88
+
89
+ def _calc_internal(self) -> str:
88
90
  ''' Utility to convert between internal and external representations'''
89
- if self.vo == 'def':
91
+ if self.vo == 'def' and self.external is not None:
90
92
  return self.external
91
93
  internal = '{}@{}'.format(self.external, self.vo)
92
94
  return internal
@@ -96,7 +98,7 @@ class InternalAccount(InternalType):
96
98
  '''
97
99
  Internal representation of an account
98
100
  '''
99
- def __init__(self, account, vo='def', fromExternal=True):
101
+ def __init__(self, account: Optional[str], vo: str = 'def', fromExternal: bool = True):
100
102
  super(InternalAccount, self).__init__(value=account, vo=vo, fromExternal=fromExternal)
101
103
 
102
104
 
@@ -104,7 +106,7 @@ class InternalScope(InternalType):
104
106
  '''
105
107
  Internal representation of a scope
106
108
  '''
107
- def __init__(self, scope, vo='def', fromExternal=True):
109
+ def __init__(self, scope: Optional[str], vo: str = 'def', fromExternal: bool = True):
108
110
  super(InternalScope, self).__init__(value=scope, vo=vo, fromExternal=fromExternal)
109
111
 
110
112
 
@@ -77,8 +77,8 @@ def add_files(lfns: list[dict], account: str, ignore_availability: bool, parents
77
77
  scopes = [scope.external for scope in scopes]
78
78
  exist_lfn = []
79
79
  try:
80
- lifetime_dict: str = config_get(section='dirac', option='lifetime', default='{}', session=session)
81
- lifetime_dict = loads(lifetime_dict)
80
+ config_lifetime: str = config_get(section='dirac', option='lifetime', default='{}', session=session)
81
+ lifetime_dict: dict = loads(config_lifetime)
82
82
  except ConfigNotFound:
83
83
  lifetime_dict = {}
84
84
  except JSONDecodeError as err:
@@ -13,8 +13,9 @@
13
13
  # limitations under the License.
14
14
 
15
15
  import logging
16
+ from collections.abc import Iterable, Iterator
16
17
  from datetime import datetime
17
- from typing import TYPE_CHECKING
18
+ from typing import TYPE_CHECKING, Any, Optional, Union
18
19
 
19
20
  from sqlalchemy.exc import DatabaseError
20
21
  from sqlalchemy.sql.expression import and_, or_
@@ -23,7 +24,7 @@ import rucio.core.did
23
24
  import rucio.core.rule
24
25
  from rucio.common.constants import RseAttr
25
26
  from rucio.common.exception import DataIdentifierNotFound
26
- from rucio.common.types import InternalScope
27
+ from rucio.common.types import InternalScope, LoggerFunction
27
28
  from rucio.core.lifetime_exception import define_eol
28
29
  from rucio.core.rse import get_rse_attribute, get_rse_name
29
30
  from rucio.db.sqla import filter_thread_work, models
@@ -35,7 +36,7 @@ if TYPE_CHECKING:
35
36
 
36
37
 
37
38
  @stream_session
38
- def get_dataset_locks(scope, name, *, session: "Session"):
39
+ def get_dataset_locks(scope: InternalScope, name: str, *, session: "Session") -> Iterator[dict[str, Any]]:
39
40
  """
40
41
  Get the dataset locks of a dataset
41
42
 
@@ -69,7 +70,7 @@ def get_dataset_locks(scope, name, *, session: "Session"):
69
70
 
70
71
 
71
72
  @stream_session
72
- def get_dataset_locks_bulk(dids, *, session: "Session"):
73
+ def get_dataset_locks_bulk(dids: Iterable[dict[str, Any]], *, session: "Session") -> Iterator[dict[str, Any]]:
73
74
  """
74
75
  Get the dataset locks of a list of datasets or containers, recursively
75
76
 
@@ -102,7 +103,7 @@ def get_dataset_locks_bulk(dids, *, session: "Session"):
102
103
 
103
104
 
104
105
  @stream_session
105
- def get_dataset_locks_by_rse_id(rse_id, *, session: "Session"):
106
+ def get_dataset_locks_by_rse_id(rse_id: str, *, session: "Session") -> Iterator[dict[str, Any]]:
106
107
  """
107
108
  Get the dataset locks of an RSE.
108
109
 
@@ -135,7 +136,7 @@ def get_dataset_locks_by_rse_id(rse_id, *, session: "Session"):
135
136
 
136
137
 
137
138
  @read_session
138
- def get_replica_locks(scope, name, nowait=False, restrict_rses=None, *, session: "Session"):
139
+ def get_replica_locks(scope: InternalScope, name: str, nowait: bool = False, restrict_rses: Optional[Iterable[str]] = None, *, session: "Session") -> list[models.ReplicaLock]:
139
140
  """
140
141
  Get the active replica locks for a file
141
142
 
@@ -160,7 +161,7 @@ def get_replica_locks(scope, name, nowait=False, restrict_rses=None, *, session:
160
161
 
161
162
 
162
163
  @read_session
163
- def get_replica_locks_for_rule_id(rule_id, *, session: "Session"):
164
+ def get_replica_locks_for_rule_id(rule_id: str, *, session: "Session") -> list[dict[str, Any]]:
164
165
  """
165
166
  Get the active replica locks for a rule_id.
166
167
 
@@ -186,7 +187,7 @@ def get_replica_locks_for_rule_id(rule_id, *, session: "Session"):
186
187
 
187
188
 
188
189
  @read_session
189
- def get_replica_locks_for_rule_id_per_rse(rule_id, *, session: "Session"):
190
+ def get_replica_locks_for_rule_id_per_rse(rule_id: str, *, session: "Session") -> list[dict[str, str]]:
190
191
  """
191
192
  Get the active replica locks for a rule_id per rse.
192
193
 
@@ -208,9 +209,9 @@ def get_replica_locks_for_rule_id_per_rse(rule_id, *, session: "Session"):
208
209
 
209
210
 
210
211
  @read_session
211
- def get_files_and_replica_locks_of_dataset(scope, name, nowait=False, restrict_rses=None, only_stuck=False,
212
- total_threads=None, thread_id=None,
213
- *, session: "Session"):
212
+ def get_files_and_replica_locks_of_dataset(scope: InternalScope, name: str, nowait: bool = False, restrict_rses: Optional[Iterable[str]] = None, only_stuck: bool = False,
213
+ total_threads: Optional[int] = None, thread_id: Optional[int] = None,
214
+ *, session: "Session") -> dict[tuple[InternalScope, str], Union[models.ReplicaLock, list[models.ReplicaLock]]]:
214
215
  """
215
216
  Get all the files of a dataset and, if existing, all locks of the file.
216
217
 
@@ -316,7 +317,7 @@ def get_files_and_replica_locks_of_dataset(scope, name, nowait=False, restrict_r
316
317
 
317
318
 
318
319
  @transactional_session
319
- def successful_transfer(scope, name, rse_id, nowait, *, session: "Session", logger=logging.log):
320
+ def successful_transfer(scope: InternalScope, name: str, rse_id: str, nowait: bool, *, session: "Session", logger: LoggerFunction = logging.log) -> None:
320
321
  """
321
322
  Update the state of all replica locks because of an successful transfer
322
323
 
@@ -385,7 +386,8 @@ def successful_transfer(scope, name, rse_id, nowait, *, session: "Session", logg
385
386
 
386
387
 
387
388
  @transactional_session
388
- def failed_transfer(scope, name, rse_id, error_message=None, broken_rule_id=None, broken_message=None, nowait=True, *, session: "Session", logger=logging.log):
389
+ def failed_transfer(scope: InternalScope, name: str, rse_id: str, error_message: Optional[str] = None, broken_rule_id: Optional[str] = None,
390
+ broken_message: Optional[str] = None, nowait: bool = True, *, session: "Session", logger: LoggerFunction = logging.log) -> None:
389
391
  """
390
392
  Update the state of all replica locks because of a failed transfer.
391
393
  If a transfer is permanently broken for a rule, the broken_rule_id should be filled which puts this rule into the SUSPENDED state.
@@ -428,7 +430,10 @@ def failed_transfer(scope, name, rse_id, error_message=None, broken_rule_id=None
428
430
  pass
429
431
  elif lock.rule_id == broken_rule_id:
430
432
  rule.state = RuleState.SUSPENDED
431
- rule.error = (broken_message[:245] + '...') if len(broken_message) > 245 else broken_message
433
+ if broken_message is not None and len(broken_message) > 245:
434
+ rule.error = (broken_message[:245] + '...')
435
+ else:
436
+ rule.error = broken_message
432
437
  # Try to update the DatasetLocks
433
438
  if rule.grouping != RuleGrouping.NONE:
434
439
  ds_locks = session.query(models.DatasetLock).with_for_update(nowait=nowait).filter_by(rule_id=rule.id)
@@ -443,14 +448,17 @@ def failed_transfer(scope, name, rse_id, error_message=None, broken_rule_id=None
443
448
  for ds_lock in ds_locks:
444
449
  ds_lock.state = LockState.STUCK
445
450
  if rule.error != error_message:
446
- rule.error = (error_message[:245] + '...') if len(error_message) > 245 else error_message
451
+ if error_message is not None and len(error_message) > 245:
452
+ rule.error = (error_message[:245] + '...')
453
+ else:
454
+ rule.error = error_message
447
455
 
448
456
  # Insert rule history
449
457
  rucio.core.rule.insert_rule_history(rule=rule, recent=True, longterm=False, session=session)
450
458
 
451
459
 
452
460
  @transactional_session
453
- def touch_dataset_locks(dataset_locks, *, session: "Session"):
461
+ def touch_dataset_locks(dataset_locks: Iterable[dict[str, Any]], *, session: "Session") -> bool:
454
462
  """
455
463
  Update the accessed_at timestamp of the given dataset locks + eol_at.
456
464
 
@@ -230,7 +230,8 @@ class DirectTransferImplementation(DirectTransfer):
230
230
  dsn = get_dsn(rws.scope, rws.name, rws.attributes.get('dsn', None))
231
231
  # DQ2 path always starts with /, but prefix might not end with /
232
232
  naming_convention = dst.rse.attributes.get(RseAttr.NAMING_CONVENTION, None)
233
- dest_path = construct_surl(dsn, rws.scope.external, rws.name, naming_convention)
233
+ if rws.scope.external is not None:
234
+ dest_path = construct_surl(dsn, rws.scope.external, rws.name, naming_convention)
234
235
  if dst.rse.is_tape():
235
236
  if rws.retry_count or rws.activity == 'Recovery':
236
237
  dest_path = '%s_%i' % (dest_path, int(time.time()))
@@ -4,8 +4,8 @@ This file is automatically generated; Do not edit it. :)
4
4
  '''
5
5
  VERSION_INFO = {
6
6
  'final': True,
7
- 'version': '34.4.1',
7
+ 'version': '34.4.2',
8
8
  'branch_nick': 'release-34',
9
- 'revision_id': '6699a667cf3cd9785086857295f70bc66c7c2174',
10
- 'revno': 12863
9
+ 'revision_id': '534cf95bc494f948d820be9410ac498e1dab1cbd',
10
+ 'revno': 12877
11
11
  }
@@ -56,6 +56,7 @@ ignore = [
56
56
  "UP030", # Use implicit references for positional format fields
57
57
  "UP031", # Use format specifiers instead of percent format
58
58
  "UP032", # Use f-string instead of `format` call
59
+ "UP037", # Remove quotes from type annotation. Seeing possible false positives caused by https://github.com/astral-sh/ruff/pull/11485
59
60
  "S101", # Pending https://github.com/rucio/rucio/issues/6680
60
61
  "S105", # Pending https://github.com/rucio/rucio/issues/6696
61
62
  "S108", # Pending https://github.com/rucio/rucio/issues/6655
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes