diff --git a/snakebite/commandlineparser.py b/snakebite/commandlineparser.py index 90306bd..7051ba6 100644 --- a/snakebite/commandlineparser.py +++ b/snakebite/commandlineparser.py @@ -583,7 +583,7 @@ def mv(self): paths = self.args.dir dst = self.args.single_arg result = self.client.rename(paths, dst) - for line in format_results(result, json_output=self.args.json): + for line in format_results(result, json_output=self.args.json, continue_on_error=False): print line @command(args="[paths]", descr="remove paths", allowed_opts=["R", "S", "T"], req_args=['dir [dirs]']) diff --git a/snakebite/formatter.py b/snakebite/formatter.py index af9573f..301bfc4 100644 --- a/snakebite/formatter.py +++ b/snakebite/formatter.py @@ -128,7 +128,7 @@ def _create_dir_listing(nodes, human_readable, recursive, summary): return "\n".join(ret) -def format_results(results, json_output=False): +def format_results(results, json_output=False, continue_on_error=True): if json_output: for result in results: yield json.dumps(result) @@ -142,6 +142,9 @@ def format_results(results, json_output=False): else: yield "ERROR: %s (reason: %s)" % (r.get('path'), r.get('error', '')) + if not continue_on_error: + break + def format_counts(results, json_output=False, human_readable=False): if json_output: