diff options
Diffstat (limited to 'manage.py')
| -rwxr-xr-x | manage.py | 45 | 
1 files changed, 45 insertions, 0 deletions
diff --git a/manage.py b/manage.py new file mode 100755 index 0000000..50249e5 --- /dev/null +++ b/manage.py @@ -0,0 +1,45 @@ +#!/usr/bin/python3 + + +import sys +import subprocess +import json + + +CONFIG_PATH = "./config.json" + + +def main(): + +    if len(sys.argv) != 2: +        print("Provide exactly one parameter") +        sys.exit(1) + +    cfg = read_config() + +    command = sys.argv[1] +     +    if command == "deploy": +        for deployment in cfg["deployments"]: +            subprocess.call( +                "rsync -av ./webroot/ {0}@{1}:{2}".format( +                    deployment["username"], +                    deployment["host"], +                    deployment["webroot"] +                ),  +                shell=True +            ) +    else: +        print("Unknown command") + +def read_config(): +    with open(CONFIG_PATH, "r") as f: +        content = f.read() +    return json.loads(content) + +if __name__ == "__main__": +    main() + + +# vim: tabstop=4 softtabstop=4 shiftwidth=4 expandtab +  | 
