X-Git-Url: https://arthur.barton.de/gitweb/?a=blobdiff_plain;f=cmd%2Fmeta-cmd.py;h=2f30ce8ced2c1e5a255b26aa7faccfdd692ac717;hb=HEAD;hp=4d4aac6073f296531f0dfd486286931a7710bc1d;hpb=38208840b8f669598e0077ac291080da0d075d94;p=bup.git diff --git a/cmd/meta-cmd.py b/cmd/meta-cmd.py deleted file mode 100755 index 4d4aac6..0000000 --- a/cmd/meta-cmd.py +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/env python - -# Copyright (C) 2010 Rob Browning -# -# This code is covered under the terms of the GNU Library General -# Public License as described in the bup LICENSE file. - -# TODO: Add tar-like -C option. -# TODO: Add tar-like -v support to --list. - -import sys -from bup import metadata -from bup import options -from bup.helpers import handle_ctrl_c, log, saved_errors - - -def open_input(name): - if name != '-': - return open(name, 'r') - else: - return sys.stdin - - -optspec = """ -bup meta --create [OPTION ...] -bup meta --extract [OPTION ...] -bup meta --start-extract [OPTION ...] -bup meta --finish-extract [OPTION ...] --- -c,create write metadata for PATHs to stdout (or --file) -t,list display metadata -x,extract perform --start-extract followed by --finish-extract -start-extract build tree matching metadata provided on standard input (or --file) -finish-extract finish applying standard input (or --file) metadata to filesystem -f,file= specify source or destination file -R,recurse recurse into subdirectories -xdev,one-file-system don't cross filesystem boundaries -numeric-ids apply numeric IDs (user, group, etc.), not names, during restore -symlinks handle symbolic links (default is true) -paths include paths in metadata (default is true) -v,verbose increase log output (can be used more than once) -q,quiet don't show progress meter -""" - -handle_ctrl_c() - -o = options.Options(optspec) -(opt, flags, remainder) = o.parse(['--paths', '--symlinks'] + sys.argv[1:]) - -opt.verbose = opt.verbose or 0 -opt.quiet = opt.quiet or 0 -metadata.verbose = opt.verbose - opt.quiet - -action_count = sum([bool(x) for x in [opt.create, opt.list, opt.extract, - opt.start_extract, opt.finish_extract]]) -if action_count > 1: - o.fatal("bup: only one action permitted: --create --list --extract") -if action_count == 0: - o.fatal("bup: no action specified") - -if opt.create: - if len(remainder) < 1: - o.fatal("no paths specified for create") - if opt.file != '-': - output_file = open(opt.file, 'w') - else: - output_file = sys.stdout - metadata.save_tree(output_file, - remainder, - recurse=opt.recurse, - write_paths=opt.paths, - save_symlinks=opt.symlinks, - xdev=opt.xdev) -elif opt.list: - if len(remainder) > 0: - o.fatal("cannot specify paths for --list") - src = open_input(opt.file) - metadata.display_archive(src) -elif opt.start_extract: - if len(remainder) > 0: - o.fatal("cannot specify paths for --start-extract") - src = open_input(opt.file) - metadata.start_extract(src, create_symlinks=opt.symlinks) -elif opt.finish_extract: - if len(remainder) > 0: - o.fatal("cannot specify paths for --finish-extract") - src = open_input(opt.file) - metadata.finish_extract(src, restore_numeric_ids=opt.numeric_ids) -elif opt.extract: - if len(remainder) > 0: - o.fatal("cannot specify paths for --extract") - src = open_input(opt.file) - metadata.extract(src, - restore_numeric_ids=opt.numeric_ids, - create_symlinks=opt.symlinks) - -if saved_errors: - log('WARNING: %d errors encountered.\n' % len(saved_errors)) - sys.exit(1) -else: - sys.exit(0)