60 lines
1.4 KiB
Python
Executable file
60 lines
1.4 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
|
|
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 = "<target-system>",
|
|
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 = "<target-directory>",
|
|
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 = "build",
|
|
metavar = "<build-directory>",
|
|
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",
|
|
"--update",
|
|
"--verbose",
|
|
"--exclude='conf.json'",
|
|
"--exclude='data.sqlite'",
|
|
("%s/" % args.build_directory),
|
|
(
|
|
("%s" % args.target_directory)
|
|
if (args.target_system == "localhost") else
|
|
("%s:%s" % (args.target_system, args.target_directory, ))
|
|
),
|
|
])
|
|
)
|
|
|
|
|
|
main()
|