swift 2.31.1__py2.py3-none-any.whl → 2.32.1__py2.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.
Files changed (104) hide show
  1. swift/cli/info.py +9 -2
  2. swift/cli/ringbuilder.py +5 -1
  3. swift/common/container_sync_realms.py +6 -7
  4. swift/common/daemon.py +7 -3
  5. swift/common/db.py +22 -7
  6. swift/common/db_replicator.py +19 -20
  7. swift/common/direct_client.py +63 -14
  8. swift/common/internal_client.py +24 -3
  9. swift/common/manager.py +43 -44
  10. swift/common/memcached.py +168 -74
  11. swift/common/middleware/__init__.py +4 -0
  12. swift/common/middleware/account_quotas.py +98 -40
  13. swift/common/middleware/backend_ratelimit.py +6 -4
  14. swift/common/middleware/crossdomain.py +21 -8
  15. swift/common/middleware/listing_formats.py +26 -38
  16. swift/common/middleware/proxy_logging.py +12 -9
  17. swift/common/middleware/s3api/controllers/bucket.py +8 -2
  18. swift/common/middleware/s3api/s3api.py +9 -4
  19. swift/common/middleware/s3api/s3request.py +32 -24
  20. swift/common/middleware/s3api/s3response.py +10 -1
  21. swift/common/middleware/tempauth.py +9 -10
  22. swift/common/middleware/versioned_writes/__init__.py +0 -3
  23. swift/common/middleware/versioned_writes/object_versioning.py +22 -5
  24. swift/common/middleware/x_profile/html_viewer.py +1 -1
  25. swift/common/middleware/xprofile.py +5 -0
  26. swift/common/request_helpers.py +1 -2
  27. swift/common/ring/ring.py +22 -19
  28. swift/common/swob.py +2 -1
  29. swift/common/{utils.py → utils/__init__.py} +610 -1146
  30. swift/common/utils/ipaddrs.py +256 -0
  31. swift/common/utils/libc.py +345 -0
  32. swift/common/utils/timestamp.py +399 -0
  33. swift/common/wsgi.py +70 -39
  34. swift/container/backend.py +106 -38
  35. swift/container/server.py +11 -2
  36. swift/container/sharder.py +34 -15
  37. swift/locale/de/LC_MESSAGES/swift.po +1 -320
  38. swift/locale/en_GB/LC_MESSAGES/swift.po +1 -347
  39. swift/locale/es/LC_MESSAGES/swift.po +1 -279
  40. swift/locale/fr/LC_MESSAGES/swift.po +1 -209
  41. swift/locale/it/LC_MESSAGES/swift.po +1 -207
  42. swift/locale/ja/LC_MESSAGES/swift.po +2 -278
  43. swift/locale/ko_KR/LC_MESSAGES/swift.po +3 -303
  44. swift/locale/pt_BR/LC_MESSAGES/swift.po +1 -204
  45. swift/locale/ru/LC_MESSAGES/swift.po +1 -203
  46. swift/locale/tr_TR/LC_MESSAGES/swift.po +1 -192
  47. swift/locale/zh_CN/LC_MESSAGES/swift.po +1 -192
  48. swift/locale/zh_TW/LC_MESSAGES/swift.po +1 -193
  49. swift/obj/diskfile.py +19 -6
  50. swift/obj/server.py +20 -6
  51. swift/obj/ssync_receiver.py +19 -9
  52. swift/obj/ssync_sender.py +10 -10
  53. swift/proxy/controllers/account.py +7 -7
  54. swift/proxy/controllers/base.py +374 -366
  55. swift/proxy/controllers/container.py +112 -53
  56. swift/proxy/controllers/obj.py +254 -390
  57. swift/proxy/server.py +3 -8
  58. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-account-server +1 -1
  59. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-container-server +1 -1
  60. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-drive-audit +45 -14
  61. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-object-server +1 -1
  62. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-proxy-server +1 -1
  63. {swift-2.31.1.dist-info → swift-2.32.1.dist-info}/AUTHORS +4 -0
  64. {swift-2.31.1.dist-info → swift-2.32.1.dist-info}/METADATA +32 -35
  65. {swift-2.31.1.dist-info → swift-2.32.1.dist-info}/RECORD +103 -100
  66. {swift-2.31.1.dist-info → swift-2.32.1.dist-info}/WHEEL +1 -1
  67. {swift-2.31.1.dist-info → swift-2.32.1.dist-info}/entry_points.txt +0 -1
  68. swift-2.32.1.dist-info/pbr.json +1 -0
  69. swift-2.31.1.dist-info/pbr.json +0 -1
  70. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-account-audit +0 -0
  71. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-account-auditor +0 -0
  72. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-account-info +0 -0
  73. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-account-reaper +0 -0
  74. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-account-replicator +0 -0
  75. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-config +0 -0
  76. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-container-auditor +0 -0
  77. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-container-info +0 -0
  78. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-container-reconciler +0 -0
  79. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-container-replicator +0 -0
  80. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-container-sharder +0 -0
  81. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-container-sync +0 -0
  82. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-container-updater +0 -0
  83. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-dispersion-populate +0 -0
  84. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-dispersion-report +0 -0
  85. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-form-signature +0 -0
  86. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-get-nodes +0 -0
  87. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-init +0 -0
  88. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-object-auditor +0 -0
  89. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-object-expirer +0 -0
  90. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-object-info +0 -0
  91. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-object-reconstructor +0 -0
  92. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-object-relinker +0 -0
  93. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-object-replicator +0 -0
  94. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-object-updater +0 -0
  95. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-oldies +0 -0
  96. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-orphans +0 -0
  97. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-recon +0 -0
  98. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-recon-cron +0 -0
  99. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-reconciler-enqueue +0 -0
  100. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-ring-builder +0 -0
  101. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-ring-builder-analyzer +0 -0
  102. {swift-2.31.1.data → swift-2.32.1.data}/scripts/swift-ring-composer +0 -0
  103. {swift-2.31.1.dist-info → swift-2.32.1.dist-info}/LICENSE +0 -0
  104. {swift-2.31.1.dist-info → swift-2.32.1.dist-info}/top_level.txt +0 -0
swift/proxy/server.py CHANGED
@@ -36,12 +36,12 @@ from swift.common.utils import Watchdog, get_logger, \
36
36
  get_remote_client, split_path, config_true_value, generate_trans_id, \
37
37
  affinity_key_function, affinity_locality_predicate, list_from_csv, \
38
38
  parse_prefixed_conf, config_auto_int_value, node_to_string, \
39
- config_request_node_count_value, config_percent_value
39
+ config_request_node_count_value, config_percent_value, cap_length
40
40
  from swift.common.registry import register_swift_info
41
41
  from swift.common.constraints import check_utf8, valid_api_version
42
42
  from swift.proxy.controllers import AccountController, ContainerController, \
43
43
  ObjectControllerRouter, InfoController
44
- from swift.proxy.controllers.base import get_container_info, NodeIter, \
44
+ from swift.proxy.controllers.base import get_container_info, \
45
45
  DEFAULT_RECHECK_CONTAINER_EXISTENCE, DEFAULT_RECHECK_ACCOUNT_EXISTENCE, \
46
46
  DEFAULT_RECHECK_UPDATING_SHARD_RANGES, DEFAULT_RECHECK_LISTING_SHARD_RANGES
47
47
  from swift.common.swob import HTTPBadRequest, HTTPForbidden, \
@@ -736,18 +736,13 @@ class Application(object):
736
736
  else:
737
737
  fmt = 'ERROR %(status)d %(body)s Trying to %(method)s ' \
738
738
  '%(path)s From %(type)s Server'
739
- values['body'] = body[:1024]
739
+ values['body'] = cap_length(body, 1024)
740
740
  self.error_occurred(node, fmt % values)
741
741
  else:
742
742
  ok = True
743
743
 
744
744
  return ok
745
745
 
746
- def iter_nodes(self, ring, partition, logger, request, node_iter=None,
747
- policy=None):
748
- return NodeIter(self, ring, partition, logger, request=request,
749
- node_iter=node_iter, policy=policy, )
750
-
751
746
  def exception_occurred(self, node, typ, additional_info,
752
747
  **kwargs):
