1 # Copyright (C) 2014 Ipsilon project Contributors, for license see COPYING
5 from string import Template
8 def fix_user_dirs(path, user=None, mode=0700):
11 pw = pwd.getpwnam(user)
12 for t in os.walk(path, topdown=False):
13 root, files = t[0], t[2]
15 target = os.path.join(root, name)
17 os.chown(target, pw.pw_uid, pw.pw_gid)
18 os.chmod(target, mode & 0666)
20 os.chown(root, pw.pw_uid, pw.pw_gid)
24 def write_from_template(destfile, template, opts):
25 with open(template) as f:
26 t = Template(f.read())
27 text = t.substitute(**opts)
28 with open(destfile, 'w+') as f: