rucio-clients 37.0.0rc4__tar.gz → 37.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 (202) hide show
  1. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/PKG-INFO +1 -1
  2. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/cli/account.py +14 -14
  3. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/cli/command.py +9 -9
  4. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/cli/config.py +3 -3
  5. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/cli/did.py +13 -13
  6. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/cli/lifetime_exception.py +1 -1
  7. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/cli/replica.py +3 -3
  8. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/cli/rse.py +18 -18
  9. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/cli/rule.py +5 -5
  10. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/cli/scope.py +2 -2
  11. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/cli/subscription.py +4 -4
  12. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/baseclient.py +0 -3
  13. rucio_clients-37.1.0/lib/rucio/client/lifetimeclient.py +123 -0
  14. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/config.py +0 -26
  15. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/utils.py +14 -17
  16. rucio_clients-37.1.0/lib/rucio/vcsversion.py +11 -0
  17. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/pyproject.toml +23 -7
  18. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_account_limits.py +28 -9
  19. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_cli_client_structure.py +5 -1
  20. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_clients.py +2 -1
  21. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_gateway_external_representation.py +2 -2
  22. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_module_import.py +3 -1
  23. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_oauthmanager.py +0 -2
  24. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_throttler.py +1 -0
  25. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_tpc.py +1 -1
  26. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_upload.py +1 -1
  27. rucio_clients-37.0.0rc4/lib/rucio/client/lifetimeclient.py +0 -90
  28. rucio_clients-37.0.0rc4/lib/rucio/vcsversion.py +0 -11
  29. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/AUTHORS.rst +0 -0
  30. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/ChangeLog +0 -0
  31. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/LICENSE +0 -0
  32. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/MANIFEST.in +0 -0
  33. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/README.md +0 -0
  34. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/bin/rucio +0 -0
  35. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/bin/rucio-admin +0 -0
  36. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/etc/rse-accounts.cfg.template +0 -0
  37. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/etc/rucio.cfg.atlas.client.template +0 -0
  38. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/etc/rucio.cfg.template +0 -0
  39. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/__init__.py +0 -0
  40. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/alembicrevision.py +0 -0
  41. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/cli/__init__.py +0 -0
  42. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/cli/bin_legacy/__init__.py +0 -0
  43. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/cli/bin_legacy/rucio.py +0 -0
  44. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/cli/bin_legacy/rucio_admin.py +0 -0
  45. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/cli/download.py +0 -0
  46. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/cli/upload.py +0 -0
  47. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/cli/utils.py +0 -0
  48. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/__init__.py +0 -0
  49. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/accountclient.py +0 -0
  50. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/accountlimitclient.py +0 -0
  51. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/client.py +0 -0
  52. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/configclient.py +0 -0
  53. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/credentialclient.py +0 -0
  54. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/didclient.py +0 -0
  55. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/diracclient.py +0 -0
  56. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/downloadclient.py +0 -0
  57. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/exportclient.py +0 -0
  58. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/fileclient.py +0 -0
  59. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/importclient.py +0 -0
  60. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/lockclient.py +0 -0
  61. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/metaconventionsclient.py +0 -0
  62. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/pingclient.py +0 -0
  63. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/replicaclient.py +0 -0
  64. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/requestclient.py +0 -0
  65. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/richclient.py +0 -0
  66. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/rseclient.py +0 -0
  67. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/ruleclient.py +0 -0
  68. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/scopeclient.py +0 -0
  69. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/subscriptionclient.py +0 -0
  70. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/touchclient.py +0 -0
  71. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/client/uploadclient.py +0 -0
  72. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/__init__.py +0 -0
  73. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/bittorrent.py +0 -0
  74. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/cache.py +0 -0
  75. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/checksum.py +0 -0
  76. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/client.py +0 -0
  77. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/constants.py +0 -0
  78. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/constraints.py +0 -0
  79. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/didtype.py +0 -0
  80. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/exception.py +0 -0
  81. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/extra.py +0 -0
  82. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/logging.py +0 -0
  83. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/pcache.py +0 -0
  84. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/plugins.py +0 -0
  85. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/policy.py +0 -0
  86. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/schema/__init__.py +0 -0
  87. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/schema/generic.py +0 -0
  88. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/schema/generic_multi_vo.py +0 -0
  89. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/stomp_utils.py +0 -0
  90. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/stopwatch.py +0 -0
  91. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/test_rucio_server.py +0 -0
  92. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/common/types.py +0 -0
  93. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/__init__.py +0 -0
  94. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/__init__.py +0 -0
  95. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/bittorrent.py +0 -0
  96. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/cache.py +0 -0
  97. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/dummy.py +0 -0
  98. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/gfal.py +0 -0
  99. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/globus.py +0 -0
  100. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/http_cache.py +0 -0
  101. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/mock.py +0 -0
  102. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/ngarc.py +0 -0
  103. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/posix.py +0 -0
  104. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/protocol.py +0 -0
  105. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/rclone.py +0 -0
  106. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/rfio.py +0 -0
  107. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/srm.py +0 -0
  108. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/ssh.py +0 -0
  109. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/storm.py +0 -0
  110. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/webdav.py +0 -0
  111. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/xrootd.py +0 -0
  112. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/rsemanager.py +0 -0
  113. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/rse/translation.py +0 -0
  114. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio/version.py +0 -0
  115. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/lib/rucio_clients.egg-info/SOURCES.txt +0 -0
  116. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/requirements/requirements.client.txt +0 -0
  117. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/setup.cfg +0 -0
  118. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/setup.py +0 -0
  119. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/setuputil.py +0 -0
  120. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_abacus_account.py +0 -0
  121. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_abacus_collection_replica.py +0 -0
  122. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_abacus_rse.py +0 -0
  123. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_account.py +0 -0
  124. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_archive.py +0 -0
  125. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_auditor.py +0 -0
  126. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_auditor_hdfs.py +0 -0
  127. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_auditor_srmdumps.py +0 -0
  128. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_authentication.py +0 -0
  129. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_automatix.py +0 -0
  130. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_bad_replica.py +0 -0
  131. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_bb8.py +0 -0
  132. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_belleii.py +0 -0
  133. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_bin_rucio.py +0 -0
  134. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_boolean.py +0 -0
  135. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_config.py +0 -0
  136. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_conveyor.py +0 -0
  137. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_conveyor_submitter.py +0 -0
  138. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_counter.py +0 -0
  139. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_credential.py +0 -0
  140. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_curl.py +0 -0
  141. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_daemons.py +0 -0
  142. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_dataset_replicas.py +0 -0
  143. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_db.py +0 -0
  144. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_did.py +0 -0
  145. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_did_meta_plugins.py +0 -0
  146. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_download.py +0 -0
  147. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_dumper.py +0 -0
  148. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_filter_engine.py +0 -0
  149. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_heartbeat.py +0 -0
  150. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_hermes.py +0 -0
  151. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_identity.py +0 -0
  152. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_impl_upload_download.py +0 -0
  153. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_import_export.py +0 -0
  154. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_judge_cleaner.py +0 -0
  155. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_judge_evaluator.py +0 -0
  156. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_judge_injector.py +0 -0
  157. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_judge_repairer.py +0 -0
  158. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_lifetime.py +0 -0
  159. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_message.py +0 -0
  160. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_meta_conventions.py +0 -0
  161. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_meta_did.py +0 -0
  162. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_monitor.py +0 -0
  163. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_multi_vo.py +0 -0
  164. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_naming_convention.py +0 -0
  165. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_oidc.py +0 -0
  166. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_permission.py +0 -0
  167. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_pfns.py +0 -0
  168. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_ping.py +0 -0
  169. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_policy_package.py +0 -0
  170. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_preparer.py +0 -0
  171. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_qos.py +0 -0
  172. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_quarantined_replica.py +0 -0
  173. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_reaper.py +0 -0
  174. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_redirect.py +0 -0
  175. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_replica.py +0 -0
  176. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_replica_recoverer.py +0 -0
  177. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_replica_sorting.py +0 -0
  178. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_request.py +0 -0
  179. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_root_proxy.py +0 -0
  180. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_rse.py +0 -0
  181. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_rse_expression_parser.py +0 -0
  182. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_rse_lfn2path.py +0 -0
  183. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_rse_protocol_gfal2.py +0 -0
  184. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_rse_protocol_gfal2_impl.py +0 -0
  185. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_rse_protocol_posix.py +0 -0
  186. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_rse_protocol_rclone.py +0 -0
  187. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_rse_protocol_rsync.py +0 -0
  188. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_rse_protocol_srm.py +0 -0
  189. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_rse_protocol_ssh.py +0 -0
  190. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_rse_protocol_webdav.py +0 -0
  191. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_rse_protocol_xrootd.py +0 -0
  192. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_rse_selector.py +0 -0
  193. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_rucio_server.py +0 -0
  194. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_rule.py +0 -0
  195. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_scope.py +0 -0
  196. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_subscription.py +0 -0
  197. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_trace.py +0 -0
  198. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_transfer.py +0 -0
  199. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_transfer_plugins.py +0 -0
  200. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_undertaker.py +0 -0
  201. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tests/test_utils.py +0 -0
  202. {rucio_clients-37.0.0rc4 → rucio_clients-37.1.0}/tools/merge_rucio_configs.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rucio-clients
