summaryrefslogtreecommitdiffstats
path: root/ipsilon/tools/files.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipsilon/tools/files.py')
-rwxr-xr-xipsilon/tools/files.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/ipsilon/tools/files.py b/ipsilon/tools/files.py
index 7f3bf7f..a18384c 100755
--- a/ipsilon/tools/files.py
+++ b/ipsilon/tools/files.py
@@ -19,6 +19,7 @@
import os
import pwd
+from string import Template
def fix_user_dirs(path, user=None, mode=0700):
@@ -35,3 +36,11 @@ def fix_user_dirs(path, user=None, mode=0700):
if pw:
os.chown(root, pw.pw_uid, pw.pw_gid)
os.chmod(root, mode)
+
+
+def write_from_template(destfile, template, opts):
+ with open(template) as f:
+ t = Template(f.read())
+ text = t.substitute(**opts) # pylint: disable=star-args
+ with open(destfile, 'w+') as f:
+ f.write(text)