Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

shutil.chown should support dir_fd and follow_symlinks keyword arguments #62308

Closed
cjwatson mannequin opened this issue May 31, 2013 · 7 comments
Closed

shutil.chown should support dir_fd and follow_symlinks keyword arguments #62308

cjwatson mannequin opened this issue May 31, 2013 · 7 comments
Labels
easy stdlib Python modules in the Lib dir type-feature A feature request or enhancement

Comments

@cjwatson
Copy link
Mannequin

cjwatson mannequin commented May 31, 2013

BPO 18108
Nosy @cjwatson, @PCManticore, @berkerpeksag, @hynek, @phmc, @avinassh, @tahia-khan
PRs
  • bpo-18108: Adding dir_fd and follow_symlinks keyword args to shutil.chown #15811
  • Files
  • issue18108.diff
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = None
    created_at = <Date 2013-05-31.13:09:57.018>
    labels = ['easy', 'type-feature', 'library']
    title = 'shutil.chown should support dir_fd and follow_symlinks keyword arguments'
    updated_at = <Date 2019-10-28.20:48:21.699>
    user = 'https://github.com/cjwatson'

    bugs.python.org fields:

    activity = <Date 2019-10-28.20:48:21.699>
    actor = 'pconnell'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Library (Lib)']
    creation = <Date 2013-05-31.13:09:57.018>
    creator = 'cjwatson'
    dependencies = []
    files = ['35633']
    hgrepos = []
    issue_num = 18108
    keywords = ['patch', 'easy']
    message_count = 7.0
    messages = ['190404', '220430', '220564', '220565', '221675', '346893', '351543']
    nosy_count = 7.0
    nosy_names = ['cjwatson', 'Claudiu.Popa', 'berker.peksag', 'hynek', 'pconnell', 'avi', 'ta1hia']
    pr_nums = ['15811']
    priority = 'normal'
    resolution = None
    stage = 'patch review'
    status = 'open'
    superseder = None
    type = 'enhancement'
    url = 'https://bugs.python.org/issue18108'
    versions = ['Python 3.5']

    Linked PRs

    @cjwatson
    Copy link
    Mannequin Author

    cjwatson mannequin commented May 31, 2013

    Python 3.3 added the dir_fd and follow_symlinks keyword arguments to os.chown; it also added the shutil.chown function. Unfortunately the latter, while useful, does not support these new keyword arguments. It would be helpful if it did.

    @cjwatson cjwatson mannequin added the stdlib Python modules in the Lib dir label May 31, 2013
    @PCManticore
    Copy link
    Mannequin

    PCManticore mannequin commented Jun 13, 2014

    Hi. Would you like to provide a patch?

    @PCManticore PCManticore mannequin added easy type-feature A feature request or enhancement labels Jun 13, 2014
    @berkerpeksag
    Copy link
    Member

    Here's a patch.

    @PCManticore
    Copy link
    Mannequin

    PCManticore mannequin commented Jun 14, 2014

    Looks good to me. But aren't the last two lines skipped if an error is raised by the first line from the with block?

    + with self.assertRaises(FileNotFoundError):
    + shutil.chown('invalid-file', user=uid, dir_fd=dirfd)
    + shutil.chown('invalid-file', group=gid, dir_fd=dirfd)
    + shutil.chown('invalid-file', user=uid, group=gid, dir_fd=dirfd)

    @PCManticore
    Copy link
    Mannequin

    PCManticore mannequin commented Jun 27, 2014

    I got a failure on FreeBSD:

    [1/1] test_shutil
    test test_shutil failed -- Traceback (most recent call last):
      File "/tank/libs/cpython/Lib/test/test_shutil.py", line 1258, in test_chown
        shutil.chown(os.path.basename(filename), dir_fd=dirfd)
      File "/tank/libs/cpython/Lib/shutil.py", line 983, in chown
        raise ValueError("user and/or group must be set")
    ValueError: user and/or group must be set

    It seems that either user or group argument must be passed along with dir_fd.

    @avinassh
    Copy link
    Mannequin

    avinassh mannequin commented Jun 29, 2019

    I was looking for an easy patch to submit. I can take an attempt at this?

    @tahia-khan
    Copy link
    Mannequin

    tahia-khan mannequin commented Sep 9, 2019

    Hi everybody,

    I just submitted a PR for this issue. It's my first contribution to the cPython project so please let me know if I need to change anything.

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    easy stdlib Python modules in the Lib dir type-feature A feature request or enhancement
    Projects
    None yet
    Development

    No branches or pull requests

    2 participants