753
748
  """
@@ -19,5 +19,5 @@ from swift.common.utils import parse_options
19
19
  from swift.common.wsgi import run_wsgi
20
20
 
21
21
  if __name__ == '__main__':
22
- conf_file, options = parse_options()
22
+ conf_file, options = parse_options(test_config=True)
23
23
  sys.exit(run_wsgi(conf_file, 'account-server', **options))
@@ -19,5 +19,5 @@ from swift.common.utils import parse_options
19
19
  from swift.common.wsgi import run_wsgi
20
20
 
21
21
  if __name__ == '__main__':
22
- conf_file, options = parse_options()
22
+ conf_file, options = parse_options(test_config=True)
23
23
  sys.exit(run_wsgi(conf_file, 'container-server', **options))
@@ -33,6 +33,27 @@ from swift.common.utils import backward, get_logger, dump_recon_cache, \
33
33
 
34
34
  def get_devices(device_dir, logger):
35
35
  devices = []
36
+ majmin_devices = {}
37
+
38
+ # List /dev/block
39
+ # Using os.scandir on recent versions of python, else os.listdir
40
+ if 'scandir' in dir(os):
41
+ with os.scandir("/dev/block") as it:
42
+ for ent in it:
43
+ if ent.is_symlink():
44
+ dev_name = os.path.basename(os.readlink(ent.path))
45
+ majmin = os.path.basename(ent.path).split(':')
46
+ majmin_devices[dev_name] = {'major': majmin[0],
47
+ 'minor': majmin[1]}
48
+ else:
49
+ for ent in os.listdir("/dev/block"):
50
+ ent_path = os.path.join("/dev/block", ent)
51
+ if os.path.is_symlink(ent_path):
52
+ dev_name = os.path.basename(os.readlink(ent_path))
53
+ majmin = os.path.basename(ent_path).split(':')
54
+ majmin_devices[dev_name] = {'major': majmin[0],
55
+ 'minor': majmin[1]}
56
+
36
57
  for line in open('/proc/mounts').readlines():
37
58
  data = line.strip().split()
38
59
  block_device = data[0]
@@ -41,15 +62,25 @@ def get_devices(device_dir, logger):
41
62
  device = {}
42
63
  device['mount_point'] = mount_point
43
64
  device['block_device'] = block_device
44
- try:
45
- device_num = os.stat(block_device).st_rdev
46
- except OSError:
47
- # If we can't stat the device, then something weird is going on
48
- logger.error("Error: Could not stat %s!" %
49
- block_device)
50
- continue
51
- device['major'] = str(os.major(device_num))
52
- device['minor'] = str(os.minor(device_num))
65
+ dev_name = os.path.basename(block_device)
66
+ if dev_name in majmin_devices:
67
+ # If symlink is in /dev/block
68
+ device['major'] = majmin_devices[dev_name]['major']
69
+ device['minor'] = majmin_devices[dev_name]['minor']
70
+ else:
71
+ # Else we try to stat block_device
72
+ try:
73
+ device_num = os.stat(block_device).st_rdev
74
+ except OSError:
75
+ # If we can't stat the device,
76
+ # then something weird is going on
77
+ logger.error(
78
+ 'Could not determine major:minor numbers for %s '
79
+ '(mounted at %s)! Skipping...',
80
+ block_device, mount_point)
81
+ continue
82
+ device['major'] = str(os.major(device_num))
83
+ device['minor'] = str(os.minor(device_num))
53
84
  devices.append(device)
54
85
  for line in open('/proc/partitions').readlines()[2:]:
55
86
  major, minor, blocks, kernel_device = line.strip().split()
@@ -85,7 +116,7 @@ def get_errors(error_re, log_file_pattern, minutes, logger,
85
116
  # track of the year and month in case the year recently
86
117
  # ticked over
87
118
  year = now_time.year
88
- prev_entry_month = now_time.strftime('%b')
119
+ prev_ent_month = now_time.strftime('%b')
89
120
  errors = {}
90
121
 
91
122
  reached_old_logs = False
@@ -107,11 +138,11 @@ def get_errors(error_re, log_file_pattern, minutes, logger,
107
138
  break
108
139
  # Solves the problem with year change - kern.log does not
109
140
  # keep track of the year.
110
- log_time_entry = line.split()[:3]
111
- if log_time_entry[0] == 'Dec' and prev_entry_month == 'Jan':
141
+ log_time_ent = line.split()[:3]
142
+ if log_time_ent[0] == 'Dec' and prev_ent_month == 'Jan':
112
143
  year -= 1
113
- prev_entry_month = log_time_entry[0]
114
- log_time_string = '%d %s' % (year, ' '.join(log_time_entry))
144
+ prev_ent_month = log_time_ent[0]
145
+ log_time_string = '%d %s' % (year, ' '.join(log_time_ent))
115
146
  try:
116
147
  log_time = datetime.datetime.strptime(
117
148
  log_time_string, '%Y %b %d %H:%M:%S')
@@ -21,7 +21,7 @@ from swift.obj import server
21
21
 
22
22
 
23
23
  if __name__ == '__main__':
24
- conf_file, options = parse_options()
24
+ conf_file, options = parse_options(test_config=True)
25
25
  sys.exit(run_wsgi(conf_file, 'object-server',
26
26
  global_conf_callback=server.global_conf_callback,
27
27
  **options))
@@ -19,5 +19,5 @@ from swift.common.utils import parse_options
19
19
  from swift.common.wsgi import run_wsgi
20
20
 
21
21
  if __name__ == '__main__':
22
- conf_file, options = parse_options()
22
+ conf_file, options = parse_options(test_config=True)
23
23
  sys.exit(run_wsgi(conf_file, 'proxy-server', **options))
@@ -97,6 +97,7 @@ cheng (li.chenga@h3c.com)
97
97
  Cheng Li (shcli@cn.ibm.com)
98
98
  chengebj5238 (chengebj@inspur.com)
99
99
  chenxiangui (chenxiangui@inspur.com)
100
+ Chetan Mishra (chetan.s115@gmail.com)
100
101
  Chmouel Boudjnah (chmouel@enovance.com)
101
102
  Chris Smart (chris.smart@humanservices.gov.au)
102
103
  Chris Wedgwood (cw@f00f.org)
@@ -355,6 +356,7 @@ Pete Zaitcev (zaitcev@kotori.zaitcev.us)
355
356
  Peter Lisák (peter.lisak@gmail.com)
356
357
  Peter Portante (peter.portante@redhat.com)
357
358
  Petr Kovar (pkovar@redhat.com)
359
+ Philippe SERAPHIN (philippe.seraphin@infomaniak.com)
358
360
  Pradeep Kumar Singh (pradeep.singh@nectechnologies.in)
359
361
  Prashanth Pai (ppai@redhat.com)
360
362
  Pádraig Brady (pbrady@redhat.com)
@@ -391,6 +393,7 @@ shaofeng_cheng (chengsf@winhong.com)
391
393
  Shashank Kumar Shankar (shashank.kumar.shankar@intel.com)
392
394
  Shashirekha Gundur (shashirekha.j.gundur@intel.com)
393
395
  Shilla Saebi (shilla.saebi@gmail.com)
396
+ Shreeya Deshpande (shreeyad@nvidia.com)
394
397
  Shri Javadekar (shrinand@maginatics.com)
395
398
  Simeon Gourlin (simeon.gourlin@infomaniak.com)
396
399
  Sivasathurappan Radhakrishnan (siva.radhakrishnan@intel.com)
@@ -440,6 +443,7 @@ wangdequn (wangdequn@inspur.com)
440
443
  wanghongtaozz (wanghongtaozz@inspur.com)
441
444
  wanghui (wang_hui@inspur.com)
442
445
  wangqi (wang.qi@99cloud.net)
446
+ Wei LingFei (weilingfei@uniontech.com)
443
447
  whoami-rajat (rajatdhasmana@gmail.com)
444
448
  wu.shiming (wushiming@yovole.com)
445
449
  Wu Wenxiang (wu.wenxiang@99cloud.net)
@@ -1,16 +1,14 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: swift
3
- Version: 2.31.1
3
+ Version: 2.32.1
4
4
  Summary: OpenStack Object Storage
5
5
  Home-page: https://docs.openstack.org/swift/latest/
6
6
  Author: OpenStack
7
7
  Author-email: openstack-discuss@lists.openstack.org
8
- License: UNKNOWN
9
8
  Project-URL: Documentation, https://docs.openstack.org/swift/latest/
10
9
  Project-URL: Bug Tracker, https://bugs.launchpad.net/swift
11
10
  Project-URL: Source Code, https://opendev.org/openstack/swift/
12
11
  Project-URL: Release Notes, https://opendev.org/openstack/swift/src/branch/master/CHANGELOG
13
- Platform: UNKNOWN
14
12
  Classifier: Development Status :: 5 - Production/Stable
15
13
  Classifier: Environment :: OpenStack
16
14
  Classifier: Intended Audience :: Information Technology
@@ -26,39 +24,40 @@ Classifier: Programming Language :: Python :: 3.7
26
24
  Classifier: Programming Language :: Python :: 3.8
27
25
  Classifier: Programming Language :: Python :: 3.9
28
26
  Classifier: Programming Language :: Python :: 3.10
29
- Requires-Dist: PasteDeploy (>=2.0.0)
30
- Requires-Dist: PyECLib (>=1.3.1)
31
- Requires-Dist: cryptography (>=2.0.2)
32
- Requires-Dist: eventlet (>=0.25.0)
33
- Requires-Dist: greenlet (>=0.3.2)
34
- Requires-Dist: lxml (>=3.4.1)
35
- Requires-Dist: netifaces (!=0.10.0,!=0.10.1,>=0.8)
36
- Requires-Dist: requests (>=2.14.2)
37
- Requires-Dist: six (>=1.10.0)
38
- Requires-Dist: xattr (>=0.4) ; (sys_platform!='win32')
27
+ License-File: LICENSE
28
+ License-File: AUTHORS
29
+ Requires-Dist: eventlet >=0.25.0
30
+ Requires-Dist: greenlet >=0.3.2
31
+ Requires-Dist: PasteDeploy >=2.0.0
32
+ Requires-Dist: lxml >=3.4.1
33
+ Requires-Dist: requests >=2.14.2
34
+ Requires-Dist: six >=1.10.0
35
+ Requires-Dist: PyECLib >=1.3.1
36
+ Requires-Dist: cryptography >=2.0.2
37
+ Requires-Dist: xattr >=0.4 ; (sys_platform!='win32')
39
38
  Provides-Extra: keystone
40
- Requires-Dist: keystonemiddleware (>=4.17.0) ; extra == 'keystone'
39
+ Requires-Dist: keystonemiddleware >=4.17.0 ; extra == 'keystone'
41
40
  Provides-Extra: kmip_keymaster
42
- Requires-Dist: pykmip (>=0.7.0) ; extra == 'kmip_keymaster'
41
+ Requires-Dist: pykmip >=0.7.0 ; extra == 'kmip_keymaster'
43
42
  Provides-Extra: kms_keymaster
44
- Requires-Dist: castellan (>=0.13.0) ; extra == 'kms_keymaster'
45
- Requires-Dist: oslo.config (!=4.3.0,!=4.4.0,>=4.0.0) ; extra == 'kms_keymaster'
43
+ Requires-Dist: oslo.config !=4.3.0,!=4.4.0,>=4.0.0 ; extra == 'kms_keymaster'
44
+ Requires-Dist: castellan >=0.13.0 ; extra == 'kms_keymaster'
46
45
  Provides-Extra: test
47
- Requires-Dist: bandit (>=1.1.0) ; extra == 'test'
48
- Requires-Dist: boto3 (>=1.9) ; extra == 'test'
49
- Requires-Dist: boto (>=2.32.1) ; extra == 'test'
50
- Requires-Dist: botocore (>=1.12) ; extra == 'test'
51
- Requires-Dist: coverage (>=5.0.4) ; extra == 'test'
52
- Requires-Dist: docutils (>=0.11) ; extra == 'test'
53
- Requires-Dist: hacking (<2.1.0,>=2.0) ; extra == 'test'
54
- Requires-Dist: keystonemiddleware (>=4.17.0) ; extra == 'test'
55
- Requires-Dist: mock (>=2.0) ; extra == 'test'
56
- Requires-Dist: pytest-cov (>=2.12.1) ; extra == 'test'
57
- Requires-Dist: pytest (>=4.6.11) ; extra == 'test'
58
- Requires-Dist: python-keystoneclient (!=2.1.0,>=2.0.0) ; extra == 'test'
59
- Requires-Dist: python-swiftclient (>=3.2.0) ; extra == 'test'
60
- Requires-Dist: requests-mock (>=1.2.0) ; extra == 'test'
61
- Requires-Dist: stestr (>=2.0.0) ; extra == 'test'
46
+ Requires-Dist: hacking <2.1.0,>=2.0 ; extra == 'test'
47
+ Requires-Dist: coverage >=5.0.4 ; extra == 'test'
48
+ Requires-Dist: pytest >=4.6.11 ; extra == 'test'
49
+ Requires-Dist: pytest-cov >=2.12.1 ; extra == 'test'
50
+ Requires-Dist: stestr >=2.0.0 ; extra == 'test'
51
+ Requires-Dist: mock >=2.0 ; extra == 'test'
52
+ Requires-Dist: python-swiftclient >=3.2.0 ; extra == 'test'
53
+ Requires-Dist: python-keystoneclient !=2.1.0,>=2.0.0 ; extra == 'test'
54
+ Requires-Dist: boto >=2.32.1 ; extra == 'test'
55
+ Requires-Dist: boto3 >=1.9 ; extra == 'test'
56
+ Requires-Dist: botocore >=1.12 ; extra == 'test'
57
+ Requires-Dist: requests-mock >=1.2.0 ; extra == 'test'
58
+ Requires-Dist: keystonemiddleware >=4.17.0 ; extra == 'test'
59
+ Requires-Dist: bandit >=1.1.0 ; extra == 'test'
60
+ Requires-Dist: docutils >=0.11 ; extra == 'test'
62
61
 
63
62
  ===============
64
63
  OpenStack Swift
@@ -203,7 +202,7 @@ For Client Apps
203
202
  ---------------
204
203
 
205
204
  For client applications, official Python language bindings are provided
206
- at https://github.com/openstack/python-swiftclient.
205
+ at https://opendev.org/openstack/python-swiftclient.
207
206
 
208
207
  Complete API documentation at
209
208
  https://docs.openstack.org/api-ref/object-store/
@@ -221,5 +220,3 @@ Thanks,
221
220
 
222
221
  The Swift Development Team
223
222
 
224
-
225
-
@@ -10,53 +10,52 @@ swift/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  swift/cli/container_deleter.py,sha256=Q2AXyGmMto73g36ujRmjdssEnPez7UJ0hmaV2V92PzA,7279
11
11
  swift/cli/dispersion_report.py,sha256=83sIUEG9ucxXRh7A_4eKW_FGT0mhsYD98weCa0lsWkE,17724
12
12
  swift/cli/form_signature.py,sha256=rSfX6_yzcZ_jNgMj01yfbbcWOtWa9APHoNoUuZGUYFo,5558
13
- swift/cli/info.py,sha256=QTlQi__fO_5DfCnze9bgmseU8vZwGldFh3-SHQAK0qc,25768
13
+ swift/cli/info.py,sha256=irLxOEq9flKX8E6z1edsxIFXN_9mXzF8o_03o5cIyQs,26087
14
14
  swift/cli/manage_shard_ranges.py,sha256=kogs4W_ltSjE3HkkFt5t3MfGsZUf3uD-FlBM7QJMdHk,49199
15
15
  swift/cli/recon.py,sha256=AbdwKk-RoRsBpEK1w1W--VrkzGhV-VDv5COwl_Eaux0,55257
16
16
  swift/cli/relinker.py,sha256=ecwHyEtjgkLbsFJbNbA91-a-sT4HTa8muuR5VMxNhkI,36235
17
17
  swift/cli/ring_builder_analyzer.py,sha256=Ak_qi_UnQU7509RQunK6ANB1b_MW_GL1MnxOHAxjLKA,11977
18
- swift/cli/ringbuilder.py,sha256=o2CV_QT7uCUD6nIovJxojx0Z3ZG1tPIdOLOwil1aqXM,63479
18
+ swift/cli/ringbuilder.py,sha256=prfkl5jZ-ZFd1C5v3cmPWJ2ZpTfV5InWwLylbC5eQEs,63589
19
19
  swift/cli/ringcomposer.py,sha256=pXzs9LbE8RA6z6uDRBb-zvrsGkLSxVsuz58LCcxMNCo,6553
20
20
  swift/cli/shard-info.py,sha256=rMEMaAS4ms8iNvxuBFhm8yfH2FfgS7okWZB0wifLZHA,7462
21
21
  swift/common/__init__.py,sha256=E68YBcsI0CguVRZOPIx-uJaAq32swceKJwT8a4F6-G4,35
22
22
  swift/common/base_storage_server.py,sha256=KUzWLfRuCUkNbAP8ket3KYreYE2qctOjIazFxFRRRk4,2549
23
23
  swift/common/bufferedhttp.py,sha256=6fj7kPKFaab9alhjE5KVTyQh9jtHJEt7bHZ6VDdonPM,12923
24
24
  swift/common/constraints.py,sha256=RjHQX0Cptjns1XdRzaJKLYOkG0aTujLSdUWNq7on3q0,17419
25
- swift/common/container_sync_realms.py,sha256=461bbZWLAnlI85LQFcTtrVgqSY-rprzJt6yrBuuc8GE,6512
26
- swift/common/daemon.py,sha256=DndUZ1ZsX8GMM9Iw8Rva4CE5hbvI4VoP-BumRlfpr88,11857
27
- swift/common/db.py,sha256=i4qrzCR2FFDbCvTC-Xqb7Y_W6rsLIsAbKCkHeuiyUzE,44310
25
+ swift/common/container_sync_realms.py,sha256=1zF3-nROq61h0WCwk3xkGrkSRBYsGc7M2II-zAfWu0Y,6466
26
+ swift/common/daemon.py,sha256=rCVIEx_T_OYupIb0rRiVZjWVz7adW5Ryp7-9IBBOZKY,11940
27
+ swift/common/db.py,sha256=U9MF3BIyqK9XPAucueiT0qeNc__gZn2b-lyf-Te1syo,44975
28
28
  swift/common/db_auditor.py,sha256=gv9svlVzFo_-aUQdAZB9j2u0_ODoiJBa7TXlB9caz70,6706
29
- swift/common/db_replicator.py,sha256=lYhg_5kfYlXOE_Imsm6i8Ya3rUARVZ-75ejaESfgrJ8,45907
29
+ swift/common/db_replicator.py,sha256=Aj88LHiTJLOm2uWgL_tudnsl0ny4apPytehA5IHhNZc,45822
30
30
  swift/common/digest.py,sha256=Aav-FHVHFnNmr8krFvVzZUFcBJhaDN38MiYSi4xz5l4,5564
31
- swift/common/direct_client.py,sha256=-EUdKVUQx5uDtHTdUFVJGleGRLOfi0e6l0kiyem2IuQ,27345
31
+ swift/common/direct_client.py,sha256=D0vZOQDq3-_KjQXfEngdpbxEPnW2Eoto6oh-zuYoR3g,29707
32
32
  swift/common/error_limiter.py,sha256=-jrHWmQ8gHOsuijy_s7YNxorfI8VynvP-mGJm8V-Plk,3466
33
33
  swift/common/exceptions.py,sha256=A3_lJ6fgdvcSVUE1txpa6vsfny5H4fcECdXsXD3_OVI,5855
34
34
  swift/common/header_key_dict.py,sha256=xO0O7eJrrvGtu1NjaTP-WxygKscWAuhWNSRZJxp3mdI,2466
35
35
  swift/common/http.py,sha256=ih6tclv8ZAo1BcQOZ-Z54J6T_-yiebfkS0_Qtg618EE,4623
36
36
  swift/common/http_protocol.py,sha256=Sn3s2ZL-WL_yVtKrkUwJruXKrFrAer1h-2uhI8snAXQ,13975
37
- swift/common/internal_client.py,sha256=YLzLaPbObIrFC5e4QBvxola9kcBJxISNDFzwJL4M5Pc,40288
37
+ swift/common/internal_client.py,sha256=d0-WqfEF5dvRlIqVBo1pHxQ06Btx3G9zVPXHDCMw_lA,41295
38
38
  swift/common/linkat.py,sha256=YV2ZtVCcJ4PKBmkrUuT3ho8gmdRsmrVYLNdoqk-JITs,2389
39
- swift/common/manager.py,sha256=DoXT8BLYoj2UkD-VvdR9-K7VUaWP3DychrYkwNZU8Zw,32293
40
- swift/common/memcached.py,sha256=9TXZn123loQR3qny6hmgUX7sTG6EanUpFlyVO9auKE0,27367
39
+ swift/common/manager.py,sha256=1d2ET5l_pb8NGjCuT3fLGhP8I_Mye0sbb5xAIxc8dHc,32143
40
+ swift/common/memcached.py,sha256=VCu9V2GcoaGV8jEyGTCip9f7RA8XoudjfB1-kDwKBp8,31794
41
41
  swift/common/recon.py,sha256=Geo6_Sv436yfUGC2xwPWTW6B6Clw-OumBTBvOq82j_M,1109
42
42
  swift/common/registry.py,sha256=aXhoX-s3aY9HhfA6URs0k0Dg2sHh4v032Nl0jDLwHXc,5350
43
- swift/common/request_helpers.py,sha256=joDJjwl8qVztwc6v0xD73Qd_Cc9RnVtVs7f6g5dpJIE,36637
43
+ swift/common/request_helpers.py,sha256=bcerNLI8sJx0VsEUNBRDdBLhUw95I7IyIp5LgImaeuU,36602
44
44
  swift/common/splice.py,sha256=ES7GuXDkctf9h2IaR3dF3sC6jOF2zyIoIgXq4MlQitc,5423
45
45
  swift/common/storage_policy.py,sha256=_tTHxDq3frpYMY4QVdVhSWLqR7LAx_PboowaP6RYLiE,37407
46
- swift/common/swob.py,sha256=_yNj1EAW8ij3mbjmi8r191QpNosJSAu17-iFdwazhWQ,61819
47
- swift/common/utils.py,sha256=hGnZqRFIKZOpYogVKKgkifkC3hjEV5mfrZpuYDsVUKE,248342
48
- swift/common/wsgi.py,sha256=5ieIdUeSE388YBby14VZRCfAWoFUdImrsPsEsmMqBH4,47635
49
- swift/common/middleware/__init__.py,sha256=IOJ-Iadd42h9ew4GUcWaPPR8IdRdzGuppNaN1vzainc,1419
50
- swift/common/middleware/account_quotas.py,sha256=js22hI0NliAtWNm8GPXb9Kdyelb4bbdb7yz3lCcHV54,5133
46
+ swift/common/swob.py,sha256=e-TDpW3H5QDoNaPU9IhlyWgF_68JtWbX2aRZYGUnmK0,61905
47
+ swift/common/wsgi.py,sha256=6mRZiCtTCdMSFm5Hgkx-VzkwSDR9ANkBW7cZmvIB2hc,49177
48
+ swift/common/middleware/__init__.py,sha256=idMQFpmj3W1pOF4yFE_FrnmYLbZNaVhIy6S3_IPP0no,1503
49
+ swift/common/middleware/account_quotas.py,sha256=Ziqpuj7I5oXUazNabybm0icLxlaMMhHw8tNIVzWzf8E,8179
51
50
  swift/common/middleware/acl.py,sha256=nP4pZDBZbS1WvHjcvSHzS0lhTJzRVmDZzibujUHK6c0,11619
52
- swift/common/middleware/backend_ratelimit.py,sha256=bpdJwN5_6jYGsgMOZmsZofQlL-u-i4J7BZWFcagKCEY,3252
51
+ swift/common/middleware/backend_ratelimit.py,sha256=RwAM-sNiWPwtWugHEuPZA7Juk24I2WYzwTObloRmA9o,3301
53
52
  swift/common/middleware/bulk.py,sha256=HXEfJnxed_9ZXc1hJ5fRwQQMo1uCcP3pDMpo62inUVo,35716
54
53
  swift/common/middleware/catch_errors.py,sha256=NDJFj_A3Zl4lryJsh8SNHGWGpG5_Kp-PxGeh3qvWKww,5895
55
54
  swift/common/middleware/cname_lookup.py,sha256=ydVQ4F7FXHufgzKydJQB8ViPF1fiqCBzhpur13a_3Fk,8643
56
55
  swift/common/middleware/container_quotas.py,sha256=I5S9ZK5IYs4kv-kzBeZ4Exdg2Vx2fPPS0kb4IzIJPRw,5444
57
56
  swift/common/middleware/container_sync.py,sha256=2Y8CHWJM-Vbu-AkD58jkNysGy6zw_ymEAIG95P1w82o,7596
58
57
  swift/common/middleware/copy.py,sha256=NUTeuyHt9gaLakwy_tZq31qe056FREXLFZYcC5x6JAI,19602
59
- swift/common/middleware/crossdomain.py,sha256=PQej8LvgUjde-k80aO689XXFUJnCkYdhoh9jCO37wCk,3489
58
+ swift/common/middleware/crossdomain.py,sha256=iCzBcfEV3z2wBTwnv_iE3TZ2ZqQNGJiVs-ZNJn7XVfk,3813
60
59
  swift/common/middleware/dlo.py,sha256=a1trnB19DF3Y04FfVvTRSaSWwCj23odhWmsB3ap4xug,20396
61
60
  swift/common/middleware/domain_remap.py,sha256=zbxba6P9bqcA-gjFs2G7MWPAvjGxXAE9CmADVS9zHgM,8750
62
61
  swift/common/middleware/etag_quoter.py,sha256=ZbqG0TEYFfz9T9k1VaoI0va51_6sH8wDHEHVvehKJcs,4925
@@ -65,19 +64,19 @@ swift/common/middleware/gatekeeper.py,sha256=OlF-Qk1OZ-XKE3tCoKv0TNn-wOnWLHwvqeF
65
64
  swift/common/middleware/healthcheck.py,sha256=3F4UgutBgQpTYfe_Oh2Kh8cQfUbdT0_k4BrmZnjK97M,2075
66
65
  swift/common/middleware/keystoneauth.py,sha256=JUkP2wI8sq3tL6iWYMK_2S9CQvUtnBbB6Jw8J1LOOzI,26901
67
66
  swift/common/middleware/list_endpoints.py,sha256=LkBJhLoREsw7Sy3O0HEOEXO8k2N4sx32hEvILsJzUow,10060
68
- swift/common/middleware/listing_formats.py,sha256=GEKnBQAe3f0_4NQcLahL9aD8UFNzvzkji-GLBdvksB8,10610
67
+ swift/common/middleware/listing_formats.py,sha256=mtxvTW1sRjO3Z6tI-7OdcAlT4DtRjh-U_M7r-HqkfsI,10285
69
68
  swift/common/middleware/memcache.py,sha256=YENYsIaZZ1wM1IWfmlJzVrAfF0Eb0HF8YAwuj1HupoY,1308
70
69
  swift/common/middleware/name_check.py,sha256=K3PzYs7lW1fe7anYFdcC6ijMChcsvNbtw4Sio8Dec_8,5366
71
- swift/common/middleware/proxy_logging.py,sha256=PKDODJiN2llmbdCkMNiJvgbizR7NDCI7rsr1_Z6X4OA,21840
70
+ swift/common/middleware/proxy_logging.py,sha256=EihjISI2J76ZcuB6CyJZmcDJ5T0RXHDxnZNPwJqrBX4,22026
72
71
  swift/common/middleware/ratelimit.py,sha256=9LACbpBgfKXSzGPzVvTzmWfjd6dUSvV4quTRxbbkcwM,14295
73
72
  swift/common/middleware/read_only.py,sha256=ukXiA8Dv4JXJsRWkviEJX6dqvTVT8skpE6LFIp2T3mM,4559
74
73
  swift/common/middleware/recon.py,sha256=XGOsIvZatAcVhR2K7AYhtkUB4kNXm77gqGYc9qIVaxw,18164
75
74
  swift/common/middleware/slo.py,sha256=mjIql9WxHWs5yO0GS9AF38Yi3l1DMLWK3Ebl3mZqbKo,76009
76
75
  swift/common/middleware/staticweb.py,sha256=YzDuKc6AqA7UhQ-AgrB_m8AysyB2xiNjgwvEp_a45Xo,24807
77
76
  swift/common/middleware/symlink.py,sha256=qzKpxDg1400uYCVs2ia0f-cz2Ty--sP70qALymCsWfw,35236
78
- swift/common/middleware/tempauth.py,sha256=mb3lo5f6o9NdPp3a_nRE-E9xJ3gRd5vW4sLQ5BCO9g4,38471
77
+ swift/common/middleware/tempauth.py,sha256=7c1nZ2X2t2F7P4E4yH9XIvC5i2Pao0DHPvXKYAtVQ-E,38318
79
78
  swift/common/middleware/tempurl.py,sha256=WctXbxh970QloVdT3fSpg9Kemr5aJWGuovAV_dnE0zg,35489
80
- swift/common/middleware/xprofile.py,sha256=cn_jvy6fSjm-tfKlMGxGRjbN23oG1QlizxZVzQIkjd8,9918
79
+ swift/common/middleware/xprofile.py,sha256=hO5WCHOKhP-ErgWF43cbEgkC83Y0dVeqoJ2w8B0EN6E,10148
81
80
  swift/common/middleware/crypto/__init__.py,sha256=ZI-Tnqg3AMVgDzAhkWFtAlKFJqXGAzYMzSquwK2OnUk,1498
82
81
  swift/common/middleware/crypto/crypto_utils.py,sha256=VQQuWFFrv0dL7XcBMiKLu3mXSL07hcwJLY8j9FlCLi4,11446
83
82
  swift/common/middleware/crypto/decrypter.py,sha256=D8fPuxcZFtAL5GT82n9UcuLai-k9LuW9o4sAbjXtoCg,20452
@@ -90,16 +89,16 @@ swift/common/middleware/s3api/acl_handlers.py,sha256=5-n15Z0vXVI1E9cdUD9tEUfCrdj
90
89
  swift/common/middleware/s3api/acl_utils.py,sha256=9_YeR76DqKgHNYtxUZbHMRjvVctgI22Q151i6IRyx2U,3902
91
90
  swift/common/middleware/s3api/etree.py,sha256=zoWYOIutUcdVoYbxWgdBiuv_UJMztwDj7DscwLg2-og,4800
92
91
  swift/common/middleware/s3api/exception.py,sha256=b2a1dlC0oyG38EZ7dzYLrIQf1XOk9srgMzN-NDZS9cc,857
93
- swift/common/middleware/s3api/s3api.py,sha256=kjGx5jXz9g55qmdmTVia316IfyqP2614fYRGBeJJTGA,19215
94
- swift/common/middleware/s3api/s3request.py,sha256=0Tjzq_VGQHpA7tpLaOeQxQw_38GDcVmB2q-VjW3xHyE,64431
95
- swift/common/middleware/s3api/s3response.py,sha256=2riDK9l5yBhHj5EMdfLC7TfIvwh7XMk5TJFhiQJR958,24858
92
+ swift/common/middleware/s3api/s3api.py,sha256=-oM0-8DI5SlO2qfMUVjX_YRMgeKLVfxmvgB45MLDiLk,19409
93
+ swift/common/middleware/s3api/s3request.py,sha256=DOvIiuqbLdpKtdE6dIPR_P-WMcFfFDnLIf_1f8a9JSI,65294
94
+ swift/common/middleware/s3api/s3response.py,sha256=U0LwJcM7XlebCaRyR41Rw7kDDCpxEWUvdhYUEMcI2yI,25128
96
95
  swift/common/middleware/s3api/s3token.py,sha256=NhavsCw-Vck7hke90VECfijFnDWIAUWsK1m-uX_GogA,17559
97
96
  swift/common/middleware/s3api/subresource.py,sha256=CLu6YKDYdsV5JwIy7ohYWlDb9ZrSS8nQX-YqbLNtC7A,18381
98
97
  swift/common/middleware/s3api/utils.py,sha256=a0ytiQfJJm8BeZy9-OYjZITkTmD64UMkIKLS0TtQ200,6567
99
98
  swift/common/middleware/s3api/controllers/__init__.py,sha256=akmyVAG6PQZ35DOs98YW46kSI-QaffIB7kiYSdNJjw4,2054
100
99
  swift/common/middleware/s3api/controllers/acl.py,sha256=Nkrm-lHme9yUY9Pc2V57yW8f8ejqVfT0NNakW7a0zOE,4908
101
100
  swift/common/middleware/s3api/controllers/base.py,sha256=1Nk1d_R8xJRZhSx8Kxdn0Inew-mXgUHLDrHHbarnBT0,2947
102
- swift/common/middleware/s3api/controllers/bucket.py,sha256=w7uV2V175cSIyykp3FP_zUoUj3fvA73mONdS0lWzHFI,17469
101
+ swift/common/middleware/s3api/controllers/bucket.py,sha256=u55Ttqb1AYK6RySO3_if5OicSOulrbE-at-jJ_tcEiI,17706
103
102
  swift/common/middleware/s3api/controllers/location.py,sha256=LZmlOaZ5pyhGV28oijnTxWMC-qaWHDup_77O4qeRQdE,1410
104
103
  swift/common/middleware/s3api/controllers/logging.py,sha256=vNnuant1T9j6-3Cdv67iDriB0Zxx-55ErFAnNaK6Xg4,1677
105
104
  swift/common/middleware/s3api/controllers/multi_delete.py,sha256=-1OVeqK6vHst2Jeg2lWzW2r6IcYbNJGLhnAOxXUlghw,7497
@@ -129,105 +128,109 @@ swift/common/middleware/s3api/schema/list_parts_result.rng,sha256=Yzdla3TPUR1FlP
129
128
  swift/common/middleware/s3api/schema/list_versions_result.rng,sha256=KLUcfHGN5a_-KCnBayPd6bHS07kbrE0oZQBAb7T3-bU,3005
130
129
  swift/common/middleware/s3api/schema/location_constraint.rng,sha256=VK1bgBrAmijS537envEDmirCQcdf7RklULnUT8FujM8,269
131
130
  swift/common/middleware/s3api/schema/versioning_configuration.rng,sha256=gogpuRGUc5q8bKYS-iIgrcb4D3j7O_5H4s71YwNHvuw,652
132
- swift/common/middleware/versioned_writes/__init__.py,sha256=DBLBxEcD797q6gV9fex0g3nc8p90sA2UscBq8RaiV3k,2294
131
+ swift/common/middleware/versioned_writes/__init__.py,sha256=l1Mn8U28876YDf5dVFkGgQvv-PV3z6DvWcmqfE5RzQs,2118
133
132
  swift/common/middleware/versioned_writes/legacy.py,sha256=OLXfy7h_P-zyBDbxRjhrNe9rOUzREbuSRC5mi9oHJo8,38701
134
- swift/common/middleware/versioned_writes/object_versioning.py,sha256=h5Xpj9bOqdjKsPji9zLzeHnaqbl5o2KyL3jdBq4367g,65115
133
+ swift/common/middleware/versioned_writes/object_versioning.py,sha256=HAxehk0_f7LiLeHEeE3IScxGGfFMNaeEr8weQILNVvc,66014
135
134
  swift/common/middleware/x_profile/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
136
135
  swift/common/middleware/x_profile/exceptions.py,sha256=SqY5ctBPu9_PINZGWQeXt8_OfDFg_Mk8zi3vl-hfW7M,1057
137
- swift/common/middleware/x_profile/html_viewer.py,sha256=6jnRMbBr_f2i9iEj7XsVRnPLPZZm3SHVR6Hvkgpdgig,21405
136
+ swift/common/middleware/x_profile/html_viewer.py,sha256=M7ddSZCes4xnzN1aW7Bft5vNbz34eTNznPwZgNrJwHo,21404
138
137
  swift/common/middleware/x_profile/profile_model.py,sha256=E7YoHPvlbSawaWzlSRmicsJZK0Nh7lA1RJpXb9Dw0r8,10237
139
138
  swift/common/ring/__init__.py,sha256=WgGFseZj8r2UtBCBcZiCgzbUoWCGv4ND1MCEv5IW7aA,758
140
139
  swift/common/ring/builder.py,sha256=N61Pcx2vX7JAnEdXR3HR12vd9iC4htOImo-rBKuswf0,81478
141
140
  swift/common/ring/composite_builder.py,sha256=IY4Q6Bul4yJDPVdRGr6iMt1KSh3sDmEo22YZJqxrm58,31543
142
- swift/common/ring/ring.py,sha256=1LjPj4KKnAClOWuXSetKCiidXaXnwdvtlIkAiUbJOhc,24289
141
+ swift/common/ring/ring.py,sha256=5RVbpjqiaIt_dlRTHz-8KYr0S6OiNzLFsY5IsVfAlwg,24275
143
142
  swift/common/ring/utils.py,sha256=nMd8q_kvMkj81XBzfDc3S8zw1YG_oWgK3PyzFZSy5Q4,26083
143
+ swift/common/utils/__init__.py,sha256=cZzPjPFYWFioY4bp05u7yneELmKklC7i1I_ByjRnu4s,228583
144
+ swift/common/utils/ipaddrs.py,sha256=ZsLWg48yItpQhRSGFdzoLMVqY2k3wRX0YM5boYEJVsY,8550
145
+ swift/common/utils/libc.py,sha256=Vouiaczjt100Opr5kDeRNiCxFDtQgJPU0E17aH1NGTk,12084
146
+ swift/common/utils/timestamp.py,sha256=mnrjYmp4A5C4BqVFka0DHziVEmHdvqtK00bXPSPRT4Y,14927
144
147
  swift/container/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
145
148
  swift/container/auditor.py,sha256=nvoSyDKpH1IIESbO2Ulb5OQWDBzfQzdzr-qkvpHgOCk,893
146
- swift/container/backend.py,sha256=ypa1mo52RgB0NP5m76wktMZcvI7B6ePJf6YJQGU3ncQ,100775
149
+ swift/container/backend.py,sha256=Mr9rSpZbR-aAUuvMnN-P0JTcb5uUWb4jFy3ZZ87qOU0,104276
147
150
  swift/container/reconciler.py,sha256=Rk5TyPySZKue0hFhgJJhtN2Zl6JMtKoXNOloDq22qD4,36409
148
151
  swift/container/replicator.py,sha256=_kUpkz83wSA0EMtK9nOJzzY1Wqaoo9bmh66baaOhn30,17707
149
- swift/container/server.py,sha256=V2WswmlhJkipLwn9wQb2zUzzK01qXWQi9E9JsoOzPKM,43573
150
- swift/container/sharder.py,sha256=8l5MKxHny6o3ZzogFXp3slFg_0WHUsChTG1qPCWSg3g,119701
152
+ swift/container/server.py,sha256=ITx9-zlAE8XCGv7Xg-v107cTiFPzU6W4frauTgTe4pU,43934
153
+ swift/container/sharder.py,sha256=kDZ_WQgo1q6Nbz9zFiqRpjrFqyeaXFtEV9aT0mONFxM,120527
151
154
  swift/container/sync.py,sha256=Q5gaczkggb_P6OYPq7C62_F9zRI7URvzDAeY1nTd_RY,30667
152
155
  swift/container/sync_store.py,sha256=f2bPjM6uyW7dg9QUkhJR1G2L-CSmADbS_jL-d-9SNwI,6843
153
156
  swift/container/updater.py,sha256=EUW8Ifv_xgXKbUz7STUX3sjlcnQyTA7afhhwgVFMxgY,15384
154
- swift/locale/de/LC_MESSAGES/swift.po,sha256=rbZ7F8H27gsiCVeh1QDlWnWG2oSxK7upGMA3higZQ2I,13511
155
- swift/locale/en_GB/LC_MESSAGES/swift.po,sha256=EAhZY83Zf9xdEfU8TAXfcc8k1SkaHEN9GcaQ9cB52kI,13680
156
- swift/locale/es/LC_MESSAGES/swift.po,sha256=UTNbyXuGhRgBZ7iGJEVx3EZTUlUqMkqOVh-9UBVbgYM,11623
157
- swift/locale/fr/LC_MESSAGES/swift.po,sha256=ehMKpCa8I7RvW2_gaU5z-CuFFBIHuAWrc5rgjzyq3lM,9020
158
- swift/locale/it/LC_MESSAGES/swift.po,sha256=Sny55L5blCcUtKBB1qCWlYhE2ovnIknyXNrNEovz-sc,8936
159
- swift/locale/ja/LC_MESSAGES/swift.po,sha256=fXcu-kq730KZl1u8LxppHbECi1-dE0aSo39mRCGIXnA,12679
160
- swift/locale/ko_KR/LC_MESSAGES/swift.po,sha256=bEgbH68QzjfZQdZrmX6OkxVxbbEcpkYnv2Mfi8-lHAs,12490
161
- swift/locale/pt_BR/LC_MESSAGES/swift.po,sha256=oooy4NAjLAYs6cJyhavB-smK1yYYh3bIRn2wo_8fwME,8835
162
- swift/locale/ru/LC_MESSAGES/swift.po,sha256=7qmASFzg-cb-_KM3Dn4oPqJxM0Z3kT-SBdgB3vMfSUc,10853
163
- swift/locale/tr_TR/LC_MESSAGES/swift.po,sha256=108Vib8QwPBz9oim6eud3i4AWPgBa1B9ATgPgTgbwv0,8309
164
- swift/locale/zh_CN/LC_MESSAGES/swift.po,sha256=8hEa-3riq7aN1BqTBA4T8S0St7SaC8JJe9jO0dFAtAA,7920
165
- swift/locale/zh_TW/LC_MESSAGES/swift.po,sha256=JGHSSfgfMoifrTdHR3tGYHO1xJQxCPzJXJ8oKZTHdWE,8190
157
+ swift/locale/de/LC_MESSAGES/swift.po,sha256=h5X1YqXO7oPaGJ-zZ2KAwO8UtunD_viSHPSiy24s1TA,4163
158
+ swift/locale/en_GB/LC_MESSAGES/swift.po,sha256=AM0-3U_h44llPb65iXb-L4Kd9tPRpLxWhjsl7gIxCmE,3915
159
+ swift/locale/es/LC_MESSAGES/swift.po,sha256=ivBdhGNuQ5JgbYrxzSyLwfdL9wmtP81wA2Lw6AwEnco,3583
160
+ swift/locale/fr/LC_MESSAGES/swift.po,sha256=T87q1-smkmFTV2RIr1FeWoNcunMY3wmiwG1X2VOMnVQ,3202
161
+ swift/locale/it/LC_MESSAGES/swift.po,sha256=toaMprvd1pC6CSnw_zib0aNZEt6lyiOcPaUh_XB3Ntk,3253
162
+ swift/locale/ja/LC_MESSAGES/swift.po,sha256=JYePWcs5Zc3gRsBHtLa9wfy7pgxUMDMRKY2R6SuUPI8,3893
163
+ swift/locale/ko_KR/LC_MESSAGES/swift.po,sha256=k_rlZkpKS46r0THZgcNoq-4OdaATPvzurbwtlNyewlE,3384
164
+ swift/locale/pt_BR/LC_MESSAGES/swift.po,sha256=2XamvXsCOdoUKy-j00DgLbRogCvsZuGpA0Sy6n6mEnw,3346
165
+ swift/locale/ru/LC_MESSAGES/swift.po,sha256=WyRR3-RcyQuCfmSfYEwFAFpjdqmHtOH5wrn2Vhop6OE,3783
166
+ swift/locale/tr_TR/LC_MESSAGES/swift.po,sha256=aelAgGrepJzS1zhL2iB-_Oof-9auaQZRWt647BuIe4M,3067
167
+ swift/locale/zh_CN/LC_MESSAGES/swift.po,sha256=80GHED9QBvQyNwRwS9VFp1HGAqGr4PKaPUF2guadKFA,2975
168
+ swift/locale/zh_TW/LC_MESSAGES/swift.po,sha256=ZmyfBdfv8r8H3b-pn9gz88CEsPmNF1M8D0hkkoKTuzI,2957
166
169
  swift/obj/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
170
  swift/obj/auditor.py,sha256=23O-LqfUFplrZ1PleQ0mysVJ9M5sRgzKBx6XTZeB42E,23480
168
- swift/obj/diskfile.py,sha256=SnE0iLIrvxUHba2r0_KDV_N0EruQ7ppIBR_lnsjm5CU,161690
171
+ swift/obj/diskfile.py,sha256=2C_Ydecq43_A7eWgx3zkRBX2KQo3gsQwzxoykd-l0Tc,162562
169
172
  swift/obj/expirer.py,sha256=s1ueBTpLkRub_QROTrUaxakOphC6qJMp5Q7zCGmNpMg,21643
170
173
  swift/obj/mem_diskfile.py,sha256=fb4o0iS_1xatY5e2TAo2MUeZ52LI2QI223vRS9JnTtE,17241
171
174
  swift/obj/mem_server.py,sha256=_LvbwKSVkpvTvSKnr68OqGnfX9_R7tHK5E-ebfJSZHE,1965
172
175
  swift/obj/reconstructor.py,sha256=aNhSrjrmpk1SEPpdgCLAjyhH-EgL38jy64a1B-RcAto,71156
173
176
  swift/obj/replicator.py,sha256=0Q3nlYBxYbl4AeNVmKamACFnGBeTPg6iWn2Gd5I-nIo,51672
174
- swift/obj/server.py,sha256=48RFMiIDFsfz3ccbmxWMuiHzMNRZU0Pup4xqRT-nXfA,67796
175
- swift/obj/ssync_receiver.py,sha256=3slDYhbcVDywNNAi3GyZcE_9WHXgzw3Gkq5hbKIQ-_g,24101
176
- swift/obj/ssync_sender.py,sha256=RhQAlWBIgja-Z3RLemdcRcn9OkHR90_kV9W6tqLbV2U,24616
177
+ swift/obj/server.py,sha256=EmclvqX3p_ybSryXO05kP5ElBkLKJZALPgqHoxlogwE,68340
178
+ swift/obj/ssync_receiver.py,sha256=XKPxRMsqg6qqp76gaXzro5a02LLjpqPPHhH4VFftbVE,24684
179
+ swift/obj/ssync_sender.py,sha256=8xw0SfnYvcmRb9IyUrRVIbC8WsMzRDP_kNrdORWl84Q,24703
177
180
  swift/obj/updater.py,sha256=Pbl1N7L5CZEsrsNiRa_-tgpwT3ZCVIgYSnqjB0IanpA,33373
178
181
  swift/obj/watchers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
179
182
  swift/obj/watchers/dark_data.py,sha256=IcYYIQ4DDHowIYv2NanYTZEnZTQ_1FJVvSr8daVfuXM,6531
180
183
  swift/proxy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
- swift/proxy/server.py,sha256=FKpU3O82NMFINrEPlATIEpm9mWP4A8pVYRTQn3R5IFM,37097
184
+ swift/proxy/server.py,sha256=P6vwMzZwmDYtc6WT6SGG8DtG1UAGffHCmDecWnZSPf8,36867
182
185
  swift/proxy/controllers/__init__.py,sha256=w3H7qtpUavnczPLXJtiaDJISr2TAcihou9Q04ysRg3U,982
183
- swift/proxy/controllers/account.py,sha256=xtTgKS7VUpxBI5QJ9EOgFiryjR1SxLwPY20vp6-V9NM,8426
184
- swift/proxy/controllers/base.py,sha256=AuXZkDCJ-oD9iRXCvg7VFdHCBK1RPhHQdTRiKtB8WCk,100655
185
- swift/proxy/controllers/container.py,sha256=YFrrHxhURo76nghe3Aeb3iHUXpkq_Ifsj_RXCV-bdkk,34751
186
+ swift/proxy/controllers/account.py,sha256=R6No1xTQ0LmeC_J4rIU2O9NDgbklQ6_1OrELiPaUFbk,8384
187
+ swift/proxy/controllers/base.py,sha256=744QKztsB7HM324Y1qeSBn18O71Wz2S5DGEVW5WZXUA,98763
188
+ swift/proxy/controllers/container.py,sha256=nP6-1AwxJOTUk4xw_b47OXuve-MX04YrpuOaM0qMho8,37762
186
189
  swift/proxy/controllers/info.py,sha256=QSvBwBJjwO3QIktINMCjcYgBi-QAi3wHWKmyf4AtQz8,3859
187
- swift/proxy/controllers/obj.py,sha256=wWB1xE5tBeEuf6PhtZIpFJeS32lcEOmM_wTPuhLUcFM,158019
188
- swift-2.31.1.data/scripts/swift-account-audit,sha256=m6SBGlpb1pQG02fknJWSk69GkpxCtNuBeYfSKHRuBVM,16683
189
- swift-2.31.1.data/scripts/swift-account-auditor,sha256=7Rv7iNLdx_AFPyDiCfBIlI2MyktnGUaRFCbclhs0aIw,872
190
- swift-2.31.1.data/scripts/swift-account-info,sha256=fmwMDT6NL5L0sAiRKeBsdJWZ03A6IvJFiGMO3zNNDcY,1716
191
- swift-2.31.1.data/scripts/swift-account-reaper,sha256=cShVUVEAYare4Y7_YnvQq_sk5TRa_P6IpJmIEDndhoI,869
192
- swift-2.31.1.data/scripts/swift-account-replicator,sha256=3WfAFxjOhQtBKA_Kp8XHYjdlhc749MuiXLhDV0CwwvA,1424
193
- swift-2.31.1.data/scripts/swift-account-server,sha256=ChjT_FdIOoT831O7XbzGWUzvfkkMHAWib9fzPI16zG4,831
194
- swift-2.31.1.data/scripts/swift-config,sha256=OFhAuKVjUcV3XH-GZ3ZyiqN0QR7iCkzoRYDoXPMYHkk,3081
195
- swift-2.31.1.data/scripts/swift-container-auditor,sha256=_6w3v5m6--Ly1P8Hr5ymVVWcLzkcVJrXouTGjlM73yI,878
196
- swift-2.31.1.data/scripts/swift-container-info,sha256=E9XsNRZxxRx4U7gnjRwJmO70OZyDzLfON2H90yvobuk,1946
197
- swift-2.31.1.data/scripts/swift-container-reconciler,sha256=OkLmgJWhXgyJAyjfMwyXC5YV6hJtLCSFTJCZ8GpSgJE,838
198
- swift-2.31.1.data/scripts/swift-container-replicator,sha256=mpTaU5JGCPmP8es4ImDchJcQyjGj1C9YpeyQOg6CxWE,1430
199
- swift-2.31.1.data/scripts/swift-container-server,sha256=jSen3yGUVE6ROyWCWwzOP09-4ZNABEyf0YUZKT6-R0E,833
200
- swift-2.31.1.data/scripts/swift-container-sharder,sha256=983bTHxlrcum_ABazWb88yKoBy7Opyy5p9tbIeyk_Gk,1693
201
- swift-2.31.1.data/scripts/swift-container-sync,sha256=CstcpsvwRxfKoIlnSRN5JR9DuyWtVFKDTWQoHAhyC4g,869
202
- swift-2.31.1.data/scripts/swift-container-updater,sha256=9V8fkM0jikjtAXSm-6Tvx-veJxGXCQyC1W1BMCelNew,878
203
- swift-2.31.1.data/scripts/swift-dispersion-populate,sha256=ZC4Z4W4NjmQoQu3L76lJsuOppfy1OBBcr4RIVd3vNGY,11409
204
- swift-2.31.1.data/scripts/swift-dispersion-report,sha256=aY4GzuRqTKERW0hm0ot6VYDk139lU1VDP30cjjlo-eA,726
205
- swift-2.31.1.data/scripts/swift-drive-audit,sha256=pc4CjTjFMtjm_g4t8pcJ1cJ-vXxoANWN1xATJa9n_Cw,8944
206
- swift-2.31.1.data/scripts/swift-form-signature,sha256=2FG-zmTeF0F1xX15_VtWdk4_qeJxutk3S5KdoVk2rF0,681
207
- swift-2.31.1.data/scripts/swift-get-nodes,sha256=tKZdixw9GkNWS7GmFMtaqM_RgI_sgikwDbPmeYc12fQ,2817
208
- swift-2.31.1.data/scripts/swift-init,sha256=q5NOmFOTWJ34g5L6LwzSXzbGCjt_y3az8iz7wQ1f1rA,5097
209
- swift-2.31.1.data/scripts/swift-object-auditor,sha256=wS5U9bhxE28CO72tV5dQKmTaaklyCuAHK_ealswjiXs,1212
210
- swift-2.31.1.data/scripts/swift-object-expirer,sha256=8SWD9EU28aEdrDm6qxIGmaH7ACkdn-HX1e3_Lr7vNcs,1494
211
- swift-2.31.1.data/scripts/swift-object-info,sha256=3oggJ3ZF531W7LM5CKYR1QEpK1rW2Cdt_3o1zicz1wk,1986
212
- swift-2.31.1.data/scripts/swift-object-reconstructor,sha256=dnm1p2jHrES8-6lLNGAEuw0wvrqWiS74mqgLll7LLxI,1431
213
- swift-2.31.1.data/scripts/swift-object-relinker,sha256=7_srgcnBhvaPgmifZeRb9IreGR0KeQWxkHeWw1NvY-w,668
214
- swift-2.31.1.data/scripts/swift-object-replicator,sha256=aLlEMBR6RVOw8UFm4tqtBZNPntrYxgQHbxjhxMQZVsg,1644
215
- swift-2.31.1.data/scripts/swift-object-server,sha256=OQEmPwr3QcWL2D40Vmt49v5-ohqYu7t6Q2rbv01AJnM,954
216
- swift-2.31.1.data/scripts/swift-object-updater,sha256=bwG2KI9cGCDPKYzpnfIYHT6x4y1pCJ4dgqUhVZmnxIQ,866
217
- swift-2.31.1.data/scripts/swift-oldies,sha256=Wovqw-JpSPp26Bhj_mC42pEzNabNx7H_HGhtyqLtN3s,3346
218
- swift-2.31.1.data/scripts/swift-orphans,sha256=LasdlgiZHGpC7U20gHVl49mBDA2C2zj-_llCGKepLJk,5005
219
- swift-2.31.1.data/scripts/swift-proxy-server,sha256=FbGNEKWnNaBhdDijyNL7lokgtpGgImvHYqJhw1HXUfs,829
220
- swift-2.31.1.data/scripts/swift-recon,sha256=08VMHgSFgI9w-IND7PjFvyyVwGTJiVAjDEjrQjSMBow,725
221
- swift-2.31.1.data/scripts/swift-recon-cron,sha256=7y7_yXMD_DUt_hSWLUjtiGDZFavQw641vfWW0z99VuQ,2911
222
- swift-2.31.1.data/scripts/swift-reconciler-enqueue,sha256=MUj9Zo_sgBsHxG-CJ675FiJn0duMa5EJfKZAoiO6mpM,2547
223
- swift-2.31.1.data/scripts/swift-ring-builder,sha256=T4fbV9Rf1Sa6eZVnrUNQxo_v9pOsXlKtP5CeI-BV4m8,1093
224
- swift-2.31.1.data/scripts/swift-ring-builder-analyzer,sha256=184GLK94EO7EQhO3Rc8G61sPttJVNOqvMZoD_R83bMM,724
225
- swift-2.31.1.data/scripts/swift-ring-composer,sha256=AnR7DIcCZ-cgLpgyCiRaDgL1BZaRWJUPhtQ03VhkDKI,700
226
- swift-2.31.1.dist-info/AUTHORS,sha256=7lMrHM27DsbxoboHN5muq-VXRUxKlhFRoRUM1uibhow,17757
227
- swift-2.31.1.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
228
- swift-2.31.1.dist-info/METADATA,sha256=yOgJnyeI7CNV_NtXyxY7kqx-I8pfo1pHy7XH9shlACE,8723
229
- swift-2.31.1.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110
230
- swift-2.31.1.dist-info/entry_points.txt,sha256=_-B-ljosswQCW6_kbpARA6B2_c0n8sEnFSPQuzuOhkQ,2973
231
- swift-2.31.1.dist-info/pbr.json,sha256=fWPreaplsPzIacRT3ApOl2vhzs5J5Kqqwh6APwyZPNM,48
232
- swift-2.31.1.dist-info/top_level.txt,sha256=nVzNOToyzq0MM7JtrpalfOaPV9UIfm_lXhHX0duhVps,6
233
- swift-2.31.1.dist-info/RECORD,,
190
+ swift/proxy/controllers/obj.py,sha256=HuqFGRHu3yc_trLeSeStPb5N3O5LVUkGxgnZIXM09u8,151050
191
+ swift-2.32.1.data/scripts/swift-account-audit,sha256=m6SBGlpb1pQG02fknJWSk69GkpxCtNuBeYfSKHRuBVM,16683
192
+ swift-2.32.1.data/scripts/swift-account-auditor,sha256=7Rv7iNLdx_AFPyDiCfBIlI2MyktnGUaRFCbclhs0aIw,872
193
+ swift-2.32.1.data/scripts/swift-account-info,sha256=fmwMDT6NL5L0sAiRKeBsdJWZ03A6IvJFiGMO3zNNDcY,1716
194
+ swift-2.32.1.data/scripts/swift-account-reaper,sha256=cShVUVEAYare4Y7_YnvQq_sk5TRa_P6IpJmIEDndhoI,869
195
+ swift-2.32.1.data/scripts/swift-account-replicator,sha256=3WfAFxjOhQtBKA_Kp8XHYjdlhc749MuiXLhDV0CwwvA,1424
196
+ swift-2.32.1.data/scripts/swift-account-server,sha256=msohuJQi0IhUcwcxKsce1Nzo0fe-EQgSqmPouVNE3E0,847
197
+ swift-2.32.1.data/scripts/swift-config,sha256=OFhAuKVjUcV3XH-GZ3ZyiqN0QR7iCkzoRYDoXPMYHkk,3081
198
+ swift-2.32.1.data/scripts/swift-container-auditor,sha256=_6w3v5m6--Ly1P8Hr5ymVVWcLzkcVJrXouTGjlM73yI,878
199
+ swift-2.32.1.data/scripts/swift-container-info,sha256=E9XsNRZxxRx4U7gnjRwJmO70OZyDzLfON2H90yvobuk,1946
200
+ swift-2.32.1.data/scripts/swift-container-reconciler,sha256=OkLmgJWhXgyJAyjfMwyXC5YV6hJtLCSFTJCZ8GpSgJE,838
201
+ swift-2.32.1.data/scripts/swift-container-replicator,sha256=mpTaU5JGCPmP8es4ImDchJcQyjGj1C9YpeyQOg6CxWE,1430
202
+ swift-2.32.1.data/scripts/swift-container-server,sha256=iJAbVpY3UG85va-4hyLdWwkBGnTeeSS68l__4P-1cQA,849
203
+ swift-2.32.1.data/scripts/swift-container-sharder,sha256=983bTHxlrcum_ABazWb88yKoBy7Opyy5p9tbIeyk_Gk,1693
204
+ swift-2.32.1.data/scripts/swift-container-sync,sha256=CstcpsvwRxfKoIlnSRN5JR9DuyWtVFKDTWQoHAhyC4g,869
205
+ swift-2.32.1.data/scripts/swift-container-updater,sha256=9V8fkM0jikjtAXSm-6Tvx-veJxGXCQyC1W1BMCelNew,878
206
+ swift-2.32.1.data/scripts/swift-dispersion-populate,sha256=ZC4Z4W4NjmQoQu3L76lJsuOppfy1OBBcr4RIVd3vNGY,11409
207
+ swift-2.32.1.data/scripts/swift-dispersion-report,sha256=aY4GzuRqTKERW0hm0ot6VYDk139lU1VDP30cjjlo-eA,726
208
+ swift-2.32.1.data/scripts/swift-drive-audit,sha256=-VqME4BTMs3Trdq6jqfB8M23ChGD9nlWG2rLx1QRxe0,10383
209
+ swift-2.32.1.data/scripts/swift-form-signature,sha256=2FG-zmTeF0F1xX15_VtWdk4_qeJxutk3S5KdoVk2rF0,681
210
+ swift-2.32.1.data/scripts/swift-get-nodes,sha256=tKZdixw9GkNWS7GmFMtaqM_RgI_sgikwDbPmeYc12fQ,2817
211
+ swift-2.32.1.data/scripts/swift-init,sha256=q5NOmFOTWJ34g5L6LwzSXzbGCjt_y3az8iz7wQ1f1rA,5097
212
+ swift-2.32.1.data/scripts/swift-object-auditor,sha256=wS5U9bhxE28CO72tV5dQKmTaaklyCuAHK_ealswjiXs,1212
213
+ swift-2.32.1.data/scripts/swift-object-expirer,sha256=8SWD9EU28aEdrDm6qxIGmaH7ACkdn-HX1e3_Lr7vNcs,1494
214
+ swift-2.32.1.data/scripts/swift-object-info,sha256=3oggJ3ZF531W7LM5CKYR1QEpK1rW2Cdt_3o1zicz1wk,1986
215
+ swift-2.32.1.data/scripts/swift-object-reconstructor,sha256=dnm1p2jHrES8-6lLNGAEuw0wvrqWiS74mqgLll7LLxI,1431
216
+ swift-2.32.1.data/scripts/swift-object-relinker,sha256=7_srgcnBhvaPgmifZeRb9IreGR0KeQWxkHeWw1NvY-w,668
217
+ swift-2.32.1.data/scripts/swift-object-replicator,sha256=aLlEMBR6RVOw8UFm4tqtBZNPntrYxgQHbxjhxMQZVsg,1644
218
+ swift-2.32.1.data/scripts/swift-object-server,sha256=T9QaeHkKMtTsXpZOCrC_Pj8RE2FQR3foYksjV6vf5tg,970
219
+ swift-2.32.1.data/scripts/swift-object-updater,sha256=bwG2KI9cGCDPKYzpnfIYHT6x4y1pCJ4dgqUhVZmnxIQ,866
220
+ swift-2.32.1.data/scripts/swift-oldies,sha256=Wovqw-JpSPp26Bhj_mC42pEzNabNx7H_HGhtyqLtN3s,3346
221
+ swift-2.32.1.data/scripts/swift-orphans,sha256=LasdlgiZHGpC7U20gHVl49mBDA2C2zj-_llCGKepLJk,5005
222
+ swift-2.32.1.data/scripts/swift-proxy-server,sha256=xoLrYohQri2cZwOsHB70xHMhLPyspdiTuse0-MdYFOk,845
223
+ swift-2.32.1.data/scripts/swift-recon,sha256=08VMHgSFgI9w-IND7PjFvyyVwGTJiVAjDEjrQjSMBow,725
224
+ swift-2.32.1.data/scripts/swift-recon-cron,sha256=7y7_yXMD_DUt_hSWLUjtiGDZFavQw641vfWW0z99VuQ,2911
225
+ swift-2.32.1.data/scripts/swift-reconciler-enqueue,sha256=MUj9Zo_sgBsHxG-CJ675FiJn0duMa5EJfKZAoiO6mpM,2547
226
+ swift-2.32.1.data/scripts/swift-ring-builder,sha256=T4fbV9Rf1Sa6eZVnrUNQxo_v9pOsXlKtP5CeI-BV4m8,1093
227
+ swift-2.32.1.data/scripts/swift-ring-builder-analyzer,sha256=184GLK94EO7EQhO3Rc8G61sPttJVNOqvMZoD_R83bMM,724
228
+ swift-2.32.1.data/scripts/swift-ring-composer,sha256=AnR7DIcCZ-cgLpgyCiRaDgL1BZaRWJUPhtQ03VhkDKI,700
229
+ swift-2.32.1.dist-info/AUTHORS,sha256=rgzJnj-X7PE5eC58S6-FTPD0YeuWnLmw7NU5r0R6gvU,17927
230
+ swift-2.32.1.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
231
+ swift-2.32.1.dist-info/METADATA,sha256=OEXtGhWcH3PP6vIczzVrHHkRDpGvFJEb024X1sJNgzQ,8624
232
+ swift-2.32.1.dist-info/WHEEL,sha256=OpXWERl2xLPRHTvd2ZXo_iluPEQd8uSbYkJ53NAER_Y,109
233
+ swift-2.32.1.dist-info/entry_points.txt,sha256=duraQTPAcYbJ-_4KY6MwVxn2BfsQD7y0RejOLDUcxm8,2972
234
+ swift-2.32.1.dist-info/pbr.json,sha256=g08ySEjF6gs75lu0MBIWChyICQrVhXotYx6z_cn6Fys,48
235
+ swift-2.32.1.dist-info/top_level.txt,sha256=nVzNOToyzq0MM7JtrpalfOaPV9UIfm_lXhHX0duhVps,6
236
+ swift-2.32.1.dist-info/RECORD,,