blob: 83daeccbc49fb4ad4c13392b544923d3f9404d38 [file] [log] [blame]
#!/usr/bin/python -b
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
import argparse
import sys
from os import path as osp
if osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), ".portage_not_installed")):
sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "lib"))
import portage
portage._internal_caller = True
from portage.util.shelve import dump, restore
def main(argv=None):
parser = argparse.ArgumentParser(prog="shelve-utils")
subparsers = parser.add_subparsers(help="sub-command help")
dump_command = subparsers.add_parser("dump", help="dump shelve database")
dump_command.add_argument("src", help="input shelve file")
dump_command.add_argument("dest", help="output pickle file")
dump_command.set_defaults(func=dump)
restore_command = subparsers.add_parser("restore", help="restore shelve database")
restore_command.add_argument("src", help="input pickle file")
restore_command.add_argument("dest", help="output shelve file")
restore_command.set_defaults(func=restore)
args = parser.parse_args(args=portage._decode_argv(argv or sys.argv)[1:])
args.func(args)
if __name__ == "__main__":
portage.util.initialize_logger()
main(argv=sys.argv)