rucio-clients 37.0.0rc3__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.
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/PKG-INFO +1 -1
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/cli/account.py +14 -14
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/cli/command.py +9 -9
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/cli/config.py +3 -3
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/cli/did.py +13 -13
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/cli/lifetime_exception.py +1 -1
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/cli/replica.py +3 -3
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/cli/rse.py +18 -18
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/cli/rule.py +5 -5
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/cli/scope.py +2 -2
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/cli/subscription.py +4 -4
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/baseclient.py +0 -3
- rucio_clients-37.1.0/lib/rucio/client/lifetimeclient.py +123 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/config.py +0 -26
- rucio_clients-37.1.0/lib/rucio/common/stomp_utils.py +159 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/utils.py +14 -17
- rucio_clients-37.1.0/lib/rucio/vcsversion.py +11 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/pyproject.toml +23 -7
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_account_limits.py +28 -9
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_cli_client_structure.py +5 -1
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_clients.py +2 -1
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_gateway_external_representation.py +2 -2
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_module_import.py +3 -1
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_oauthmanager.py +0 -2
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_throttler.py +1 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_tpc.py +1 -1
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_upload.py +1 -1
- rucio_clients-37.0.0rc3/lib/rucio/client/lifetimeclient.py +0 -90
- rucio_clients-37.0.0rc3/lib/rucio/common/stomp_utils.py +0 -423
- rucio_clients-37.0.0rc3/lib/rucio/vcsversion.py +0 -11
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/AUTHORS.rst +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/ChangeLog +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/LICENSE +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/MANIFEST.in +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/README.md +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/bin/rucio +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/bin/rucio-admin +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/etc/rse-accounts.cfg.template +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/etc/rucio.cfg.atlas.client.template +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/etc/rucio.cfg.template +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/__init__.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/alembicrevision.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/cli/__init__.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/cli/bin_legacy/__init__.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/cli/bin_legacy/rucio.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/cli/bin_legacy/rucio_admin.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/cli/download.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/cli/upload.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/cli/utils.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/__init__.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/accountclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/accountlimitclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/client.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/configclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/credentialclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/didclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/diracclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/downloadclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/exportclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/fileclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/importclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/lockclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/metaconventionsclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/pingclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/replicaclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/requestclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/richclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/rseclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/ruleclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/scopeclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/subscriptionclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/touchclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/client/uploadclient.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/__init__.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/bittorrent.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/cache.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/checksum.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/client.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/constants.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/constraints.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/didtype.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/exception.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/extra.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/logging.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/pcache.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/plugins.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/policy.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/schema/__init__.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/schema/generic.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/schema/generic_multi_vo.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/stopwatch.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/test_rucio_server.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/common/types.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/__init__.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/__init__.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/bittorrent.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/cache.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/dummy.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/gfal.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/globus.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/http_cache.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/mock.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/ngarc.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/posix.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/protocol.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/rclone.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/rfio.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/srm.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/ssh.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/storm.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/webdav.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/protocols/xrootd.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/rsemanager.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/rse/translation.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio/version.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/lib/rucio_clients.egg-info/SOURCES.txt +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/requirements/requirements.client.txt +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/setup.cfg +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/setup.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/setuputil.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_abacus_account.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_abacus_collection_replica.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_abacus_rse.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_account.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_archive.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_auditor.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_auditor_hdfs.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_auditor_srmdumps.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_authentication.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_automatix.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_bad_replica.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_bb8.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_belleii.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_bin_rucio.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_boolean.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_config.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_conveyor.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_conveyor_submitter.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_counter.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_credential.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_curl.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_daemons.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_dataset_replicas.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_db.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_did.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_did_meta_plugins.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_download.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_dumper.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_filter_engine.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_heartbeat.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_hermes.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_identity.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_impl_upload_download.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_import_export.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_judge_cleaner.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_judge_evaluator.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_judge_injector.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_judge_repairer.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_lifetime.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_message.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_meta_conventions.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_meta_did.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_monitor.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_multi_vo.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_naming_convention.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_oidc.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_permission.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_pfns.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_ping.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_policy_package.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_preparer.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_qos.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_quarantined_replica.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_reaper.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_redirect.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_replica.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_replica_recoverer.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_replica_sorting.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_request.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_root_proxy.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_rse.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_rse_expression_parser.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_rse_lfn2path.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_rse_protocol_gfal2.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_rse_protocol_gfal2_impl.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_rse_protocol_posix.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_rse_protocol_rclone.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_rse_protocol_rsync.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_rse_protocol_srm.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_rse_protocol_ssh.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_rse_protocol_webdav.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_rse_protocol_xrootd.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_rse_selector.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_rucio_server.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_rule.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_scope.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_subscription.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_trace.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_transfer.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_transfer_plugins.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_undertaker.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tests/test_utils.py +0 -0
- {rucio_clients-37.0.0rc3 → rucio_clients-37.1.0}/tools/merge_rucio_configs.py +0 -0
|
@@ -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
|
-
|
|
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.
|
|
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
|
-
"
|
|
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.
|