remove json options from blendfile_pack, add quiet option

This commit is contained in:
2014-12-17 16:37:28 +01:00
parent aef19f9ab8
commit 8d368dc74f

View File

@@ -361,23 +361,21 @@ def create_argparse():
# for main_render() only, but validate args.
parser.add_argument(
"-i", "--input", dest="path_src", metavar='FILE', required=True,
help="Input path(s) or a wildcard to glob many files")
help="Input path(s) or a wildcard to glob many files",
)
parser.add_argument(
"-o", "--output", dest="path_dst", metavar='DIR', required=True,
help="Output file or a directory when multiple inputs are passed")
help="Output file or a directory when multiple inputs are passed",
)
parser.add_argument(
"-m", "--mode", dest="mode", metavar='MODE', required=False,
choices=('FILE', 'ZIP'), default='FILE',
help="Output file or a directory when multiple inputs are passed")
help="Output file or a directory when multiple inputs are passed",
)
parser.add_argument(
"-r", "--deps_remap", dest="deps_remap", metavar='FILE',
help="Write out the path mapping to a JSON file")
parser.add_argument(
"-s", "--paths_remap", dest="paths_remap", metavar='FILE',
help="Write out the original paths to a JSON file")
parser.add_argument(
"-u", "--paths_uuid", dest="paths_uuid", metavar='FILE',
help="Write out the original paths UUID to a JSON file")
"-q", "--quiet", dest="use_quiet", action='store_true', required=False,
help="Suppress status output",
)
return parser
@@ -390,40 +388,18 @@ def main():
encoding = sys.getfilesystemencoding()
deps_remap = {} if args.deps_remap else None
paths_remap = {} if args.paths_remap else None
paths_uuid = {} if args.paths_uuid else None
if args.use_quiet:
report = lambda msg: None
else:
report = lambda msg: print(msg, end="")
for msg in pack(
args.path_src.encode(encoding),
args.path_dst.encode(encoding),
args.path_src.encode('utf-8'),
args.path_dst.encode('utf-8'),
args.mode,
deps_remap=deps_remap,
paths_remap=paths_remap,
paths_uuid=paths_uuid,
):
print(msg)
report(msg)
def write_dict_as_json(fn, dct):
with open(fn, 'w', encoding='utf-8') as f:
import json
json.dump(
dct, f, ensure_ascii=False,
check_circular=False,
# optional (pretty)
sort_keys=True, indent=4, separators=(',', ': '),
)
if deps_remap is not None:
write_dict_as_json(args.deps_remap, deps_remap)
if paths_remap is not None:
write_dict_as_json(args.paths_remap, paths_remap)
if paths_uuid is not None:
write_dict_as_json(args.paths_uuid, paths_uuid)
del write_dict_as_json
if __name__ == "__main__":
main()