#!/usr/bin/env python
# -*- coding: utf-8 -*-
# License: Apache-2.0
import argparse
from android_backup import AndroidBackup
import sys
def _description():
plat = sys.platform
supported_platform = plat != 'Pocket PC' and (plat != 'win32' or
'ANSICON' in os.environ)
is_a_tty = hasattr(sys.stdout, 'isatty') and sys.stdout.isatty()
if not supported_platform or not is_a_tty:
desc = r"""
\.---./
/ . . \
#| |# Android Backup
#| |# Unpacker
#|_____|#
# #
"""
else:
desc = """
\033[92m \\.---./
/ . . \\
#| |# \033[94mAndroid Backup\033[92m
#| |# \033[94mUnpacker\033[92m
#|_____|#
# #\033[0m
"""
return desc[1:] # skip empty line
def main():
parser = argparse.ArgumentParser(description=_description(),
formatter_class=argparse.RawDescriptionHelpFormatter)
parser.add_argument('-l', '--list', action='store_true')
parser.add_argument('-p', '--password')
parser.add_argument('-t', '--target-dir')
parser.add_argument('IN', type=AndroidBackup)
args = parser.parse_args()
with args.IN as infile:
if args.list:
infile.list(
password=args.password
)
else:
infile.unpack(
target_dir=args.target_dir,
password=args.password
)
if __name__ == "__main__":
main()