aboutsummaryrefslogtreecommitdiffstats
path: root/deploy.py
diff options
context:
space:
mode:
Diffstat (limited to 'deploy.py')
-rwxr-xr-xdeploy.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/deploy.py b/deploy.py
new file mode 100755
index 0000000..466587c
--- /dev/null
+++ b/deploy.py
@@ -0,0 +1,45 @@
+#!/usr/bin/python3
+from os import listdir
+from os.path import isfile, join, abspath
+from shutil import copy2
+from pathlib import Path
+
+home = str(Path.home())
+contents = dict()
+directory = dict()
+
+with open('directoryinfo') as f:
+ lines = f.readlines()
+ for line in lines:
+ line = line.replace('%HOME', home)
+
+ if (line.isspace()):
+ continue
+
+ if (line.startswith('#')):
+ continue
+
+ parts = line.split()
+ if parts[0] == 'copycontent':
+ contents[parts[1]] = parts[2]
+ elif parts[0] == 'copyfulldir':
+ directory[parts[1]] = parts[2]
+ else:
+ print(f'directoryinfo: unknown directive \'{parts[0]}\'')
+
+# Directive: copycontent
+for d, t in contents.items():
+ files = [f for f in listdir(d) if isfile(join(d, f))]
+ for file in files:
+ print(f'Copying {abspath(join(d, file))} to {abspath(join(t, file))}')
+ copy2(abspath(join(d, file)), join(t, file))
+
+# Directive: copyfulldir
+for d, t in directory.items():
+ files = [f for f in listdir(d) if isfile(join(d, f))]
+ print(f'Creating {t}')
+ Path(t).mkdir(parents=True, exist_ok=True)
+ for file in files:
+ print(f'Copying {abspath(join(d, file))} to {join(t, file)}')
+ copy2(abspath(join(d, file)), join(t, file))
+