#!/usr/bin/python import sys import os try: import json except ImportError: import simplejson as json # =========================================== # convert arguments of form ensure=running name=foo # to a dictionary # FIXME: make more idiomatic args = " ".join(sys.argv[1:]) items = shlex.split(args) params = {} for x in items: (k, v) = x.split("=") params[k] = v src = params['src'] dest = params['dest'] # raise an error if there is no src file if not os.path.exists(src): print json.dumps({ "failed" : 1, "msg" : "Source %s failed to transfer" % src }) sys.exit(1) md5sum = None changed = False if os.path.exists(dest): md5sum = os.popen("md5sum %s" % dest).read().split()[0] os.system("cp %s %s" % (src, dest)) md5sum2 = os.popen("md5sum %s" % dest).read().split()[0] if md5sum != md5sum2: changed = True # mission accomplished print json.dumps({ "md5sum" : md5sum2, "changed" : changed })