3
- Version: 37.0.0rc4
3
+ Version: 37.1.0
4
4
  Summary: Rucio Client Lite Package
5
5
  Home-page: https://rucio.cern.ch/
6
6
  Author: Rucio
@@ -51,7 +51,7 @@ def add_(ctx, account_type, account_name, email):
51
51
  Example:
52
52
  $ rucio account add
53
53
  """
54
- args = Arguments({"account_type": account_type, "account": account_name, "email": email})
54
+ args = Arguments({"no_pager": ctx.obj.no_pager, "account_type": account_type, "account": account_name, "email": email})
55
55
  add_account(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
56
56
 
57
57
 
@@ -62,7 +62,7 @@ def add_(ctx, account_type, account_name, email):
62
62
  @click.pass_context
63
63
  def list_(ctx, type_, id, filter):
64
64
  """List all accounts that match given filters"""
65
- args = Arguments({"account_type": type_, "identity": id, "filters": filter})
65
+ args = Arguments({"no_pager": ctx.obj.no_pager, "account_type": type_, "identity": id, "filters": filter})
66
66
  list_accounts(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
67
67
 
68
68
 
@@ -73,7 +73,7 @@ def show(ctx, account_name):
73
73
  """
74
74
  Show info about a single account
75
75
  """
76
- info_account(Arguments({"account": account_name}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
76
+ info_account(Arguments({"no_pager": ctx.obj.no_pager, "account": account_name}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
77
77
 
78
78
 
79
79
  @account.command("remove")
@@ -84,7 +84,7 @@ def remove(ctx, account_name):
84
84
  Remove an account
85
85
  (WARNING: Permanently disables the account. If you want to temporarily disable, use `account update [account-name] --ban`)
86
86
  """
