drivendataorg/cloudpathlib

replace and rename don't handle "directories"

オープン

#64 opened on 2020/09/01

 (0 件のコメント) (0 件のリアクション) (0 人の担当者)Python (87 件のフォーク)auto 404
S3bugdesign decisiongood first issue

Repository metrics

Stars
 (624 個のスター)
PR merge metrics
 (PR metrics pending)

説明

CloudPath.replace and CloudPath.rename (which are the same function for cloudpathlib) do not handle "directories".

The pathlib docs say:

Rename this file or directory to the given target, and return a new Path instance pointing to target. If target points to an existing file or directory, it will be unconditionally replaced.
>>> from cloudpathlib import CloudPath
>>> s = CloudPath("s3://my-bucket/")
>>> (s / "foo" / "bar.txt").touch()
>>> (s / "foo").replace(s / "baz")
Traceback (most recent call last):
...
botocore.exceptions.ClientError: An error occurred (404) when calling the HeadObject operation: Not Found

コントリビューターガイド