diff --git a/tools/deploy b/tools/deploy index d71a742..d83ed60 100755 --- a/tools/deploy +++ b/tools/deploy @@ -1,10 +1,60 @@ -#!/usr/bin/env sh +#!/usr/bin/env python3 -rsync \ - --verbose \ - --recursive \ - --delete \ - --rsh=ssh \ - build/* \ - mehl:~/websites/folksprak.org/htdocs/vtm/ +import sys as _sys +import os as _os +import argparse as _argparse + +def main(): + ## args + argument_parser = _argparse.ArgumentParser() + argument_parser.add_argument( + type = str, + dest = "target_system", + metavar = "", + help = "either 'localhost' or SSH handle of the target system", + ) + argument_parser.add_argument( + "-t", + "--target-directory", + type = str, + dest = "target_directory", + default = "/opt/zeitbild", + metavar = "", + help = "directory on the target system, where the files shall be put; default: /opt/zeitbild", + ) + argument_parser.add_argument( + "-b", + "--build-directory", + type = str, + dest = "build_directory", + default = "/tmp/zeitbild", + metavar = "", + help = "directory to where the build was put", + ) + args = argument_parser.parse_args() + + ## exec + if (not _os.path.exists(args.build_directory)): + _sys.stderr.write("-- build directory not found; probably you need to run /tools/build\n") + _sys.exit(1) + else: + _os.system( + " ".join([ + "rsync", + "--recursive", + "--links", + "--update", + "--delete", + "--verbose", + ("%s/" % args.build_directory), + ( + ("%s" % args.target_directory) + if (args.target_system == "localhost") else + ("%s:%s" % (args.target_system, args.target_directory, )) + ), + ]) + ) + + +main()