rucio-clients 34.0.0rc2__tar.gz → 34.1.0__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-clients might be problematic. Click here for more details.

Files changed (193) hide show
  1. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/PKG-INFO +1 -1
  2. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/bin/rucio +23 -15
  3. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/bin/rucio-admin +24 -14
  4. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/__init__.py +0 -1
  5. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/alembicrevision.py +0 -1
  6. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/__init__.py +0 -1
  7. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/accountclient.py +1 -3
  8. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/accountlimitclient.py +1 -3
  9. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/baseclient.py +8 -11
  10. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/client.py +0 -1
  11. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/configclient.py +1 -3
  12. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/credentialclient.py +1 -3
  13. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/didclient.py +22 -5
  14. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/diracclient.py +1 -3
  15. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/downloadclient.py +3 -6
  16. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/exportclient.py +1 -3
  17. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/fileclient.py +1 -3
  18. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/importclient.py +1 -3
  19. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/lifetimeclient.py +1 -3
  20. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/lockclient.py +1 -3
  21. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/metaconventionsclient.py +6 -6
  22. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/pingclient.py +0 -1
  23. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/replicaclient.py +2 -4
  24. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/requestclient.py +1 -3
  25. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/rseclient.py +1 -3
  26. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/ruleclient.py +1 -3
  27. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/scopeclient.py +1 -3
  28. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/subscriptionclient.py +1 -3
  29. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/touchclient.py +1 -3
  30. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/client/uploadclient.py +17 -8
  31. {rucio-clients-34.0.0rc2/lib/rucio/rse/protocols → rucio-clients-34.1.0/lib/rucio/common}/__init__.py +0 -1
  32. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/cache.py +1 -3
  33. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/config.py +1 -2
  34. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/constants.py +0 -1
  35. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/constraints.py +0 -1
  36. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/didtype.py +1 -2
  37. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/exception.py +0 -1
  38. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/extra.py +0 -1
  39. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/logging.py +0 -1
  40. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/pcache.py +4 -6
  41. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/plugins.py +2 -4
  42. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/policy.py +0 -1
  43. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/schema/__init__.py +0 -1
  44. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/schema/atlas.py +1 -2
  45. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/schema/belleii.py +1 -2
  46. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/schema/cms.py +1 -2
  47. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/schema/domatpc.py +1 -2
  48. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/schema/escape.py +1 -2
  49. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/schema/generic.py +1 -2
  50. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/schema/generic_multi_vo.py +1 -2
  51. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/schema/icecube.py +1 -2
  52. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/schema/lsst.py +1 -2
  53. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/stomp_utils.py +0 -1
  54. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/stopwatch.py +0 -1
  55. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/test_rucio_server.py +2 -2
  56. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/types.py +6 -2
  57. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/common/utils.py +8 -9
  58. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/__init__.py +3 -4
  59. {rucio-clients-34.0.0rc2/lib/rucio/common → rucio-clients-34.1.0/lib/rucio/rse/protocols}/__init__.py +0 -1
  60. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/bittorrent.py +3 -5
  61. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/cache.py +0 -1
  62. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/dummy.py +0 -1
  63. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/gfal.py +1 -2
  64. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/globus.py +1 -2
  65. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/gsiftp.py +0 -1
  66. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/http_cache.py +0 -1
  67. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/mock.py +0 -1
  68. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/ngarc.py +0 -1
  69. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/posix.py +4 -5
  70. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/protocol.py +2 -3
  71. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/rclone.py +1 -2
  72. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/rfio.py +0 -1
  73. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/srm.py +0 -1
  74. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/ssh.py +1 -2
  75. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/storm.py +0 -1
  76. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/webdav.py +5 -6
  77. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/protocols/xrootd.py +1 -2
  78. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/rse/rsemanager.py +2 -4
  79. rucio-clients-34.1.0/lib/rucio/vcsversion.py +11 -0
  80. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio/version.py +0 -1
  81. rucio-clients-34.1.0/pyproject.toml +61 -0
  82. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/setup.py +0 -1
  83. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/setuputil.py +1 -3
  84. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_abacus_account.py +1 -2
  85. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_abacus_collection_replica.py +1 -2
  86. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_abacus_rse.py +1 -2
  87. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_account.py +3 -4
  88. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_account_limits.py +1 -1
  89. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_api_external_representation.py +4 -6
  90. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_archive.py +1 -2
  91. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_auditor.py +2 -4
  92. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_auditor_hdfs.py +1 -2
  93. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_auditor_srmdumps.py +0 -1
  94. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_authentication.py +6 -8
  95. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_automatix.py +3 -4
  96. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_bad_replica.py +8 -11
  97. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_bb8.py +9 -9
  98. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_belleii.py +2 -3
  99. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_bin_rucio.py +14 -11
  100. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_boolean.py +0 -1
  101. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_clients.py +1 -3
  102. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_common_types.py +1 -2
  103. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_config.py +0 -1
  104. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_conveyor.py +22 -21
  105. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_conveyor_submitter.py +26 -6
  106. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_counter.py +0 -1
  107. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_credential.py +0 -1
  108. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_curl.py +1 -2
  109. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_daemons.py +1 -2
  110. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_dataset_replicas.py +5 -7
  111. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_db.py +4 -4
  112. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_did.py +83 -12
  113. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_did_meta_plugins.py +3 -4
  114. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_didtype.py +0 -1
  115. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_download.py +2 -4
  116. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_dumper.py +4 -6
  117. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_dumper_consistency.py +1 -7
  118. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_dumper_data_model.py +2 -3
  119. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_dumper_path_parsing.py +2 -4
  120. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_filter_engine.py +2 -3
  121. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_heartbeat.py +1 -2
  122. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_hermes.py +4 -5
  123. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_identity.py +3 -4
  124. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_impl_upload_download.py +3 -3
  125. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_import_export.py +7 -10
  126. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_judge_cleaner.py +3 -3
  127. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_judge_evaluator.py +3 -2
  128. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_judge_injector.py +5 -5
  129. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_judge_repairer.py +7 -8
  130. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_lifetime.py +6 -8
  131. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_message.py +3 -4
  132. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_meta_conventions.py +2 -3
  133. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_meta_did.py +0 -1
  134. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_module_import.py +1 -2
  135. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_monitor.py +0 -1
  136. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_multi_vo.py +10 -10
  137. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_naming_convention.py +1 -5
  138. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_oauthmanager.py +0 -1
  139. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_oidc.py +5 -10
  140. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_permission.py +1 -2
  141. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_pfns.py +0 -1
  142. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_ping.py +0 -1
  143. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_preparer.py +4 -5
  144. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_qos.py +1 -2
  145. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_quarantined_replica.py +1 -3
  146. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_reaper.py +5 -7
  147. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_redirect.py +0 -1
  148. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_replica.py +8 -15
  149. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_replica_recoverer.py +5 -6
  150. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_replica_sorting.py +6 -6
  151. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_request.py +4 -5
  152. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_root_proxy.py +2 -3
  153. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_rse.py +27 -19
  154. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_rse_expression_parser.py +2 -4
  155. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_rse_lfn2path.py +1 -3
  156. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_rse_protocol_gfal2.py +2 -2
  157. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_rse_protocol_gfal2_impl.py +2 -2
  158. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_rse_protocol_posix.py +2 -2
  159. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_rse_protocol_rclone.py +3 -3
  160. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_rse_protocol_rsync.py +3 -3
  161. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_rse_protocol_srm.py +2 -2
  162. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_rse_protocol_ssh.py +3 -3
  163. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_rse_protocol_webdav.py +2 -2
  164. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_rse_protocol_xrootd.py +2 -2
  165. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_rse_selector.py +2 -3
  166. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_rucio_server.py +0 -1
  167. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_rule.py +44 -17
  168. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_schema_cms.py +0 -2
  169. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_scope.py +3 -4
  170. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_subscription.py +25 -28
  171. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_throttler.py +14 -8
  172. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_tpc.py +9 -10
  173. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_trace.py +5 -5
  174. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_transfer.py +11 -11
  175. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_transfer_plugins.py +7 -10
  176. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_undertaker.py +2 -3
  177. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_upload.py +2 -2
  178. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tests/test_utils.py +1 -2
  179. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/tools/merge_rucio_configs.py +2 -5
  180. rucio-clients-34.0.0rc2/lib/rucio/vcsversion.py +0 -11
  181. rucio-clients-34.0.0rc2/pyproject.toml +0 -3
  182. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/AUTHORS.rst +0 -0
  183. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/ChangeLog +0 -0
  184. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/LICENSE +0 -0
  185. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/MANIFEST.in +0 -0
  186. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/README.rst +0 -0
  187. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/etc/rse-accounts.cfg.template +0 -0
  188. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/etc/rucio.cfg.atlas.client.template +0 -0
  189. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/etc/rucio.cfg.template +0 -0
  190. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/lib/rucio_clients.egg-info/SOURCES.txt +0 -0
  191. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/pylintrc +0 -0
  192. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/requirements.txt +0 -0
  193. {rucio-clients-34.0.0rc2 → rucio-clients-34.1.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rucio-clients
3
- Version: 34.0.0rc2
3
+ Version: 34.1.0
4
4
  Summary: Rucio Client Lite Package
5
5
  Home-page: https://rucio.cern.ch/
6
6
  Author: Rucio
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env python
2
- # -*- coding: utf-8 -*-
3
2
  # Copyright European Organization for Nuclear Research (CERN) since 2012
4
3
  #
5
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -27,27 +26,40 @@ import time
27
26
  import traceback
28
27
  import unittest
29
28
  import uuid
29
+ from configparser import NoOptionError, NoSectionError
30
30
  from copy import deepcopy
31
31
  from datetime import datetime
32
32
  from functools import wraps
33
33
 
34
- from configparser import NoOptionError, NoSectionError
35
34
  from tabulate import tabulate
36
35
 
37
36
  # rucio module has the same name as this executable module, so this rule fails. pylint: disable=no-name-in-module
38
37
  from rucio import version
39
38
  from rucio.client import Client
40
39
  from rucio.common.config import config_get, config_get_float
41
- from rucio.common.exception import (DataIdentifierAlreadyExists, AccessDenied, DataIdentifierNotFound, InvalidObject,
42
- RSENotFound, InvalidRSEExpression, InputValidationError, DuplicateContent,
43
- RuleNotFound, CannotAuthenticate, MissingDependency, UnsupportedOperation,
44
- RucioException, DuplicateRule, InvalidType, DuplicateCriteriaInDIDFilter,
45
- DIDFilterSyntaxError)
40
+ from rucio.common.constants import ReplicaState
41
+ from rucio.common.exception import (
42
+ AccessDenied,
43
+ CannotAuthenticate,
44
+ DataIdentifierAlreadyExists,
45
+ DataIdentifierNotFound,
46
+ DIDFilterSyntaxError,
47
+ DuplicateContent,
48
+ DuplicateCriteriaInDIDFilter,
49
+ DuplicateRule,
50
+ InputValidationError,
51
+ InvalidObject,
52
+ InvalidRSEExpression,
53
+ InvalidType,
54
+ MissingDependency,
55
+ RSENotFound,
56
+ RucioException,
57
+ RuleNotFound,
58
+ UnsupportedOperation,
59
+ )
46
60
  from rucio.common.extra import import_extras
47
61
  from rucio.common.test_rucio_server import TestRucioServer
48
- from rucio.common.utils import sizefmt, Color, detect_client_location, chunks, parse_did_filter_from_string, \
49
- parse_did_filter_from_string_fe, extract_scope, setup_logger, StoreAndDeprecateWarningAction
50
- from rucio.common.constants import ReplicaState
62
+ from rucio.common.utils import Color, StoreAndDeprecateWarningAction, chunks, detect_client_location, extract_scope, parse_did_filter_from_string, parse_did_filter_from_string_fe, setup_logger, sizefmt
51
63
 
52
64
  EXTRA_MODULES = import_extras(['argcomplete'])
53
65
 
@@ -488,7 +500,7 @@ def attach(args):
488
500
  try:
489
501
  f = open(dids[0], 'r')
490
502
  dids = [did.rstrip() for did in f.readlines()]
491
- except IOError:
503
+ except OSError:
492
504
  logger.error("Can't open file '" + dids[0] + "'.")
493
505
  return FAILURE
494
506
 
@@ -1334,9 +1346,6 @@ def info_rule(args):
1334
1346
 
1335
1347
  Retrieve information about a rule.
1336
1348
  """
1337
- if args.estimate_ttc:
1338
- logger.error('"--estimate-ttc" is deprecated!')
1339
- return FAILURE
1340
1349
  client = get_client(args)
1341
1350
  if args.examine:
1342
1351
  analysis = client.examine_replication_rule(rule_id=args.rule_id)
@@ -2352,7 +2361,6 @@ You can filter by key/value, e.g.::
2352
2361
  info_rule_parser.set_defaults(function=info_rule)
2353
2362
  info_rule_parser.add_argument(dest='rule_id', action='store', help='The rule ID')
2354
2363
  info_rule_parser.add_argument('--examine', dest='examine', action='store_true', help='Detailed analysis of transfer errors')
2355
- info_rule_parser.add_argument('--estimate-ttc', dest='estimate_ttc', action='store_true', help='Deprecated, specifying this will cause the program to fail.')
2356
2364
 
2357
2365
  # The list_rules command
2358
2366
  list_rules_parser = subparsers.add_parser('list-rules', help='List replication rules.', formatter_class=argparse.RawDescriptionHelpFormatter, epilog='''Usage example
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env python
2
- # -*- coding: utf-8 -*-
3
2
  # Copyright European Organization for Nuclear Research (CERN) since 2012
4
3
  #
5
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -25,25 +24,36 @@ import signal
25
24
  import sys
26
25
  import time
27
26
  import traceback
28
- from textwrap import dedent
27
+ from configparser import NoOptionError, NoSectionError
29
28
  from functools import wraps
29
+ from textwrap import dedent
30
30
 
31
- from configparser import NoOptionError, NoSectionError
32
31
  from tabulate import tabulate
33
32
 
34
33
  from rucio import version
35
34
  from rucio.client import Client
36
35
  from rucio.common.config import config_get
37
- from rucio.common.exception import (AccountNotFound, DataIdentifierAlreadyExists, AccessDenied,
38
- DataIdentifierNotFound, InvalidObject, ReplicaNotFound,
39
- RSENotFound, RSEOperationNotSupported, InvalidRSEExpression,
40
- DuplicateContent, RuleNotFound, CannotAuthenticate,
41
- Duplicate, ReplicaIsLocked, ConfigNotFound, ScopeNotFound,
42
- InputValidationError)
36
+ from rucio.common.exception import (
37
+ AccessDenied,
38
+ AccountNotFound,
39
+ CannotAuthenticate,
40
+ ConfigNotFound,
41
+ DataIdentifierAlreadyExists,
42
+ DataIdentifierNotFound,
43
+ Duplicate,
44
+ DuplicateContent,
45
+ InputValidationError,
46
+ InvalidObject,
47
+ InvalidRSEExpression,
48
+ ReplicaIsLocked,
49
+ ReplicaNotFound,
50
+ RSENotFound,
51
+ RSEOperationNotSupported,
52
+ RuleNotFound,
53
+ ScopeNotFound,
54
+ )
43
55
  from rucio.common.extra import import_extras
44
- from rucio.common.utils import (chunks, construct_surl, sizefmt, get_bytes_value_from_string,
45
- render_json, parse_response, extract_scope, clean_surls,
46
- StoreAndDeprecateWarningAction)
56
+ from rucio.common.utils import StoreAndDeprecateWarningAction, chunks, clean_surls, construct_surl, extract_scope, get_bytes_value_from_string, parse_response, render_json, sizefmt
47
57
  from rucio.rse import rsemanager as rsemgr
48
58
 
49
59
  EXTRA_MODULES = import_extras(['argcomplete'])
@@ -1277,7 +1287,7 @@ def import_data(args):
1277
1287
  print('There was problem with decoding your file.')
1278
1288
  print(error)
1279
1289
  return FAILURE
1280
- except IOError as error:
1290
+ except OSError as error:
1281
1291
  print('There was a problem with reading your file.')
1282
1292
  print(error)
1283
1293
  return FAILURE
@@ -1309,7 +1319,7 @@ def export_data(args):
1309
1319
  print('File successfully written.')
1310
1320
  print('Data successfully exported to %s' % args.file_path)
1311
1321
  return SUCCESS
1312
- except IOError as error:
1322
+ except OSError as error:
1313
1323
  print('There was a problem with reading your file.')
1314
1324
  print(error)
1315
1325
  return FAILURE
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -18,8 +17,7 @@ from urllib.parse import quote_plus
18
17
 
19
18
  from requests.status_codes import codes
20
19
 
21
- from rucio.client.baseclient import BaseClient
22
- from rucio.client.baseclient import choice
20
+ from rucio.client.baseclient import BaseClient, choice
23
21
  from rucio.common.utils import build_url
24
22
 
25
23
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -18,8 +17,7 @@ from urllib.parse import quote_plus
18
17
 
19
18
  from requests.status_codes import codes
20
19
 
21
- from rucio.client.baseclient import BaseClient
22
- from rucio.client.baseclient import choice
20
+ from rucio.client.baseclient import BaseClient, choice
23
21
  from rucio.common.utils import build_url
24
22
 
25
23
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,24 +23,22 @@ import random
24
23
  import sys
25
24
  import time
26
25
  from configparser import NoOptionError, NoSectionError
27
- from os import environ, fdopen, path, makedirs, geteuid
26
+ from os import environ, fdopen, geteuid, makedirs, path
28
27
  from shutil import move
29
28
  from tempfile import mkstemp
30
29
  from urllib.parse import urlparse
31
30
 
32
31
  from dogpile.cache import make_region
33
- from requests import Session, Response
32
+ from requests import Response, Session
34
33
  from requests.exceptions import ConnectionError
35
34
  from requests.status_codes import codes
36
35
 
37
36
  from rucio import version
38
37
  from rucio.common import exception
39
38
  from rucio.common.config import config_get, config_get_bool, config_get_int
40
- from rucio.common.exception import (CannotAuthenticate, ClientProtocolNotSupported,
41
- NoAuthInformation, MissingClientParameter,
42
- MissingModuleException, ServerConnectionException)
39
+ from rucio.common.exception import CannotAuthenticate, ClientProtocolNotSupported, MissingClientParameter, MissingModuleException, NoAuthInformation, ServerConnectionException
43
40
  from rucio.common.extra import import_extras
44
- from rucio.common.utils import build_url, get_tmp_dir, my_key_generator, parse_response, ssh_sign, setup_logger
41
+ from rucio.common.utils import build_url, get_tmp_dir, my_key_generator, parse_response, setup_logger, ssh_sign
45
42
 
46
43
  EXTRA_MODULES = import_extras(['requests_kerberos'])
47
44
 
@@ -70,7 +67,7 @@ def choice(hosts):
70
67
  return random.choice(hosts)
71
68
 
72
69
 
73
- class BaseClient(object):
70
+ class BaseClient:
74
71
 
75
72
  """Main client class for accessing Rucio resources. Handles the authentication."""
76
73
 
@@ -415,7 +412,7 @@ class BaseClient(object):
415
412
  if retry > self.request_retries:
416
413
  raise
417
414
  continue
418
- except IOError as error:
415
+ except OSError as error:
419
416
  # Handle Broken Pipe
420
417
  # While in python3 we can directly catch 'BrokenPipeError', in python2 it doesn't exist.
421
418
  if getattr(error, 'errno') != errno.EPIPE:
@@ -862,7 +859,7 @@ class BaseClient(object):
862
859
  token_file_handler = open(self.token_file, 'r')
863
860
  self.auth_token = token_file_handler.readline()
864
861
  self.headers['X-Rucio-Auth-Token'] = self.auth_token
865
- except IOError as error:
862
+ except OSError as error:
866
863
  print("I/O error({0}): {1}".format(error.errno, error.strerror))
867
864
  except Exception:
868
865
  raise
@@ -893,7 +890,7 @@ class BaseClient(object):
893
890
  with fdopen(file_d, "w") as f_exp_epoch:
894
891
  f_exp_epoch.write(str(self.token_exp_epoch))
895
892
  move(file_n, self.token_exp_epoch_file)
896
- except IOError as error:
893
+ except OSError as error:
897
894
  print("I/O error({0}): {1}".format(error.errno, error.strerror))
898
895
  except Exception:
899
896
  raise
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,8 +16,7 @@ from json import dumps
17
16
 
18
17
  from requests.status_codes import codes
19
18
 
20
- from rucio.client.baseclient import BaseClient
21
- from rucio.client.baseclient import choice
19
+ from rucio.client.baseclient import BaseClient, choice
22
20
  from rucio.common.utils import build_url
23
21
 
24
22
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,8 +14,7 @@
15
14
 
16
15
  from requests.status_codes import codes
17
16
 
18
- from rucio.client.baseclient import BaseClient
19
- from rucio.client.baseclient import choice
17
+ from rucio.client.baseclient import BaseClient, choice
20
18
  from rucio.common.utils import build_url
21
19
 
22
20
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,14 +14,14 @@
15
14
 
16
15
  from datetime import datetime
17
16
  from json import dumps
17
+ from typing import Any, Optional
18
18
  from urllib.parse import quote_plus
19
19
 
20
20
  from requests.status_codes import codes
21
21
 
22
- from rucio.client.baseclient import BaseClient
23
- from rucio.client.baseclient import choice
22
+ from rucio.client.baseclient import BaseClient, choice
24
23
  from rucio.common.exception import DeprecationError
25
- from rucio.common.utils import build_url, render_json, render_json_list, date_to_str
24
+ from rucio.common.utils import build_url, date_to_str, render_json, render_json_list
26
25
 
27
26
 
28
27
  class DIDClient(BaseClient):
@@ -342,7 +341,7 @@ class DIDClient(BaseClient):
342
341
  exc_cls, exc_msg = self._get_exception(headers=r.headers, status_code=r.status_code, data=r.content)
343
342
  raise exc_cls(exc_msg)
344
343
 
345
- def list_files(self, scope, name, long=None):
344
+ def list_files(self, scope: str, name: str, long: Optional[bool] = None):
346
345
  """
347
346
  List data identifier file contents.
348
347
 
@@ -364,6 +363,24 @@ class DIDClient(BaseClient):
364
363
  exc_cls, exc_msg = self._get_exception(headers=r.headers, status_code=r.status_code, data=r.content)
365
364
  raise exc_cls(exc_msg)
366
365
 
366
+ def bulk_list_files(self, dids: list[dict[str, Any]]):
367
+ """
368
+ List data identifier file contents.
369
+
370
+ :param dids: The list of DIDs.
371
+ """
372
+
373
+ data = {'dids': dids}
374
+ path = '/'.join([self.DIDS_BASEURL, 'bulkfiles'])
375
+ url = build_url(choice(self.list_hosts), path=path)
376
+
377
+ r = self._send_request(url, type_='POST', data=dumps(data), stream=True)
378
+ if r.status_code == codes.ok:
379
+ return self._load_json_data(r)
380
+ else:
381
+ exc_cls, exc_msg = self._get_exception(headers=r.headers, status_code=r.status_code, data=r.content)
382
+ raise exc_cls(exc_msg)
383
+
367
384
  def get_did(self, scope, name, dynamic=False, dynamic_depth=None):
368
385
  """
369
386
  Retrieve a single data identifier.
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,8 +16,7 @@ from json import dumps
17
16
 
18
17
  from requests.status_codes import codes
19
18
 
20
- from rucio.client.baseclient import BaseClient
21
- from rucio.client.baseclient import choice
19
+ from rucio.client.baseclient import BaseClient, choice
22
20
  from rucio.common.utils import build_url
23
21
 
24
22
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,18 +22,16 @@ import shutil
23
22
  import signal
24
23
  import subprocess
25
24
  import time
26
- from queue import Queue, Empty, deque
25
+ from queue import Empty, Queue, deque
27
26
  from threading import Thread
28
27
 
29
28
  from rucio import version
30
29
  from rucio.client.client import Client
31
30
  from rucio.common.config import config_get
32
31
  from rucio.common.didtype import DID
33
- from rucio.common.exception import (InputValidationError, NoFilesDownloaded, NotAllFilesDownloaded, RucioException)
32
+ from rucio.common.exception import InputValidationError, NoFilesDownloaded, NotAllFilesDownloaded, RucioException
34
33
  from rucio.common.pcache import Pcache
35
- from rucio.common.utils import GLOBALLY_SUPPORTED_CHECKSUMS, CHECKSUM_ALGO_DICT, PREFERRED_CHECKSUM
36
- from rucio.common.utils import adler32, detect_client_location, generate_uuid, parse_replicas_from_string, \
37
- send_trace, sizefmt, execute, parse_replicas_from_file, extract_scope
34
+ from rucio.common.utils import CHECKSUM_ALGO_DICT, GLOBALLY_SUPPORTED_CHECKSUMS, PREFERRED_CHECKSUM, adler32, detect_client_location, execute, extract_scope, generate_uuid, parse_replicas_from_file, parse_replicas_from_string, send_trace, sizefmt
38
35
  from rucio.rse import rsemanager as rsemgr
39
36
 
40
37
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,8 +14,7 @@
15
14
 
16
15
  from requests.status_codes import codes
17
16
 
18
- from rucio.client.baseclient import BaseClient
19
- from rucio.client.baseclient import choice
17
+ from rucio.client.baseclient import BaseClient, choice
20
18
  from rucio.common.utils import build_url, parse_response
21
19
 
22
20
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -18,8 +17,7 @@ from urllib.parse import quote_plus
18
17
 
19
18
  from requests.status_codes import codes
20
19
 
21
- from rucio.client.baseclient import BaseClient
22
- from rucio.client.baseclient import choice
20
+ from rucio.client.baseclient import BaseClient, choice
23
21
  from rucio.common.utils import build_url
24
22
 
25
23
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,8 +14,7 @@
15
14
 
16
15
  from requests.status_codes import codes
17
16
 
18
- from rucio.client.baseclient import BaseClient
19
- from rucio.client.baseclient import choice
17
+ from rucio.client.baseclient import BaseClient, choice
20
18
  from rucio.common.utils import build_url, render_json
21
19
 
22
20
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,8 +16,7 @@ from json import loads
17
16
 
18
17
  from requests.status_codes import codes
19
18
 
20
- from rucio.client.baseclient import BaseClient
21
- from rucio.client.baseclient import choice
19
+ from rucio.client.baseclient import BaseClient, choice
22
20
  from rucio.common.utils import build_url, render_json
23
21
 
24
22
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,8 +16,7 @@ from urllib.parse import quote_plus
17
16
 
18
17
  from requests.status_codes import codes
19
18
 
20
- from rucio.client.baseclient import BaseClient
21
- from rucio.client.baseclient import choice
19
+ from rucio.client.baseclient import BaseClient, choice
22
20
  from rucio.common.utils import build_url, render_json
23
21
 
24
22
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -14,15 +13,16 @@
14
13
  # limitations under the License.
15
14
 
16
15
  from json import dumps, loads
16
+ from typing import TYPE_CHECKING, Optional, Union
17
17
  from urllib.parse import quote_plus
18
18
 
19
19
  from requests.status_codes import codes
20
20
 
21
- from rucio.client.baseclient import BaseClient
22
- from rucio.client.baseclient import choice
21
+ from rucio.client.baseclient import BaseClient, choice
23
22
  from rucio.common.utils import build_url
24
- from rucio.db.sqla.constants import KeyType
25
- from typing import Union, Optional
23
+
24
+ if TYPE_CHECKING:
25
+ from rucio.db.sqla.constants import KeyType
26
26
 
27
27
 
28
28
  class MetaConventionClient(BaseClient):
@@ -31,7 +31,7 @@ class MetaConventionClient(BaseClient):
31
31
 
32
32
  META_BASEURL = 'meta_conventions'
33
33
 
34
- def add_key(self, key: str, key_type: Union[KeyType, str], value_type: Optional[str] = None, value_regexp: Optional[str] = None) -> Optional[bool]:
34
+ def add_key(self, key: str, key_type: Union['KeyType', str], value_type: Optional[str] = None, value_regexp: Optional[str] = None) -> Optional[bool]:
35
35
  """
36
36
  Sends the request to add an allowed key for DID metadata (update the DID Metadata Conventions table with a new key).
37
37
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,9 +18,8 @@ from urllib.parse import quote_plus
19
18
 
20
19
  from requests.status_codes import codes
21
20
 
22
- from rucio.client.baseclient import BaseClient
23
- from rucio.client.baseclient import choice
24
- from rucio.common.utils import build_url, render_json, chunks
21
+ from rucio.client.baseclient import BaseClient, choice
22
+ from rucio.common.utils import build_url, chunks, render_json
25
23
 
26
24
 
27
25
  class ReplicaClient(BaseClient):
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,8 +16,7 @@ from urllib.parse import quote_plus
17
16
 
18
17
  from requests.status_codes import codes
19
18
 
20
- from rucio.client.baseclient import BaseClient
21
- from rucio.client.baseclient import choice
19
+ from rucio.client.baseclient import BaseClient, choice
22
20
  from rucio.common.utils import build_url
23
21
 
24
22
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -18,8 +17,7 @@ from urllib.parse import quote
18
17
 
19
18
  from requests.status_codes import codes
20
19
 
21
- from rucio.client.baseclient import BaseClient
22
- from rucio.client.baseclient import choice
20
+ from rucio.client.baseclient import BaseClient, choice
23
21
  from rucio.common.utils import build_url
24
22
 
25
23
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,8 +18,7 @@ from urllib.parse import quote_plus
19
18
 
20
19
  from requests.status_codes import codes
21
20
 
22
- from rucio.client.baseclient import BaseClient
23
- from rucio.client.baseclient import choice
21
+ from rucio.client.baseclient import BaseClient, choice
24
22
  from rucio.common.utils import build_url
25
23
 
26
24
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -18,8 +17,7 @@ from urllib.parse import quote_plus
18
17
 
19
18
  from requests.status_codes import codes
20
19
 
21
- from rucio.client.baseclient import BaseClient
22
- from rucio.client.baseclient import choice
20
+ from rucio.client.baseclient import BaseClient, choice
23
21
  from rucio.common.utils import build_url
24
22
 
25
23
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,8 +16,7 @@ from json import dumps
17
16
 
18
17
  from requests.status_codes import codes
19
18
 
20
- from rucio.client.baseclient import BaseClient
21
- from rucio.client.baseclient import choice
19
+ from rucio.client.baseclient import BaseClient, choice
22
20
  from rucio.common.utils import build_url
23
21
 
24
22
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  # Copyright European Organization for Nuclear Research (CERN) since 2012
3
2
  #
4
3
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,8 +16,7 @@ from json import dumps
17
16
 
18
17
  from requests import post
19
18
 
20
- from rucio.client.baseclient import BaseClient
21
- from rucio.client.baseclient import choice
19
+ from rucio.client.baseclient import BaseClient, choice
22
20
  from rucio.common.exception import RucioException, UnsupportedDIDType
23
21
 
24
22