| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| from __future__ import absolute_import |
| from __future__ import print_function |
| from __future__ import unicode_literals |
| import os.path |
|
|
| from .. import storage |
| from ..cli import open_hwpfile |
|
|
|
|
| def main(args): |
| filename = args.hwp5file |
| hwp5file = open_hwpfile(args) |
|
|
| outdir = args.out_directory |
| if outdir is None: |
| outdir, ext = os.path.splitext(os.path.basename(filename)) |
| if not os.path.exists(outdir): |
| os.mkdir(outdir) |
| storage.unpack(hwp5file, outdir) |
|
|
|
|
| def unpack_argparser(subparsers, _): |
| parser = subparsers.add_parser( |
| 'unpack', |
| help=_( |
| 'Extract out internal streams of .hwp files into a directory.' |
| ), |
| description=_( |
| 'Extract out streams in the specified <hwp5file> ' |
| 'to a directory.' |
| ) |
| ) |
| parser.add_argument( |
| 'hwp5file', |
| metavar='<hwp5file>', |
| help=_('.hwp file to analyze'), |
| ) |
| parser.add_argument( |
| 'out_directory', |
| nargs='?', |
| metavar='<out-directory>', |
| help=_('Output directory'), |
| ) |
| mutex_group = parser.add_mutually_exclusive_group() |
| mutex_group.add_argument( |
| '--vstreams', |
| action='store_true', |
| help=_( |
| 'Process with virtual streams (i.e. parsed/converted form of ' |
| 'real streams)' |
| ) |
| ) |
| mutex_group.add_argument( |
| '--ole', |
| action='store_true', |
| help=_( |
| 'Treat <hwp5file> as an OLE Compound File. As a result, ' |
| 'some streams will be presented as-is. (i.e. not decompressed)' |
| ) |
| ) |
| parser.set_defaults(func=main) |
| return parser |
|
|