Difference between revisions of "Utilities - chmodr.py"
Jump to navigation
Jump to search
PeterHarding (talk | contribs) (Created page with "Change the mode of files and directories recursively from here to a useful value. Used to fix my cygwin file permissions which keep getting reset to 0000 =Script= <pre> $ ...") |
(No difference)
|
Latest revision as of 18:36, 9 September 2014
Change the mode of files and directories recursively from here to a useful value. Used to fix my cygwin file permissions which keep getting reset to 0000
Script
$ cat ~/bin/chmodr.py
#!/usr/bin/env python
import os
import glob
#--------------------------------------------------------------------------
executables = ('exe', 'py', 'rb', 'sh')
#--------------------------------------------------------------------------
def chmod(dir):
os.chdir(dir)
print os.getcwd()
files = glob.glob('*')
ordinary = []
directories = []
for file in files:
if os.path.isdir(file):
directories.append(file)
else:
ordinary.append(file)
for file in ordinary:
extension = os.path.splitext(file)[1][1:].lower()
if (extension in executables):
print " Chmod executable file 0775 %s [%s]" % (file, extension)
os.chmod(file, 0775)
else:
print " Chmod file 0664 %s [%s]" % (file, extension)
os.chmod(file, 0664)
for directory in directories:
os.chmod(directory, 0775)
print " Chmod dir 0775 %s" % directory
for directory in directories:
chmod(directory)
os.chdir('..')
#--------------------------------------------------------------------------
chmod('.')
#--------------------------------------------------------------------------