[issue19930] os.makedirs('dir1/dir2', 0) always fails

2020-11-16 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

This API change was not strictly a bugfix, it removed a feature existing code 
was relying on.

https://bugs.python.org/issue42367 opened to reconcile the two.

--
nosy: +gregory.p.smith

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19930] os.makedirs('dir1/dir2', 0) always fails

2017-03-24 Thread Serhiy Storchaka

Changes by Serhiy Storchaka :


--
assignee:  -> serhiy.storchaka
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed
versions: +Python 3.7 -Python 2.7, Python 3.3, Python 3.4

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19930] os.makedirs('dir1/dir2', 0) always fails

2017-03-24 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:


New changeset e304e33c16e060932d1e2cc8a030d42b02b429b5 by Serhiy Storchaka in 
branch 'master':
bpo-19930: The mode argument of os.makedirs() no longer affects the file (#799)
https://github.com/python/cpython/commit/e304e33c16e060932d1e2cc8a030d42b02b429b5


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19930] os.makedirs('dir1/dir2', 0) always fails

2017-03-24 Thread Serhiy Storchaka

Changes by Serhiy Storchaka :


--
pull_requests: +702

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19930] os.makedirs('dir1/dir2', 0) always fails

2016-06-10 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

> The obvious but more complicated alternative would be to call chmod() on all 
> the new directories in a second step.

This is dangerous, because if you create read-only or unlistable directory, you 
couldn't remove it without changing the permission of parent directory. 
shutil.rmtree() would fail.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19930] os.makedirs('dir1/dir2', 0) always fails

2016-06-10 Thread Martin Panter

Martin Panter added the comment:

I’ve never considered this sort of scenario properly, so I don’t know if 
leaving the default mode for the parent directories is the best way or not. The 
obvious but more complicated alternative would be to call chmod() on all the 
new directories in a second step.

Anyway, if we are going to make any change, it should be documented. And I 
would say the current patch changes behaviour, so is probably not applicable as 
a bug fix.

--
nosy: +martin.panter

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19930] os.makedirs('dir1/dir2', 0) always fails

2013-12-16 Thread Serhiy Storchaka

Changes by Serhiy Storchaka storch...@gmail.com:


--
nosy: +pitrou

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19930
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19930] os.makedirs('dir1/dir2', 0) always fails

2013-12-08 Thread Serhiy Storchaka

New submission from Serhiy Storchaka:

os.makedirs() can't create a directory with cleared write or list permission 
bits for owner when parent directories aren't created. This is because for 
parent directories same mode is used as for final directory.

Note that the mkdir utility creates parent directories with default mode (0o777 
 ~umask).

$ mkdir -p -m 0 t1/t2/t3
$ ls -l -d t1 t1/t2 t1/t2/t3
drwxrwxr-x 3 serhiy serhiy 4096 Dec  7 22:30 t1/
drwxrwxr-x 3 serhiy serhiy 4096 Dec  7 22:30 t1/t2/
d- 2 serhiy serhiy 4096 Dec  7 22:30 t1/t2/t3/

The proposed patch emulates the mkdir utility.

See also issue19921.

--
components: Library (Lib)
messages: 205543
nosy: serhiy.storchaka
priority: normal
severity: normal
stage: patch review
status: open
title: os.makedirs('dir1/dir2', 0) always fails
type: behavior
versions: Python 2.7, Python 3.3, Python 3.4

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19930
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19930] os.makedirs('dir1/dir2', 0) always fails

2013-12-08 Thread Serhiy Storchaka

Changes by Serhiy Storchaka storch...@gmail.com:


--
keywords: +patch
nosy: +loewis
Added file: http://bugs.python.org/file33043/os_makedirs_mode.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19930
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19930] os.makedirs('dir1/dir2', 0) always fails

2013-12-08 Thread Vajrasky Kok

Vajrasky Kok added the comment:

Fails on Windows Vista.

==
FAIL: test_mode (__main__.MakedirTests)
--
Traceback (most recent call last):
  File Lib\test\test_os.py, line 907, in test_mode
self.assertEqual(stat.S_IMODE(os.stat(parent).st_mode), 0o775)
AssertionError: 511 != 509

--
Ran 157 tests in 1.865s

FAILED (failures=1, skipped=61)
Traceback (most recent call last):
  File Lib\test\test_os.py, line 2511, in module
test_main()
  File C:\Users\vajrasky\Code\cpython\lib\test\support\__init__.py, line 1831,
 in decorator
return func(*args)
  File Lib\test\test_os.py, line 2507, in test_main
FDInheritanceTests,
  File C:\Users\vajrasky\Code\cpython\lib\test\support\__init__.py, line 1719,
 in run_unittest
_run_suite(suite)
  File C:\Users\vajrasky\Code\cpython\lib\test\support\__init__.py, line 1694,
 in _run_suite
raise TestFailed(err)
test.support.TestFailed: Traceback (most recent call last):
  File Lib\test\test_os.py, line 907, in test_mode
self.assertEqual(stat.S_IMODE(os.stat(parent).st_mode), 0o775)
AssertionError: 511 != 509

The permission of directory on Windows no matter what mode you give or umask 
you give to support.temp_umask, is always 0o777 (or 511). I think this test 
does not make sense in Windows.

 os.mkdir('cutecat', 0o555)
 os.mkdir('cutecat2', 0o777)
 os.stat('cutecat')
os.stat_result(st_mode=16895, st_ino=3940649674207852, st_dev=3960548439, st_nli
nk=1, st_uid=0, st_gid=0, st_size=0, st_atime=1386517061, st_mtime=1386517061, s
t_ctime=1386517061)
 os.stat('cutecat2')
os.stat_result(st_mode=16895, st_ino=5066549581050708, st_dev=3960548439, st_nli
nk=1, st_uid=0, st_gid=0, st_size=0, st_atime=1386517067, st_mtime=1386517067, s
t_ctime=1386517067)

Either that, or I am missing something.

--
nosy: +vajrasky

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19930
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19930] os.makedirs('dir1/dir2', 0) always fails

2013-12-08 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

Thank you Vajrasky. Now this check is skipped on Windows.

--
Added file: http://bugs.python.org/file33047/os_makedirs_mode_2.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19930
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com