comparison planemo/lib/python3.7/site-packages/virtualenv/util/path/_permission.py @ 1:56ad4e20f292 draft

"planemo upload commit 6eee67778febed82ddd413c3ca40b3183a3898f1"
author guerler
date Fri, 31 Jul 2020 00:32:28 -0400
parents
children
comparison
equal deleted inserted replaced
0:d30785e31577 1:56ad4e20f292
1 from __future__ import absolute_import, unicode_literals
2
3 import os
4 from stat import S_IXGRP, S_IXOTH, S_IXUSR
5
6 from virtualenv.util.six import ensure_text
7
8
9 def make_exe(filename):
10 original_mode = filename.stat().st_mode
11 levels = [S_IXUSR, S_IXGRP, S_IXOTH]
12 for at in range(len(levels), 0, -1):
13 try:
14 mode = original_mode
15 for level in levels[:at]:
16 mode |= level
17 filename.chmod(mode)
18 break
19 except OSError:
20 continue
21
22
23 def set_tree(folder, stat):
24 for root, _, files in os.walk(ensure_text(str(folder))):
25 for filename in files:
26 os.chmod(os.path.join(root, filename), stat)
27
28
29 __all__ = (
30 "make_exe",
31 "set_tree",
32 )