Страница 1 из 1

Прочесываем много папок и создаем .htaccess там, где его нет

Добавлено: 07 фев 2012, 18:12
Gen1us2k
В общем. Сегодня пришел в асю мессадж от Raven:
raven ( 17:25:57 )
можешь помочь? скрипт нужен - прочесать туеву хучу папок (ток 1-й уровень), если есть .htaccess - пройти мимо, если нет - создать с правами хозяина папки
Ну а что, взял и запилил его на питоне.

Код: Выделить всё

#!/usr/bin/env python
import os, sys, pwd, grp
root_dir = "/home/gen1us2k/Music/"

def getSubdir(root_dir):
  dirs = []
  for directory in os.listdir(root_dir):
    path = root_dir + directory + "/"
    if os.path.isdir(path):
      dirs.append(path)
      print path
    dirs.sort()
  return dirs

def getUser(path):
  stat = os.stat(path)
  uid = stat.st_uid
  user = pwd.getpwuid(uid)[0]
  return user

def getGroup(path):
  stat = os.stat(path)
  gid = stat.st_gid
  group = grp.getgrgid(gid)[0]
  return group

dirs = getSubdir(root_dir)
for dir in dirs:
  user = getUser(dir)
  group = getGroup(dir)
  file = dir + ".htaccess"
  try:
    open(file)
  except IOError:
    f = open(file, "w+")
    f.write("AllowOverride All\n")
    f.write("Order deny,allow\n")
    f.write("Allow from all\n")
    f.close()
    print file + " created"
    os.popen("chown " + getUser(dir) + ":" + getGroup(dir) + " " + file)
#    os.popen('chown %s:%s %s' % (getUser(dir), getGroup(dir), file))
Линк на гитхабе: https://github.com/gen1us2k/bash-script ... creator.py

ЗЫ возможные баги отписывайте ).
В root_dir конец путя обязательно должен заканчиваться на /

Re: Прочесываем много папок и создаем .htaccess там, где его

Добавлено: 08 фев 2012, 09:23
Raven
Gen1us2k
Пасиб тебе дядько - выручил в трудную минуту!))))

Re: Прочесываем много папок и создаем .htaccess там, где его

Добавлено: 08 фев 2012, 10:47
Gen1us2k
Raven
Да незачто %)