87
- delete_account(Arguments({"account": account_name}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
87
+ delete_account(Arguments({"no_pager": ctx.obj.no_pager, "account": account_name}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
88
88
 
89
89
 
90
90
  @account.command("update")
@@ -94,7 +94,7 @@ def remove(ctx, account_name):
94
94
  @click.pass_context
95
95
  def update(ctx, ban, account_name, email):
96
96
  """Update account settings"""
97
- args = Arguments({"account": account_name, "key": "email", "value": email})
97
+ args = Arguments({"no_pager": ctx.obj.no_pager, "account": account_name, "key": "email", "value": email})
98
98
  if ban is not None:
99
99
  if ban:
100
100
  ban_account(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
@@ -114,7 +114,7 @@ def attribute():
114
114
  @click.pass_context
115
115
  def attribute_list(ctx, account_name):
116
116
  "List the attributes for a given account"
117
- list_account_attributes(Arguments({"account": account_name}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
117
+ list_account_attributes(Arguments({"no_pager": ctx.obj.no_pager, "account": account_name}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
118
118
 
119
119
 
120
120
  @attribute.command("add")
@@ -124,7 +124,7 @@ def attribute_list(ctx, account_name):
124
124
  @click.pass_context
125
125
  def attribute_add(ctx, account_name, key, value):
126
126
  """Add a new attribute [key] to an account"""
127
- add_account_attribute(Arguments({"account": account_name, "key": key, "value": value}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
127
+ add_account_attribute(Arguments({"no_pager": ctx.obj.no_pager, "account": account_name, "key": key, "value": value}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
128
128
 
129
129
 
130
130
  @attribute.command("remove")
@@ -133,7 +133,7 @@ def attribute_add(ctx, account_name, key, value):
133
133
  @click.pass_context
134
134
  def attribute_remove(ctx, account_name, key):
135
135
  """Remove an attribute from an account without reassigning it"""
136
- delete_account_attribute(Arguments({"account": account_name, "key": key}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
136
+ delete_account_attribute(Arguments({"no_pager": ctx.obj.no_pager, "account": account_name, "key": key}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
137
137
 
138
138
 
139
139
  @account.group("limit")
@@ -147,7 +147,7 @@ def limit():
147
147
  @click.pass_context
148
148
  def limit_list(ctx, account_name, rse):
149
149
  """List the limits and current usage for an account"""
150
- args = Arguments({"usage_account": account_name, "rse": rse})
150
+ args = Arguments({"no_pager": ctx.obj.no_pager, "usage_account": account_name, "rse": rse})
151
151
  list_account_usage(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
152
152
 
153
153
 
@@ -161,7 +161,7 @@ def limit_list(ctx, account_name, rse):
161
161
  @click.pass_context
162
162
  def limit_add(ctx, account_name, rse, bytes_, locality):
163
163
  """Add a new limit for an account on an RSE. An account can have both local and global limits on the same RSE."""
164
- args = Arguments({"account": account_name, "rse": rse, "bytes": bytes_, "locality": locality})
164
+ args = Arguments({"no_pager": ctx.obj.no_pager, "account": account_name, "rse": rse, "bytes": bytes_, "locality": locality})
165
165
  set_limits(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
166
166
 
167
167
 
@@ -174,7 +174,7 @@ def limit_add(ctx, account_name, rse, bytes_, locality):
174
174
  @click.pass_context
175
175
  def limit_remove(ctx, account_name, rse, locality):
176
176
  """Remove existing limits for an account on an RSE"""
177
- args = Arguments({"account": account_name, "rse": rse, "locality": locality})
177
+ args = Arguments({"no_pager": ctx.obj.no_pager, "account": account_name, "rse": rse, "locality": locality})
178
178
  delete_limits(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
179
179
 
180
180
 
@@ -188,7 +188,7 @@ def identity():
188
188
  @click.pass_context
189
189
  def identity_list(ctx, account_name):
190
190
  """See all the IDs for [account-name]"""
191
- args = Arguments({"account": account_name})
191
+ args = Arguments({"no_pager": ctx.obj.no_pager, "account": account_name})
192
192
  list_identities(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
193
193
 
194
194
 
@@ -201,7 +201,7 @@ def identity_list(ctx, account_name):
201
201
  @click.pass_context
202
202
  def identity_add(ctx, account_name, type_, id, email, password):
203
203
  """Add a new identity for [account-name]"""
204
- args = Arguments({"account": account_name, "authtype": type_, "identity": id, "email": email, "password": password})
204
+ args = Arguments({"no_pager": ctx.obj.no_pager, "account": account_name, "authtype": type_, "identity": id, "email": email, "password": password})
205
205
  legacy_identity_add(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
206
206
 
207
207
 
@@ -212,5 +212,5 @@ def identity_add(ctx, account_name, type_, id, email, password):
212
212
  @click.pass_context
213
213
  def identity_remove(ctx, account_name, type_, id):
214
214
  """Revoke a given ID's access from an account"""
215
- args = Arguments({"account": account_name, "authtype": type_, "id": id})
215
+ args = Arguments({"no_pager": ctx.obj.no_pager, "account": account_name, "authtype": type_, "id": id})
216
216
  identity_delete(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
@@ -144,7 +144,7 @@ class LazyGroup(click.Group):
144
144
  @click.option("-v", "--verbose", default=False, is_flag=True, help="Print more verbose output")
145
145
  @click.version_option(version.version_string(), message="%(prog)s %(version)s")
146
146
  # Hidden options at the end
147
- @click.option("--pager", is_flag=True, default=False, hidden=True)
147
+ @click.option("--no-pager", is_flag=True, default=False, hidden=True)
148
148
  @exception_handler
149
149
  @click.pass_context
150
150
  def main(
@@ -158,7 +158,7 @@ def main(
158
158
  timeout,
159
159
  user_agent,
160
160
  vo,
161
- pager,
161
+ no_pager,
162
162
  user,
163
163
  password,
164
164
  oidc_user,
@@ -175,9 +175,8 @@ def main(
175
175
  ):
176
176
  ctx.ensure_object(Arguments)
177
177
  ctx.obj.start_time = time.time()
178
+ ctx.obj.verbose = verbose
178
179
 
179
- ctx.obj.no_pager = not pager
180
- pager = get_pager()
181
180
  use_rich = get_cli_config() == "rich"
182
181
 
183
182
  console = Console(theme=Theme(CLITheme.LOG_THEMES), soft_wrap=True)
@@ -187,7 +186,8 @@ def main(
187
186
  ctx.obj.use_rich = use_rich
188
187
  ctx.obj.spinner = spinner
189
188
  ctx.obj.console = console
190
- ctx.obj.pager = pager
189
+ ctx.obj.no_pager = no_pager
190
+ ctx.obj.pager = get_pager()
191
191
 
192
192
  if use_rich:
193
193
  install(console=console, word_wrap=True, width=min(console.width, MAX_TRACEBACK_WIDTH)) # Make rich exception tracebacks the default.
@@ -198,7 +198,7 @@ def main(
198
198
  {
199
199
  "config": config,
200
200
  "host": host,
201
- "isser": issuer,
201
+ "issuer": issuer,
202
202
  "auth_host": auth_host,
203
203
  "auth_strategy": auth_strategy,
204
204
  "timeout": timeout,
@@ -254,19 +254,19 @@ def _teardown(ctx):
254
254
  @main.command(name="whoami", help="Get information about account whose token is used")
255
255
  @click.pass_context
256
256
  def exe_whoami(ctx):
257
- args = Arguments()
257
+ args = Arguments({"no_pager": ctx.obj.no_pager})
258
258
  whoami_account(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
259
259
 
260
260
 
261
261
  @main.command(name="ping", help="Ping Rucio server")
262
262
  @click.pass_context
263
263
  def exe_ping(ctx):
264
- args = Arguments()
264
+ args = Arguments({"no_pager": ctx.obj.no_pager})
265
265
  ping(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
266
266
 
267
267
 
268
268
  @main.command(name="test-server", help="Test client against the server")
269
269
  @click.pass_context
270
270
  def exe_test_server(ctx):
271
- args = Arguments()
271
+ args = Arguments({"no_pager": ctx.obj.no_pager})
272
272
  test_server(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
@@ -29,7 +29,7 @@ def config():
29
29
  @click.pass_context
30
30
  def list_(ctx, section, key):
31
31
  """List the sections or content of sections in the rucio.cfg"""
32
- get_config(Arguments({"section": section, "key": key}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
32
+ get_config(Arguments({"no_pager": ctx.obj.no_pager, "section": section, "key": key}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
33
33
 
34
34
 
35
35
  # TODO Change to only add new fields and cannot modify an existing field
@@ -46,7 +46,7 @@ def add_(ctx, section, key, value):
46
46
  Example, Add a key to an existing section:
47
47
  $ rucio config add --section my-section --key key --value value
48
48
  """
49
- args = Arguments({"section": section, "option": key, "value": value})
49
+ args = Arguments({"no_pager": ctx.obj.no_pager, "section": section, "option": key, "value": value})
50
50
  set_config_option(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
51
51
 
52
52
 
@@ -56,7 +56,7 @@ def add_(ctx, section, key, value):
56
56
  @click.pass_context
57
57
  def remove(ctx, section, key):
58
58
  """Remove the section.key from the config."""
59
- args = Arguments({"section": section, "option": key})
59
+ args = Arguments({"no_pager": ctx.obj.no_pager, "section": section, "option": key})
60
60
  delete_config_option(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
61
61
 
62
62
 
@@ -49,9 +49,9 @@ def list_(ctx, did_pattern, recursive, filter_, short, parent, pfn, guid):
49
49
  """
50
50
  if parent:
51
51
  for did in did_pattern:
52
- list_parent_dids(Arguments({"did": did}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
52
+ list_parent_dids(Arguments({"no_pager": ctx.obj.no_pager, "did": did}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
53
53
  else:
54
- args = Arguments({"did": did_pattern, "recursive": recursive, "filter": filter_, "short": short})
54
+ args = Arguments({"no_pager": ctx.obj.no_pager, "did": did_pattern, "recursive": recursive, "filter": filter_, "short": short})
55
55
  list_dids(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
56
56
 
57
57
 
@@ -60,7 +60,7 @@ def list_(ctx, did_pattern, recursive, filter_, short, parent, pfn, guid):
60
60
  @click.pass_context
61
61
  def show(ctx, dids):
62
62
  """List attributes, statuses, or parents for data identifiers"""
63
- stat(Arguments({"dids": dids}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
63
+ stat(Arguments({"no_pager": ctx.obj.no_pager, "dids": dids}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
64
64
 
65
65
 
66
66
  @did.command("add")
@@ -71,7 +71,7 @@ def show(ctx, dids):
71
71
  @click.pass_context
72
72
  def add_(ctx, did_name, dtype, monotonic, lifetime):
73
73
  """Create a new collection-type DID"""
74
- args = Arguments({"did": did_name, "monotonic": monotonic, "lifetime": lifetime})
74
+ args = Arguments({"no_pager": ctx.obj.no_pager, "did": did_name, "monotonic": monotonic, "lifetime": lifetime})
75
75
  if dtype == "container":
76
76
  add_container(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
77
77
  else:
@@ -87,7 +87,7 @@ def add_(ctx, did_name, dtype, monotonic, lifetime):
87
87
  @click.pass_context
88
88
  def update(ctx, dids, rse, operation):
89
89
  """Touch one or more DIDs and set the last accessed date to the current date, or mark them as open or closed."""
90
- args = Arguments({"dids": dids, "rse": rse})
90
+ args = Arguments({"no_pager": ctx.obj.no_pager, "dids": dids, "rse": rse})
91
91
  if operation == "touch":
92
92
  touch(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
93
93
  elif operation == "open":
@@ -108,7 +108,7 @@ def remove(ctx, dids, undo):
108
108
  Expired DIDs are force-deleted (and their replicas purged).
109
109
  The deletion is not reversible after 24 hours grace time period expired
110
110
  """
111
- erase(Arguments({"dids": dids, "undo": undo}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
111
+ erase(Arguments({"no_pager": ctx.obj.no_pager, "dids": dids, "undo": undo}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
112
112
 
113
113
 
114
114
  @did.group()
@@ -121,7 +121,7 @@ def content():
121
121
  @click.pass_context
122
122
  def content_history(ctx, dids):
123
123
  """List the content history of a collection-type DID"""
124
- list_content_history(Arguments({"dids": dids}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
124
+ list_content_history(Arguments({"no_pager": ctx.obj.no_pager, "dids": dids}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
125
125
 
126
126
 
127
127
  @content.command("add")
@@ -131,7 +131,7 @@ def content_history(ctx, dids):
131
131
  @click.pass_context
132
132
  def content_add_(ctx, to_did, from_file, dids):
133
133
  """Attach a list [dids] of Data IDentifiers (file or collection-type) to an other Data IDentifier (collection-type)"""
134
- args = Arguments({"dids": dids, "todid": to_did, "fromfile": from_file})
134
+ args = Arguments({"no_pager": ctx.obj.no_pager, "dids": dids, "todid": to_did, "fromfile": from_file})
135
135
  attach(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
136
136
 
137
137
 
@@ -141,7 +141,7 @@ def content_add_(ctx, to_did, from_file, dids):
141
141
  @click.pass_context
142
142
  def content_remove(ctx, dids, from_did):
143
143
  """Detach [dids], a list of DIDs (file or collection-type) from an other Data Identifier (collection type)"""
144
- args = Arguments({"dids": dids, "fromdid": from_did})
144
+ args = Arguments({"no_pager": ctx.obj.no_pager, "dids": dids, "fromdid": from_did})
145
145
  detach(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
146
146
 
147
147
 
@@ -151,7 +151,7 @@ def content_remove(ctx, dids, from_did):
151
151
  @click.pass_context
152
152
  def content_list_(ctx, dids, short):
153
153
  """List the content of a collection-type DID"""
154
- args = Arguments({"dids": dids, "short": short})
154
+ args = Arguments({"no_pager": ctx.obj.no_pager, "dids": dids, "short": short})
155
155
  list_content(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
156
156
 
157
157
 
@@ -167,7 +167,7 @@ def metadata():
167
167
  @click.pass_context
168
168
  def metadata_add_(ctx, did, key, value):
169
169
  """Add metadata to a DID"""
170
- args = Arguments({"did": did, "key": key, "value": value})
170
+ args = Arguments({"no_pager": ctx.obj.no_pager, "did": did, "key": key, "value": value})
171
171
  set_metadata(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
172
172
 
173
173
 
@@ -177,7 +177,7 @@ def metadata_add_(ctx, did, key, value):
177
177
  @click.pass_context
178
178
  def metadata_remove(ctx, did, key):
179
179
  """Remove metadata from a DID"""
180
- args = Arguments({"did": did, "key": key})
180
+ args = Arguments({"no_pager": ctx.obj.no_pager, "did": did, "key": key})
181
181
  delete_metadata(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
182
182
 
183
183
 
@@ -187,5 +187,5 @@ def metadata_remove(ctx, did, key):
187
187
  @click.pass_context
188
188
  def metadata_list_(ctx, dids, plugin):
189
189
  """List metadata for a list of DIDs"""
190
- args = Arguments({"dids": dids, "plugin": plugin})
190
+ args = Arguments({"no_pager": ctx.obj.no_pager, "dids": dids, "plugin": plugin})
191
191
  get_metadata(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
@@ -29,5 +29,5 @@ def lifetime_exception():
29
29
  @click.pass_context
30
30
  def add_(ctx, input_file, reason, expiration):
31
31
  """Add an exception to the lifetime model""" # TODO description of what this does
32
- args = Arguments({"inputfile": input_file, "reason": reason, "expiration": expiration})
32
+ args = Arguments({"no_pager": ctx.obj.no_pager, "inputfile": input_file, "reason": reason, "expiration": expiration})
33
33
  add_lifetime_exception(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
@@ -65,7 +65,7 @@ def list_(ctx, dids, protocols, all_states, pfns, domain, link, missing, metalin
65
65
  @click.pass_context
66
66
  def list_dataset(ctx, dids, deep, csv):
67
67
  """List dataset replicas"""
68
- args = Arguments({"dids": dids, "deep": deep, "csv": csv})
68
+ args = Arguments({"no_pager": ctx.obj.no_pager, "dids": dids, "deep": deep, "csv": csv})
69
69
  list_dataset_replicas(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
70
70
 
71
71
 
@@ -77,7 +77,7 @@ def remove(ctx, dids, rse):
77
77
  "Set a replica for removal by adding a tombstone which will mark the replica as ready for deletion by a reaper daemon"
78
78
  # TODO: Fix set_tombstone to not expect a comma separated DID str
79
79
  dids = ",".join(dids)
80
- set_tombstone(Arguments({"dids": dids, "rse": rse}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
80
+ set_tombstone(Arguments({"no_pager": ctx.obj.no_pager, "dids": dids, "rse": rse}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
81
81
 
82
82
 
83
83
  @replica.group()
@@ -97,7 +97,7 @@ def state_list(ctx, state_type, rses, younger_than, n_attempts):
97
97
 
98
98
  if state_type != "suspicious":
99
99
  raise ValueError(f"Cannot list state by {state_type}, please choose from ('suspicious')")
100
- list_suspicious_replicas(Arguments({"rse_expression": rses, "younger_than": younger_than, "nattempts": n_attempts}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
100
+ list_suspicious_replicas(Arguments({"no_pager": ctx.obj.no_pager, "rse_expression": rses, "younger_than": younger_than, "nattempts": n_attempts}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
101
101
 
102
102
 
103
103
  @state.group("update")
@@ -50,7 +50,7 @@ def rse():
50
50
  @click.pass_context
51
51
  def list_(ctx, rses, csv):
52
52
  """List all registered Rucio Storage Elements (RSEs)"""
53
- list_rses(Arguments({"rses": rses, "csv": csv}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
53
+ list_rses(Arguments({"no_pager": ctx.obj.no_pager, "rses": rses, "csv": csv}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
54
54
 
55
55
 
56
56
  @rse.command("show")
@@ -59,7 +59,7 @@ def list_(ctx, rses, csv):
59
59
  @click.pass_context
60
60
  def show(ctx, rse_name, csv):
61
61
  """Usage, protocols, settings, and attributes for a given RSE"""
62
- info_rse(Arguments({"rse": rse_name, "csv": csv}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
62
+ info_rse(Arguments({"no_pager": ctx.obj.no_pager, "rse": rse_name, "csv": csv}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
63
63
 
64
64
 
65
65
  @rse.command("add")
@@ -68,7 +68,7 @@ def show(ctx, rse_name, csv):
68
68
  @click.pass_context
69
69
  def add_(ctx, rse_name, non_deterministic):
70
70
  """Add a new RSE"""
71
- args = Arguments({"rse": rse_name, "non_deterministic": non_deterministic})
71
+ args = Arguments({"no_pager": ctx.obj.no_pager, "rse": rse_name, "non_deterministic": non_deterministic})
72
72
  add_rse(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
73
73
 
74
74
 
@@ -77,7 +77,7 @@ def add_(ctx, rse_name, non_deterministic):
77
77
  @click.pass_context
78
78
  def remove(ctx, rse_name):
79
79
  """Permanently disable an RSE. CAUTION: all information about the RSE might be lost!"""
80
- disable_rse(Arguments({"rse": rse_name}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
80
+ disable_rse(Arguments({"no_pager": ctx.obj.no_pager, "rse": rse_name}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
81
81
 
82
82
 
83
83
  @rse.command("update")
@@ -93,7 +93,7 @@ def update(ctx, rse_name, key, value):
93
93
  Example:
94
94
  $ rucio rse update my-rse --option availability_write True
95
95
  """
96
- args = Arguments({"rse": rse_name, "param": key, "value": value})
96
+ args = Arguments({"no_pager": ctx.obj.no_pager, "rse": rse_name, "param": key, "value": value})
97
97
  update_rse(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
98
98
 
99
99
 
@@ -109,7 +109,7 @@ def distance():
109
109
  @click.pass_context
110
110
  def distance_show(ctx, source_rse, destination_rse):
111
111
  """Display distance information from SOURCE-RSE to DESTINATION-RSE"""
112
- get_distance_rses(Arguments({"source": source_rse, "destination": destination_rse}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
112
+ get_distance_rses(Arguments({"no_pager": ctx.obj.no_pager, "source": source_rse, "destination": destination_rse}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
113
113
 
114
114
 
115
115
  @distance.command("add")
@@ -119,7 +119,7 @@ def distance_show(ctx, source_rse, destination_rse):
119
119
  @click.pass_context
120
120
  def distance_add(ctx, source_rse, destination_rse, distance):
121
121
  """Create a new link from SOURCE-RSE to DESTINATION-RSE with a distance"""
122
- args = Arguments({"source": source_rse, "destination": destination_rse, "distance": distance})
122
+ args = Arguments({"no_pager": ctx.obj.no_pager, "source": source_rse, "destination": destination_rse, "distance": distance})
123
123
  add_distance_rses(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
124
124
 
125
125
 
@@ -129,7 +129,7 @@ def distance_add(ctx, source_rse, destination_rse, distance):
129
129
  @click.pass_context
130
130
  def distance_remove(ctx, source_rse, destination_rse):
131
131
  """Un-link SOURCE-RSE from DESTINATION-RSE by removing the distance between them"""
132
- args = Arguments({"source": source_rse, "destination": destination_rse})
132
+ args = Arguments({"no_pager": ctx.obj.no_pager, "source": source_rse, "destination": destination_rse})
133
133
  delete_distance_rses(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
134
134
 
135
135
 
@@ -140,7 +140,7 @@ def distance_remove(ctx, source_rse, destination_rse):
140
140
  @click.pass_context
141
141
  def distance_update(ctx, source_rse, destination_rse, distance):
142
142
  """Update the existing distance or ranking from SOURCE-RSE to DESTINATION-RSE"""
143
- args = Arguments({"source": source_rse, "destination": destination_rse, "distance": distance})
143
+ args = Arguments({"no_pager": ctx.obj.no_pager, "source": source_rse, "destination": destination_rse, "distance": distance})
144
144
  update_distance_rses(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
145
145
 
146
146
 
@@ -154,7 +154,7 @@ def attribute():
154
154
  @click.pass_context
155
155
  def attr_list_(ctx, rse_name):
156
156
  """List all attributes of a given RSE"""
157
- get_attribute_rse(Arguments({"rse": rse_name}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
157
+ get_attribute_rse(Arguments({"no_pager": ctx.obj.no_pager, "rse": rse_name}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
158
158
 
159
159
 
160
160
  @attribute.command("add")
@@ -169,7 +169,7 @@ def attribute_add_(ctx, rse_name, key, value):
169
169
  Example:
170
170
  $ rucio rse attribute add my-rse --key My-Attribute --value True
171
171
  """
172
- args = Arguments({"rse": rse_name, "key": key, "value": value})
172
+ args = Arguments({"no_pager": ctx.obj.no_pager, "rse": rse_name, "key": key, "value": value})
173
173
  set_attribute_rse(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
174
174
 
175
175
 
@@ -181,7 +181,7 @@ def attribute_add_(ctx, rse_name, key, value):
181
181
  @click.pass_context
182
182
  def attribute_remove(ctx, rse_name, attribute):
183
183
  """Remove an existing attribute from an RSE"""
184
- args = Arguments({"rse": rse_name, "key": attribute, "value": None})
184
+ args = Arguments({"no_pager": ctx.obj.no_pager, "rse": rse_name, "key": attribute, "value": None})
185
185
  delete_attribute_rse(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
186
186
 
187
187
 
@@ -201,7 +201,7 @@ def limit_add(ctx, rse_name, limit):
201
201
  Example, add a limit of 1KB to XRD1 named "MinFreeSpace":
202
202
  $ rucio rse limit add XRD1 --limit MinFreeSpace 10000
203
203
  """
204
- args = Arguments({"rse": rse_name, "name": limit[0], "value": limit[1]})
204
+ args = Arguments({"no_pager": ctx.obj.no_pager, "rse": rse_name, "name": limit[0], "value": limit[1]})
205
205
  set_limit_rse(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
206
206
 
207
207
 
@@ -211,7 +211,7 @@ def limit_add(ctx, rse_name, limit):
211
211
  @click.pass_context
212
212
  def limit_remove(ctx, rse_name, limit):
213
213
  """Remove an existing RSE limit"""
214
- args = Arguments({"rse": rse_name, "name": limit})
214
+ args = Arguments({"no_pager": ctx.obj.no_pager, "rse": rse_name, "name": limit})
215
215
  delete_limit_rse(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
216
216
 
217
217
 
@@ -257,7 +257,7 @@ def protocol_add(ctx, rse_name, host, scheme, prefix, space_token, web_service_p
257
257
  @click.pass_context
258
258
  def protocol_remove(ctx, rse_name, host_name, scheme, port):
259
259
  """Remove an existing protocol from an RSE"""
260
- args = Arguments({"rse": rse_name, "scheme": scheme, "hostname": host_name, "port": port})
260
+ args = Arguments({"no_pager": ctx.obj.no_pager, "rse": rse_name, "scheme": scheme, "hostname": host_name, "port": port})
261
261
  del_protocol_rse(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
262
262
 
263
263
 
@@ -273,7 +273,7 @@ def qos():
273
273
  @click.pass_context
274
274
  def qos_add(ctx, rse_name, policy):
275
275
  "Add a new QoS policy"
276
- add_qos_policy(Arguments({"rse": rse_name, "qos_policy": policy}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
276
+ add_qos_policy(Arguments({"no_pager": ctx.obj.no_pager, "rse": rse_name, "qos_policy": policy}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
277
277
 
278
278
 
279
279
  @qos.command("remove")
@@ -282,7 +282,7 @@ def qos_add(ctx, rse_name, policy):
282
282
  @click.pass_context
283
283
  def qos_remove(ctx, rse_name, policy):
284
284
  "Remove an existing QoS policy"
285
- delete_qos_policy(Arguments({"rse": rse_name, "qos_policy": policy}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
285
+ delete_qos_policy(Arguments({"no_pager": ctx.obj.no_pager, "rse": rse_name, "qos_policy": policy}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
286
286
 
287
287
 
288
288
  @qos.command("list")
@@ -290,4 +290,4 @@ def qos_remove(ctx, rse_name, policy):
290
290
  @click.pass_context
291
291
  def qos_list(ctx, rse_name):
292
292
  "List the RSE's QoS policies"
293
- list_qos_policies(Arguments({"rse": rse_name}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
293
+ list_qos_policies(Arguments({"no_pager": ctx.obj.no_pager, "rse": rse_name}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
@@ -74,7 +74,7 @@ def add_(ctx, dids, copies, rses, weight, asynchronous, lifetime, grouping, lock
74
74
  @click.pass_context
75
75
  def remove(ctx, rule_id_dids, _all, rses, account, purge_replicas):
76
76
  """Remove an existing rule. Supply [rule-id] if know, or use [DID] and --rses to remove all rules for DIDs on RSEs matching the expression"""
77
- args = Arguments({"purge_replicas": purge_replicas, "delete_all": _all, "rule_account": account, "rule_id": rule_id_dids, "rses": rses})
77
+ args = Arguments({"no_pager": ctx.obj.no_pager, "purge_replicas": purge_replicas, "delete_all": _all, "rule_account": account, "rule_id": rule_id_dids, "rses": rses})
78
78
  delete_rule(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
79
79
 
80
80
 
@@ -84,7 +84,7 @@ def remove(ctx, rule_id_dids, _all, rses, account, purge_replicas):
84
84
  @click.pass_context
85
85
  def show(ctx, rule_id, examine):
86
86
  """Retrieve information about a rule"""
87
- info_rule(Arguments({"rule_id": rule_id, "examine": examine}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
87
+ info_rule(Arguments({"no_pager": ctx.obj.no_pager, "rule_id": rule_id, "examine": examine}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
88
88
 
89
89
 
90
90
  @rule.command("history")
@@ -92,7 +92,7 @@ def show(ctx, rule_id, examine):
92
92
  @click.pass_context
93
93
  def history(ctx, did):
94
94
  """Display the history of rules acting on a DID"""
95
- list_rules_history(Arguments({"did": did}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
95
+ list_rules_history(Arguments({"no_pager": ctx.obj.no_pager, "did": did}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
96
96
 
97
97
 
98
98
  @rule.command("move")
@@ -103,7 +103,7 @@ def history(ctx, did):
103
103
  @click.pass_context
104
104
  def move(ctx, rule_id, rses, activity, source_rses):
105
105
  """Create a child rule on a different RSE. The parent rule is deleted once the new rule reaches `OK` status"""
106
- args = Arguments({"rule_id": rule_id, "rse_expression": rses, "source_replica_expression": source_rses, "activity": activity})
106
+ args = Arguments({"no_pager": ctx.obj.no_pager, "rule_id": rule_id, "rse_expression": rses, "source_replica_expression": source_rses, "activity": activity})
107
107
  move_rule(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
108
108
 
109
109
 
@@ -154,5 +154,5 @@ def update(ctx, rule_id, lifetime, locked, source_rses, activity, comment, accou
154
154
  @click.pass_context
155
155
  def list_(ctx, did, rule_id, traverse, csv, file, account, subscription):
156
156
  """List all rules impacting a given DID"""
157
- args = Arguments({"did": did, "rule_id": rule_id, "traverse": traverse, "csv": csv, "file": file, "subscription": (account if account is not None else ctx.obj.client.account, subscription)})
157
+ args = Arguments({"no_pager": ctx.obj.no_pager, "did": did, "rule_id": rule_id, "traverse": traverse, "csv": csv, "file": file, "subscription": (account if account is not None else ctx.obj.client.account, subscription)})
158
158
  list_rules(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
@@ -28,7 +28,7 @@ def scope():
28
28
  @click.pass_context
29
29
  def add_(ctx, account, scope_name):
30
30
  """Add a new scope with name [SCOPE-NAME]"""
31
- args = Arguments({"scope": scope_name, "account": account})
31
+ args = Arguments({"no_pager": ctx.obj.no_pager, "scope": scope_name, "account": account})
32
32
  add_scope(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
33
33
 
34
34
 
@@ -37,4 +37,4 @@ def add_(ctx, account, scope_name):
37
37
  @click.pass_context
38
38
  def list_(ctx, account):
39
39
  """List existing scopes"""
40
- list_scopes(Arguments({"account": account}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
40
+ list_scopes(Arguments({"no_pager": ctx.obj.no_pager, "account": account}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
@@ -29,7 +29,7 @@ def subscription():
29
29
  @click.pass_context
30
30
  def list_(ctx, subscription_name, account, long):
31
31
  """Show the attributes of a subscription [SUBSCRIPTION-NAME]"""
32
- args = Arguments({"subs_account": account, "name": subscription_name, "long": long})
32
+ args = Arguments({"no_pager": ctx.obj.no_pager, "subs_account": account, "name": subscription_name, "long": long})
33
33
  list_subscriptions(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
34
34
 
35
35
 
@@ -44,7 +44,7 @@ def list_(ctx, subscription_name, account, long):
44
44
  @click.pass_context
45
45
  def update(ctx, subscription_name, did_filter, rule, comment, lifetime, account, priority):
46
46
  """Update a subscription [SUBSCRIPTION-NAME] to have new properties"""
47
- args = Arguments({"name": subscription_name, "filter": did_filter, "replication_rules": rule, "comments": comment, "lifetime": lifetime, "subs_account": account, "priority": priority})
47
+ args = Arguments({"no_pager": ctx.obj.no_pager, "name": subscription_name, "filter": did_filter, "replication_rules": rule, "comments": comment, "lifetime": lifetime, "subs_account": account, "priority": priority})
48
48
  update_subscription(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
49
49
 
50
50
 
@@ -59,7 +59,7 @@ def update(ctx, subscription_name, did_filter, rule, comment, lifetime, account,
59
59
  @click.pass_context
60
60
  def add_(ctx, subscription_name, did_filter, rule, comment, lifetime, account, priority):
61
61
  """Create a new subscription with the name [SUBSCRIPTION-NAME]"""
62
- args = Arguments({"name": subscription_name, "filter": did_filter, "replication_rules": rule, "comments": comment, "lifetime": lifetime, "subs_account": account, "priority": priority})
62
+ args = Arguments({"no_pager": ctx.obj.no_pager, "name": subscription_name, "filter": did_filter, "replication_rules": rule, "comments": comment, "lifetime": lifetime, "subs_account": account, "priority": priority})
63
63
  add_subscription(args, ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
64
64
 
65
65
 
@@ -70,4 +70,4 @@ def touch(ctx, dids):
70
70
  """Reevaluate list of DIDs against all active subscriptions"""
71
71
  # TODO make reeval accept dids as a list
72
72
  dids = ",".join(dids)
73
- reevaluate_did_for_subscription(Arguments({"dids": dids}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
73
+ reevaluate_did_for_subscription(Arguments({"no_pager": ctx.obj.no_pager, "dids": dids}), ctx.obj.client, ctx.obj.logger, ctx.obj.console, ctx.obj.spinner)
@@ -96,11 +96,8 @@ class BaseClient:
96
96
  """
97
97
  Constructor of the BaseClient.
98
98
  :param rucio_host: The address of the rucio server, if None it is read from the config file.
99
- :param rucio_port: The port of the rucio server, if None it is read from the config file.
100
99
  :param auth_host: The address of the rucio authentication server, if None it is read from the config file.
101
- :param auth_port: The port of the rucio authentication server, if None it is read from the config file.
102
100
  :param account: The account to authenticate to rucio.
103
- :param use_ssl: Enable or disable ssl for commucation. Default is enabled.
104
101
  :param ca_cert: The path to the rucio server certificate.
105
102
  :param auth_type: The type of authentication (e.g.: 'userpass', 'kerberos' ...)
106
103
  :param creds: Dictionary with credentials needed for authentication.