rucio-clients 38.3.0__py3-none-any.whl → 38.4.0__py3-none-any.whl
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/cli/did.py +1 -1
- rucio/cli/opendata.py +19 -2
- rucio/client/accountclient.py +20 -19
- rucio/client/accountlimitclient.py +5 -4
- rucio/client/baseclient.py +25 -25
- rucio/client/configclient.py +7 -6
- rucio/client/credentialclient.py +2 -1
- rucio/client/didclient.py +33 -32
- rucio/client/diracclient.py +2 -1
- rucio/client/exportclient.py +2 -1
- rucio/client/importclient.py +2 -1
- rucio/client/lifetimeclient.py +3 -2
- rucio/client/lockclient.py +4 -3
- rucio/client/metaconventionsclient.py +5 -4
- rucio/client/opendataclient.py +8 -7
- rucio/client/pingclient.py +2 -1
- rucio/client/replicaclient.py +27 -26
- rucio/client/requestclient.py +8 -8
- rucio/client/rseclient.py +31 -28
- rucio/client/ruleclient.py +13 -12
- rucio/client/scopeclient.py +4 -3
- rucio/client/subscriptionclient.py +6 -5
- rucio/common/constants.py +18 -0
- rucio/common/exception.py +20 -0
- rucio/common/plugins.py +9 -7
- rucio/rse/protocols/webdav.py +5 -2
- rucio/vcsversion.py +3 -3
- {rucio_clients-38.3.0.dist-info → rucio_clients-38.4.0.dist-info}/METADATA +1 -1
- {rucio_clients-38.3.0.dist-info → rucio_clients-38.4.0.dist-info}/RECORD +40 -40
- {rucio_clients-38.3.0.data → rucio_clients-38.4.0.data}/data/etc/rse-accounts.cfg.template +0 -0
- {rucio_clients-38.3.0.data → rucio_clients-38.4.0.data}/data/etc/rucio.cfg.atlas.client.template +0 -0
- {rucio_clients-38.3.0.data → rucio_clients-38.4.0.data}/data/etc/rucio.cfg.template +0 -0
- {rucio_clients-38.3.0.data → rucio_clients-38.4.0.data}/data/requirements.client.txt +0 -0
- {rucio_clients-38.3.0.data → rucio_clients-38.4.0.data}/data/rucio_client/merge_rucio_configs.py +0 -0
- {rucio_clients-38.3.0.data → rucio_clients-38.4.0.data}/scripts/rucio +0 -0
- {rucio_clients-38.3.0.data → rucio_clients-38.4.0.data}/scripts/rucio-admin +0 -0
- {rucio_clients-38.3.0.dist-info → rucio_clients-38.4.0.dist-info}/WHEEL +0 -0
- {rucio_clients-38.3.0.dist-info → rucio_clients-38.4.0.dist-info}/licenses/AUTHORS.rst +0 -0
- {rucio_clients-38.3.0.dist-info → rucio_clients-38.4.0.dist-info}/licenses/LICENSE +0 -0
- {rucio_clients-38.3.0.dist-info → rucio_clients-38.4.0.dist-info}/top_level.txt +0 -0
|
@@ -18,6 +18,7 @@ from typing import TYPE_CHECKING, Any, Literal, Optional, Union
|
|
|
18
18
|
from requests.status_codes import codes
|
|
19
19
|
|
|
20
20
|
from rucio.client.baseclient import BaseClient, choice
|
|
21
|
+
from rucio.common.constants import HTTPMethod
|
|
21
22
|
from rucio.common.utils import build_url
|
|
22
23
|
|
|
23
24
|
if TYPE_CHECKING:
|
|
@@ -78,7 +79,7 @@ class SubscriptionClient(BaseClient):
|
|
|
78
79
|
raise TypeError('replication_rules should be a list')
|
|
79
80
|
data = dumps({'options': {'filter': filter_, 'replication_rules': replication_rules, 'comments': comments,
|
|
80
81
|
'lifetime': lifetime, 'retroactive': retroactive, 'dry_run': dry_run, 'priority': priority}})
|
|
81
|
-
result = self._send_request(url,
|
|
82
|
+
result = self._send_request(url, method=HTTPMethod.POST, data=data)
|
|
82
83
|
if result.status_code == codes.created: # pylint: disable=no-member
|
|
83
84
|
return result.text
|
|
84
85
|
else:
|
|
@@ -120,7 +121,7 @@ class SubscriptionClient(BaseClient):
|
|
|
120
121
|
else:
|
|
121
122
|
path += '/'
|
|
122
123
|
url = build_url(choice(self.list_hosts), path=path)
|
|
123
|
-
result = self._send_request(url,
|
|
124
|
+
result = self._send_request(url, method=HTTPMethod.GET)
|
|
124
125
|
if result.status_code == codes.ok: # pylint: disable=no-member
|
|
125
126
|
return self._load_json_data(result)
|
|
126
127
|
if result.status_code == codes.not_found:
|
|
@@ -173,7 +174,7 @@ class SubscriptionClient(BaseClient):
|
|
|
173
174
|
raise TypeError('replication_rules should be a list')
|
|
174
175
|
data = dumps({'options': {'filter': filter_, 'replication_rules': replication_rules, 'comments': comments,
|
|
175
176
|
'lifetime': lifetime, 'retroactive': retroactive, 'dry_run': dry_run, 'priority': priority}})
|
|
176
|
-
result = self._send_request(url,
|
|
177
|
+
result = self._send_request(url, method=HTTPMethod.PUT, data=data)
|
|
177
178
|
if result.status_code == codes.created: # pylint: disable=no-member
|
|
178
179
|
return True
|
|
179
180
|
else:
|
|
@@ -203,7 +204,7 @@ class SubscriptionClient(BaseClient):
|
|
|
203
204
|
path = self.SUB_BASEURL + '/' + account + '/' + name # type: ignore
|
|
204
205
|
url = build_url(choice(self.list_hosts), path=path)
|
|
205
206
|
data = dumps({'options': {'state': 'I'}})
|
|
206
|
-
result = self._send_request(url,
|
|
207
|
+
result = self._send_request(url, method=HTTPMethod.PUT, data=data)
|
|
207
208
|
if result.status_code == codes.created: # pylint: disable=no-member
|
|
208
209
|
return True
|
|
209
210
|
else:
|
|
@@ -228,7 +229,7 @@ class SubscriptionClient(BaseClient):
|
|
|
228
229
|
|
|
229
230
|
path = '/'.join([self.SUB_BASEURL, account, name, 'rules'])
|
|
230
231
|
url = build_url(choice(self.list_hosts), path=path)
|
|
231
|
-
result = self._send_request(url,
|
|
232
|
+
result = self._send_request(url, method=HTTPMethod.GET)
|
|
232
233
|
if result.status_code == codes.ok: # pylint: disable=no-member
|
|
233
234
|
return self._load_json_data(result)
|
|
234
235
|
else:
|
rucio/common/constants.py
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
import enum
|
|
16
|
+
import sys
|
|
16
17
|
from collections import namedtuple
|
|
17
18
|
from typing import Literal, get_args
|
|
18
19
|
|
|
@@ -224,3 +225,20 @@ OPENDATA_DID_STATE_LITERAL_LIST = list(get_args(OPENDATA_DID_STATE_LITERAL))
|
|
|
224
225
|
|
|
225
226
|
POLICY_ALGORITHM_TYPES_LITERAL = Literal['non_deterministic_pfn', 'scope', 'lfn2pfn', 'pfn2lfn', 'fts3_tape_metadata_plugins', 'fts3_plugins_init', 'auto_approve']
|
|
226
227
|
POLICY_ALGORITHM_TYPES = list(get_args(POLICY_ALGORITHM_TYPES_LITERAL))
|
|
228
|
+
|
|
229
|
+
# https://github.com/rucio/rucio/issues/7958
|
|
230
|
+
# When Python 3.11 is the minimum supported version, we can use the standard library enum and remove this logic
|
|
231
|
+
if sys.version_info >= (3, 11):
|
|
232
|
+
from http import HTTPMethod
|
|
233
|
+
else:
|
|
234
|
+
@enum.unique
|
|
235
|
+
class HTTPMethod(str, enum.Enum):
|
|
236
|
+
"""HTTP verbs used in Rucio requests."""
|
|
237
|
+
|
|
238
|
+
HEAD = "HEAD"
|
|
239
|
+
OPTIONS = "OPTIONS"
|
|
240
|
+
PATCH = "PATCH"
|
|
241
|
+
GET = "GET"
|
|
242
|
+
POST = "POST"
|
|
243
|
+
PUT = "PUT"
|
|
244
|
+
DELETE = "DELETE"
|
rucio/common/exception.py
CHANGED
|
@@ -1271,3 +1271,23 @@ class InvalidPolicyPackageAlgorithmType(RucioException):
|
|
|
1271
1271
|
super(InvalidPolicyPackageAlgorithmType, self).__init__(*args)
|
|
1272
1272
|
self._message = f"Invalid policy package algorithm type '{param}'."
|
|
1273
1273
|
self.error_code = 120
|
|
1274
|
+
|
|
1275
|
+
|
|
1276
|
+
class InvalidAccountType(RucioException):
|
|
1277
|
+
"""
|
|
1278
|
+
Thrown when an account is created with an invalid type
|
|
1279
|
+
"""
|
|
1280
|
+
def __init__(self, *args):
|
|
1281
|
+
super(InvalidAccountType, self).__init__(*args)
|
|
1282
|
+
self._message = "Cannot create an account with an invalid type."
|
|
1283
|
+
self.error_code = 121
|
|
1284
|
+
|
|
1285
|
+
class OpenDataDuplicateDOI(OpenDataError):
|
|
1286
|
+
"""
|
|
1287
|
+
Throws when a data identifier with the same DOI already exists in the open data catalog.
|
|
1288
|
+
"""
|
|
1289
|
+
|
|
1290
|
+
def __init__(self, doi: str, *args):
|
|
1291
|
+
super(OpenDataDuplicateDOI, self).__init__(*args)
|
|
1292
|
+
self._message = f"Data identifier with the same DOI ({doi}) already exists in the open data catalog."
|
|
1293
|
+
self.error_code = 122
|
rucio/common/plugins.py
CHANGED
|
@@ -77,7 +77,7 @@ class PolicyPackageAlgorithms:
|
|
|
77
77
|
"""
|
|
78
78
|
_ALGORITHMS: dict[POLICY_ALGORITHM_TYPES_LITERAL, dict[str, 'Callable[..., Any]']] = {}
|
|
79
79
|
_loaded_policy_modules = False
|
|
80
|
-
_default_algorithms: dict[str, 'Callable[..., Any]'] = {}
|
|
80
|
+
_default_algorithms: dict[str, Optional['Callable[..., Any]']] = {}
|
|
81
81
|
|
|
82
82
|
def __init__(self) -> None:
|
|
83
83
|
if not self._loaded_policy_modules:
|
|
@@ -105,17 +105,23 @@ class PolicyPackageAlgorithms:
|
|
|
105
105
|
vo = ''
|
|
106
106
|
package = cls._get_policy_package_name(vo)
|
|
107
107
|
except (NoOptionError, NoSectionError):
|
|
108
|
+
cls._default_algorithms[type_for_vo] = default_algorithm
|
|
108
109
|
return default_algorithm
|
|
109
110
|
|
|
110
111
|
module_name = package + "." + algorithm_type
|
|
112
|
+
LOGGER.info('Attempting to find algorithm %s in default location %s...' % (algorithm_type, module_name))
|
|
111
113
|
try:
|
|
112
114
|
module = importlib.import_module(module_name)
|
|
113
115
|
|
|
114
116
|
if hasattr(module, algorithm_type):
|
|
115
117
|
default_algorithm = getattr(module, algorithm_type)
|
|
116
|
-
|
|
118
|
+
except ModuleNotFoundError:
|
|
119
|
+
LOGGER.info('Algorithm %s not found in default location %s' % (algorithm_type, module_name))
|
|
117
120
|
except ImportError:
|
|
118
|
-
LOGGER.info('
|
|
121
|
+
LOGGER.info('Algorithm %s found in default location %s, but could not be loaded' % (algorithm_type, module_name))
|
|
122
|
+
# if the default algorithm is not present, this will store None and we will
|
|
123
|
+
# not attempt to load the same algorithm again
|
|
124
|
+
cls._default_algorithms[type_for_vo] = default_algorithm
|
|
119
125
|
return default_algorithm
|
|
120
126
|
|
|
121
127
|
@classmethod
|
|
@@ -212,10 +218,6 @@ class PolicyPackageAlgorithms:
|
|
|
212
218
|
if hasattr(module, 'get_algorithms'):
|
|
213
219
|
all_algorithms = module.get_algorithms()
|
|
214
220
|
|
|
215
|
-
# for backward compatibility, rename 'surl' to 'non_deterministic_pfn' here
|
|
216
|
-
if 'surl' in all_algorithms:
|
|
217
|
-
all_algorithms['non_deterministic_pfn'] = all_algorithms['surl']
|
|
218
|
-
|
|
219
221
|
# check that the names are correctly prefixed for multi-VO
|
|
220
222
|
if vo:
|
|
221
223
|
for _, algorithms in all_algorithms.items():
|
rucio/rse/protocols/webdav.py
CHANGED
|
@@ -25,6 +25,7 @@ from requests.adapters import HTTPAdapter
|
|
|
25
25
|
from urllib3.poolmanager import PoolManager
|
|
26
26
|
|
|
27
27
|
from rucio.common import exception
|
|
28
|
+
from rucio.common.constants import HTTPMethod
|
|
28
29
|
from rucio.rse.protocols import protocol
|
|
29
30
|
|
|
30
31
|
|
|
@@ -259,9 +260,11 @@ class Default(protocol.RSEProtocol):
|
|
|
259
260
|
try:
|
|
260
261
|
# use GET instead of HEAD for presigned urls
|
|
261
262
|
if not using_presigned_urls:
|
|
262
|
-
result = self.session.request(
|
|
263
|
+
result = self.session.request(HTTPMethod.HEAD.value, path, verify=False, timeout=self.timeout,
|
|
264
|
+
cert=self.cert)
|
|
263
265
|
else:
|
|
264
|
-
result = self.session.request(
|
|
266
|
+
result = self.session.request(HTTPMethod.GET.value, path, verify=False, timeout=self.timeout,
|
|
267
|
+
cert=self.cert)
|
|
265
268
|
if result.status_code == 200:
|
|
266
269
|
return True
|
|
267
270
|
elif result.status_code in [401, ]:
|
rucio/vcsversion.py
CHANGED
|
@@ -4,8 +4,8 @@ This file is automatically generated; Do not edit it. :)
|
|
|
4
4
|
'''
|
|
5
5
|
VERSION_INFO = {
|
|
6
6
|
'final': True,
|
|
7
|
-
'version': '38.
|
|
7
|
+
'version': '38.4.0',
|
|
8
8
|
'branch_nick': 'release-38-LTS',
|
|
9
|
-
'revision_id': '
|
|
10
|
-
'revno':
|
|
9
|
+
'revision_id': '945ab71be90243fe96148bb3bd13c1c3ae410765',
|
|
10
|
+
'revno': 14030
|
|
11
11
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
rucio/__init__.py,sha256=Y7cPPlHVQPFyN8bSPFC0W3WViEdONr5g_qwBub5rufE,660
|
|
2
2
|
rucio/alembicrevision.py,sha256=9tnjQLFkTpUEcZqcw-ojWpt4Wbg-5OtMJ0CfjPc0wX8,690
|
|
3
|
-
rucio/vcsversion.py,sha256=
|
|
3
|
+
rucio/vcsversion.py,sha256=XFyyziu8IMzLhF3NNhhe7UylNiUMFAuPa14CzzK-RzI,248
|
|
4
4
|
rucio/version.py,sha256=IwsNb1QQk0D092QQbR2K9wBPF2Akny1RGs-ZZziUohE,1519
|
|
5
5
|
rucio/cli/__init__.py,sha256=GIkHmxgE3xdvWSf-7ZnvVaJmbs7NokaSjbFzsrXOG9o,662
|
|
6
6
|
rucio/cli/account.py,sha256=2Fe-iEaTfLxqlW5mDJsJPwD-Etm4VqaMowTSA67hZIo,9458
|
|
7
7
|
rucio/cli/command.py,sha256=7jqBakwQOW7gORCLf63wrGOfzsQKdZbsc1TWUMmDH5s,11294
|
|
8
8
|
rucio/cli/config.py,sha256=chcCxby1ET8YvoMx9IUIty0wVaZghISwEO_Ahe22ReA,3558
|
|
9
|
-
rucio/cli/did.py,sha256=
|
|
9
|
+
rucio/cli/did.py,sha256=viwJC07AvEneC6_E307Q9nybWti-iYalwphNOpfQXLE,9041
|
|
10
10
|
rucio/cli/download.py,sha256=kIB_n45egqBp4inVFmUXdofFAmlPkdAgxLTpPlG4WLM,6241
|
|
11
11
|
rucio/cli/lifetime_exception.py,sha256=joi9HdaiYP_g3115IR_ImX7oFlEg1xbSaK-IzmoIVcY,1498
|
|
12
|
-
rucio/cli/opendata.py,sha256=
|
|
12
|
+
rucio/cli/opendata.py,sha256=UfUGDolu-d7hzlH26uhXk5YcD4HcF-R891GH11mwlLU,7329
|
|
13
13
|
rucio/cli/replica.py,sha256=ZeknO6aKOambwe7lJGWcI_YAflz1-oMYBSZTYvMVIe0,8657
|
|
14
14
|
rucio/cli/rse.py,sha256=J2IjCGUzvv9U0swFcU0ykZ1pYweHqTlXwmpGfSI-VgE,11490
|
|
15
15
|
rucio/cli/rule.py,sha256=H_Yw8hx_DiqX_twEtgEY0x2AkftsRyLboMaXv_Zc6Ac,9090
|
|
@@ -21,29 +21,29 @@ rucio/cli/bin_legacy/__init__.py,sha256=Q91iipvMQ0VzNMuYcYQfDujZ0vL-hrB4Kmd0Yrgt
|
|
|
21
21
|
rucio/cli/bin_legacy/rucio.py,sha256=EprZpF5A7teDGH6aXIevMMM3vbs4mKE1LaqgcpqsCmg,140816
|
|
22
22
|
rucio/cli/bin_legacy/rucio_admin.py,sha256=pRpJhEGMr3-xzw3EsGeVayEiu8NI_UxEI2wSIbeulzI,141046
|
|
23
23
|
rucio/client/__init__.py,sha256=0-jkSlrJf-eqbN4swA5a07eaWd6_6JXPQPLXMs4A3iI,660
|
|
24
|
-
rucio/client/accountclient.py,sha256=
|
|
25
|
-
rucio/client/accountlimitclient.py,sha256=
|
|
26
|
-
rucio/client/baseclient.py,sha256=
|
|
24
|
+
rucio/client/accountclient.py,sha256=yimP_88XbHOpMnyEG6kT2i0x8x4ILpq8EeVs0O_o-as,19148
|
|
25
|
+
rucio/client/accountlimitclient.py,sha256=RwWfyddIT6iZt8PDHRSqrOvgI7-GGZiz1kE4m1zGOtQ,6997
|
|
26
|
+
rucio/client/baseclient.py,sha256=jJ8x-EYTM_zONHGU-B7sg-cJDm1KCd6iVj0lyV2hB_s,51172
|
|
27
27
|
rucio/client/client.py,sha256=npg0pFWzqnmnObjFO7QDdSkH1O0jrY-HglXEVfDrWNY,4493
|
|
28
|
-
rucio/client/configclient.py,sha256=
|
|
29
|
-
rucio/client/credentialclient.py,sha256=
|
|
30
|
-
rucio/client/didclient.py,sha256=
|
|
31
|
-
rucio/client/diracclient.py,sha256=
|
|
28
|
+
rucio/client/configclient.py,sha256=cy1yXDmtiNqlZrytF7GK9Pi5DB4-PO9VaiJn7ITLJi4,5595
|
|
29
|
+
rucio/client/credentialclient.py,sha256=9dvF6cAgf9hOTYuX-igzQOPdmMVCbjt97v4f7_yH_nE,2270
|
|
30
|
+
rucio/client/didclient.py,sha256=E9HusPPeQn4nhMrCtm0VsZtYlTAwAf5c9paSYuzPMjU,34969
|
|
31
|
+
rucio/client/diracclient.py,sha256=E5yGTkNdtBT5iYOAm81pT5lHHkEf0VSs40g1TB9VWwE,4521
|
|
32
32
|
rucio/client/downloadclient.py,sha256=FoNTNNpry_2qo4XLIQXn7_AsnzLt9XllLB_J0UYTI7k,91687
|
|
33
|
-
rucio/client/exportclient.py,sha256=
|
|
34
|
-
rucio/client/importclient.py,sha256=
|
|
35
|
-
rucio/client/lifetimeclient.py,sha256=
|
|
36
|
-
rucio/client/lockclient.py,sha256=
|
|
37
|
-
rucio/client/metaconventionsclient.py,sha256=
|
|
38
|
-
rucio/client/opendataclient.py,sha256=
|
|
39
|
-
rucio/client/pingclient.py,sha256=
|
|
40
|
-
rucio/client/replicaclient.py,sha256=
|
|
41
|
-
rucio/client/requestclient.py,sha256=
|
|
33
|
+
rucio/client/exportclient.py,sha256=pCgjm-SbcZk5RZp2iOzAESdMeBeyVNYzQ1oModCvLfk,3366
|
|
34
|
+
rucio/client/importclient.py,sha256=9CHlLmgH59HBfm7zBe1TKiqNTmGar8SeIYiNZdkCFXU,1616
|
|
35
|
+
rucio/client/lifetimeclient.py,sha256=96MLiMv8ff1zMUnNe8OT6a12cUWIouG-dq4wBDUX-Jw,6037
|
|
36
|
+
rucio/client/lockclient.py,sha256=hluIjxQcitcrreZBjDwsYXI96Ceb9PjgAqPa7VP1lag,4523
|
|
37
|
+
rucio/client/metaconventionsclient.py,sha256=tQgFo65Pjxh0MZ4JZxpbwMm4fuzYP3hKVQnEjOtEAtE,5767
|
|
38
|
+
rucio/client/opendataclient.py,sha256=boJLaAySzQR8r13iGjn5ujx0K5VPI3A3e_IOW37JE8A,9249
|
|
39
|
+
rucio/client/pingclient.py,sha256=ZSxloZO6FRU6RkkNqow1tkTOfOzKHOW939LypQFEsE4,2448
|
|
40
|
+
rucio/client/replicaclient.py,sha256=n7m2oCjclF8uHpnYhIqZrGV7nZ-HiiXauygyQNbajDg,20834
|
|
41
|
+
rucio/client/requestclient.py,sha256=7N0RaZfuVegD40oQkekwn_UylVi3GljHAkxDezMMOs4,8659
|
|
42
42
|
rucio/client/richclient.py,sha256=ArTHvnx0eJxRysfpBxnx0zaDI8ixgnfA_8vAegZQC2Y,10243
|
|
43
|
-
rucio/client/rseclient.py,sha256=
|
|
44
|
-
rucio/client/ruleclient.py,sha256=
|
|
45
|
-
rucio/client/scopeclient.py,sha256
|
|
46
|
-
rucio/client/subscriptionclient.py,sha256=
|
|
43
|
+
rucio/client/rseclient.py,sha256=zrXXMRIIENC6WmMPhNw4_JK_8XqqINt5TdB9ZYOQVus,32242
|
|
44
|
+
rucio/client/ruleclient.py,sha256=nFXZ2wC8UgbSTD0es7XHuY6szIDHCHDdZNAwABmgDts,13808
|
|
45
|
+
rucio/client/scopeclient.py,sha256=JaKqFLkP-SSqun0p7lozPAZSfmkCZJZ0BBxW98x-7eo,3587
|
|
46
|
+
rucio/client/subscriptionclient.py,sha256=B8oEQa_Dwh3gvydEYjEZXmSkjZY2EdbL7VZ0JXEDN1w,9513
|
|
47
47
|
rucio/client/touchclient.py,sha256=LZXC2xI4QmmTTW4D1339sNXP1VwOKtxS-K7AaQwSlf4,2873
|
|
48
48
|
rucio/client/uploadclient.py,sha256=pXsgzdQXDC8hcyA2lHvHkyrz1gCNsOADJuqS-gfLTFQ,72217
|
|
49
49
|
rucio/common/__init__.py,sha256=Q91iipvMQ0VzNMuYcYQfDujZ0vL-hrB4Kmd0YrgtHGQ,618
|
|
@@ -52,14 +52,14 @@ rucio/common/cache.py,sha256=oa1WCodXpsmHzM-LJoYL7wQHw7VMU5I0g3TBg-VzEfo,3389
|
|
|
52
52
|
rucio/common/checksum.py,sha256=nSqjY8TdDGohpAzcEM2fjv4FPdOKmKr_3U27HalKkoY,5254
|
|
53
53
|
rucio/common/client.py,sha256=vHJ1gnHRBiXC2ZPfSgYPlsdJi0DbvwWDdHHMEOVgBvU,3129
|
|
54
54
|
rucio/common/config.py,sha256=69AhxgP9SXXrlaTqlOCQiaiqGqHLhSfhRFasroGfDdc,24402
|
|
55
|
-
rucio/common/constants.py,sha256=
|
|
55
|
+
rucio/common/constants.py,sha256=IdxXRvIltiJWz5qxxqpXZC1xum458-czxuot3PCtRXU,8535
|
|
56
56
|
rucio/common/constraints.py,sha256=MrdiAwKyoaZGfspUWX_53XS2790nXMSMg1JYmTO_ciQ,726
|
|
57
57
|
rucio/common/didtype.py,sha256=nXoyK740yrwsiGX9e9vOc8UX0PXRvKry67C0Sd8SpmM,8010
|
|
58
|
-
rucio/common/exception.py,sha256=
|
|
58
|
+
rucio/common/exception.py,sha256=kXltk7Zujf55L3h3v6iP0yfHXJIphbS7H67OS610Aig,37248
|
|
59
59
|
rucio/common/extra.py,sha256=IE01275vTJobyNiYbptU9NmsUl2Ga_92FSoOODV8Qfk,1054
|
|
60
60
|
rucio/common/logging.py,sha256=_G1QDFpPLghz2VXOjdhC7j-TtZBxmPJsyJtztW7mf68,15874
|
|
61
61
|
rucio/common/pcache.py,sha256=V2OnO4h4v5yaxWT9T9DMJpm-2rLalBzzaqlUWUq5x4c,47097
|
|
62
|
-
rucio/common/plugins.py,sha256=
|
|
62
|
+
rucio/common/plugins.py,sha256=SdPR8b7zpUJN2wMBnigG3_IJ9PgK8cfzkTSmpPnY2n8,9943
|
|
63
63
|
rucio/common/policy.py,sha256=4i7SHyUpWxagS9nI72nBpWyfvYfz_aH6GH4lFMtDARo,3546
|
|
64
64
|
rucio/common/stomp_utils.py,sha256=3GTiRTJ0roe5OX_wgkVwOJYAIhGgYbhiROHc2M8LQT8,5414
|
|
65
65
|
rucio/common/stopwatch.py,sha256=_9zxoLjr8A0wUDJsljK4vZNDCI-dIOgpcxXiCNVJcHU,1641
|
|
@@ -88,18 +88,18 @@ rucio/rse/protocols/rfio.py,sha256=8TJ_60pWH7ragdNG9INz_oOK1LXLc-C43iENGAKfOEg,5
|
|
|
88
88
|
rucio/rse/protocols/srm.py,sha256=9QFSORsXT-CR_6tDqyXCAQ5BzZifqaDItCYGIlTQGQI,14699
|
|
89
89
|
rucio/rse/protocols/ssh.py,sha256=pHPAQx2bPNkMrtqbCqDfq7OXoy7XphQ-i2Stzdvnf1k,17506
|
|
90
90
|
rucio/rse/protocols/storm.py,sha256=Z4fzklxG-x70A0Lugg1jE1RicwCSeF27iz0MXO-4to0,7864
|
|
91
|
-
rucio/rse/protocols/webdav.py,sha256=
|
|
91
|
+
rucio/rse/protocols/webdav.py,sha256=axO_a4Z4nO6hlSAU1kUICXwUH-D0MrBYvdH3cHlFJuY,24978
|
|
92
92
|
rucio/rse/protocols/xrootd.py,sha256=oJHueVR44dcW5nkg8jCbr9PetV9UIti3C0tka_m7yIk,12604
|
|
93
|
-
rucio_clients-38.
|
|
94
|
-
rucio_clients-38.
|
|
95
|
-
rucio_clients-38.
|
|
96
|
-
rucio_clients-38.
|
|
97
|
-
rucio_clients-38.
|
|
98
|
-
rucio_clients-38.
|
|
99
|
-
rucio_clients-38.
|
|
100
|
-
rucio_clients-38.
|
|
101
|
-
rucio_clients-38.
|
|
102
|
-
rucio_clients-38.
|
|
103
|
-
rucio_clients-38.
|
|
104
|
-
rucio_clients-38.
|
|
105
|
-
rucio_clients-38.
|
|
93
|
+
rucio_clients-38.4.0.data/data/requirements.client.txt,sha256=ob8DW6vHurtEcXZ2j_u67WO_M2Mf7dzJFROKqIQINTo,1790
|
|
94
|
+
rucio_clients-38.4.0.data/data/etc/rse-accounts.cfg.template,sha256=IfDnXVxBPUrMnTMbJnd3P7eYHgY1C4Kfz7xKskJs-FI,543
|
|
95
|
+
rucio_clients-38.4.0.data/data/etc/rucio.cfg.atlas.client.template,sha256=aHP1oX9m5yA8xVTTT2Hz6AyOYu92-Bcd5LF0i3AZRQw,1350
|
|
96
|
+
rucio_clients-38.4.0.data/data/etc/rucio.cfg.template,sha256=hKnGDIm7oIFWBhj6vr5L6bE4TDRHT-7eZh9IsqOHbpo,8023
|
|
97
|
+
rucio_clients-38.4.0.data/data/rucio_client/merge_rucio_configs.py,sha256=u62K1EcCGydM5nZA30zhlqWo4EX5N87b_MDkx5YfzVI,6163
|
|
98
|
+
rucio_clients-38.4.0.data/scripts/rucio,sha256=f8f5X6O9W2JfUqWiSdsuDROekGt28p9CBvFZropZ-C0,5260
|
|
99
|
+
rucio_clients-38.4.0.data/scripts/rucio-admin,sha256=AhPO6-fAPviHObhB_Yi7GJXKfjpaH6m0RqxwctBeFlE,4229
|
|
100
|
+
rucio_clients-38.4.0.dist-info/licenses/AUTHORS.rst,sha256=FQ5q2_bY3dYKDmEw-8YD-SgPJ4fgnM1XI5wRF5ksQPg,4771
|
|
101
|
+
rucio_clients-38.4.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
102
|
+
rucio_clients-38.4.0.dist-info/METADATA,sha256=jWoLTz0LFuhZe2okfeIQIC1-8qJaKj2bOe8z5xDEfOI,1740
|
|
103
|
+
rucio_clients-38.4.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
104
|
+
rucio_clients-38.4.0.dist-info/top_level.txt,sha256=lJM8plwW0ePPICkwFnpYzfdqHnSv6JZr1OD4JEysPgM,6
|
|
105
|
+
rucio_clients-38.4.0.dist-info/RECORD,,
|
|
File without changes
|
{rucio_clients-38.3.0.data → rucio_clients-38.4.0.data}/data/etc/rucio.cfg.atlas.client.template
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rucio_clients-38.3.0.data → rucio_clients-38.4.0.data}/data/rucio_client/merge_rucio_configs.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|