remove json options from blendfile_pack, add quiet option
This commit is contained in:
@@ -361,23 +361,21 @@ def create_argparse():
|
|||||||
# for main_render() only, but validate args.
|
# for main_render() only, but validate args.
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"-i", "--input", dest="path_src", metavar='FILE', required=True,
|
"-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(
|
parser.add_argument(
|
||||||
"-o", "--output", dest="path_dst", metavar='DIR', required=True,
|
"-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(
|
parser.add_argument(
|
||||||
"-m", "--mode", dest="mode", metavar='MODE', required=False,
|
"-m", "--mode", dest="mode", metavar='MODE', required=False,
|
||||||
choices=('FILE', 'ZIP'), default='FILE',
|
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(
|
parser.add_argument(
|
||||||
"-r", "--deps_remap", dest="deps_remap", metavar='FILE',
|
"-q", "--quiet", dest="use_quiet", action='store_true', required=False,
|
||||||
help="Write out the path mapping to a JSON file")
|
help="Suppress status output",
|
||||||
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")
|
|
||||||
|
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
@@ -390,40 +388,18 @@ def main():
|
|||||||
|
|
||||||
encoding = sys.getfilesystemencoding()
|
encoding = sys.getfilesystemencoding()
|
||||||
|
|
||||||
deps_remap = {} if args.deps_remap else None
|
if args.use_quiet:
|
||||||
paths_remap = {} if args.paths_remap else None
|
report = lambda msg: None
|
||||||
paths_uuid = {} if args.paths_uuid else None
|
else:
|
||||||
|
report = lambda msg: print(msg, end="")
|
||||||
|
|
||||||
for msg in pack(
|
for msg in pack(
|
||||||
args.path_src.encode(encoding),
|
args.path_src.encode('utf-8'),
|
||||||
args.path_dst.encode(encoding),
|
args.path_dst.encode('utf-8'),
|
||||||
args.mode,
|
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__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
Reference in New Issue
Block a user