def __init__(self, definitions=None, env=None, default_mode=None, separator=EXTENSION_SEPARATOR, search_order=None, logger=None): """Class init :param definitions: dictionary of Key:[function, cmd, cmd_args, Print/id string, extensions] :type definitions: dictionary :param env: environment to pass to the subprocess :type env: dictionary :param default_mode: one of the defintions keys :type default_mode: string :param separator: filename extension separator :type separator: string :param search_order: optional mode search order :type search_order: list of strings :param logger: optional logging module instance, default: pyDecomp logging namespace instance :type logger: logging """ if definitions is None: definitions = {} self.env = env or {} self._map = {} self.extension_separator = separator # set some defaults depending on what is being loaded self.mode = default_mode or 'auto' self.search_order = search_order or CONTENTS_SEARCH_ORDER if isinstance(self.search_order, str): self.search_order = self.search_order.split() self.logger = logger or log self.logger.info("ContentsMap: __init__(), search_order = %s", str(self.search_order)) # create the contents definitions namedtuple classes self._map = create_classes(definitions, self.fields)
def __init__(self, definitions=None, env=None, default_mode=None, separator=EXTENSION_SEPARATOR, search_order=None, logger=None, comp_prog=COMPRESSOR_PROGRAM_OPTIONS[DEFAULT_TAR], decomp_opt=DECOMPRESSOR_PROGRAM_OPTIONS[DEFAULT_TAR] ): """Class init :param definitions: dictionary of Key:[function, cmd, cmd_args, Print/id string, extensions] :type definitions: dictionary :param env: environment to pass to the cmd subprocess :type env: dictionary :param default_mode: one of the definitions keys :type default_mode: string :param separator: filename extension separator :type separator: string :param search_order: optional mode search order :type search_order: list of strings :param logger: optional logging module instance, default: pyDecomp logging namespace instance :type logger: logging :param comp_prog: the tar option string to use for the commpressor program bsd's tar is different that linux's tar default: '-I' :type comp_prog: string :param decomp_opt: external decompressor module option :type decomp_opt: string """ if definitions is None: definitions = {} self.loaded_type = ["None", "No definitions loaded"] else: self.loaded_type = definitions.pop('Type') self.env = env or {} self.mode_error = self.loaded_type[0] + \ " Error: No mode was passed in or automatically detected" self._map = {} self.extension_separator = separator # set some defaults depending on what is being loaded if self.loaded_type[0] in ['Compression']: self.mode = default_mode or 'tbz2' self.compress = self._compress self.extract = None else: self.mode = default_mode or 'auto' self.compress = None self.extract = self._extract self.search_order = search_order or list(definitions) if isinstance(self.search_order, str): self.search_order = self.search_order.split() self.logger = logger or log self.comp_prog = comp_prog self.decomp_opt = decomp_opt self.logger.info("COMPRESS: __init__(), search_order = %s", str(self.search_order)) # create the (de)compression definition namedtuple classes self._map = create_classes(definitions, self.fields) binaries = set() for mode in self.search_order: binaries.update(self._map[mode].binaries) self.available = check_available(binaries)
def __init__(self, definitions=None, env=None, default_mode=None, separator=EXTENSION_SEPARATOR, search_order=None, logger=None, comp_prog=COMPRESSOR_PROGRAM_OPTIONS['linux'], decomp_opt=DECOMPRESSOR_PROGRAM_OPTIONS['linux'], list_xattrs_opt=LIST_XATTRS_OPTIONS['linux']): """Class init :param definitions: dictionary of Key:[function, cmd, cmd_args, Print/id string, extensions] :type definitions: dictionary :param env: environment to pass to the subprocess :type env: dictionary :param default_mode: one of the defintions keys :type default_mode: string :param separator: filename extension separator :type separator: string :param search_order: optional mode search order :type search_order: list of strings :param logger: optional logging module instance, default: pyDecomp logging namespace instance :type logger: logging """ if definitions is None: definitions = {} self.env = env or {} self._map = {} self.extension_separator = separator # set some defaults depending on what is being loaded self.mode = default_mode or 'auto' self.search_order = search_order or CONTENTS_SEARCH_ORDER if isinstance(self.search_order, str): self.search_order = self.search_order.split() self.logger = logger or log self.comp_prog = comp_prog self.decomp_opt = decomp_opt self.list_xattrs_opt = list_xattrs_opt self.logger.info("ContentsMap: __init__(), search_order = %s", str(self.search_order)) # create the contents definitions namedtuple classes self._map = create_classes(definitions, self.fields) binaries = set() for mode in self.search_order: binaries.update(self._map[mode].binaries) self.available = check_available(binaries)
def __init__(self, definitions=None, env=None, default_mode=None, separator=EXTENSION_SEPARATOR, search_order=None, logger=None): """Class init :param definitions: dictionary of Key:[function, cmd, cmd_args, Print/id string, extensions] :type definitions: dictionary :param env: environment to pass to the cmd subprocess :type env: dictionary :param default_mode: one of the definitions keys :type default_mode: string :param separator: filename extension separator :type separator: string :param search_order: optional mode search order :type search_order: list of strings :param logger: optional logging module instance, default: pyDecomp logging namespace instance :type logger: logging """ if definitions is None: definitions = {} self.loaded_type = ["None", "No definitions loaded"] else: self.loaded_type = definitions.pop('Type') self.env = env or {} self.mode_error = self.loaded_type[0] + \ " Error: No mode was passed in or automatically detected" self._map = {} self.extension_separator = separator # set some defaults depending on what is being loaded if self.loaded_type[0] in ['Compression']: self.mode = default_mode or 'tbz2' self.compress = self._compress self.extract = None else: self.mode = default_mode or 'auto' self.compress = None self.extract = self._extract self.search_order = search_order or list(definitions) if isinstance(self.search_order, str): self.search_order = self.search_order.split() self.logger = logger or log self.logger.info("COMPRESS: __init__(), search_order = %s", str(self.search_order)) # create the (de)compression definition namedtuple classes self._map = create_classes(definitions, self.fields)
def __init__(self, definitions=None, env=None, default_mode=None, separator=EXTENSION_SEPARATOR, search_order=None, logger=None, comp_prog=COMPRESSOR_PROGRAM_OPTIONS[DEFAULT_TAR], decomp_opt=DECOMPRESSOR_PROGRAM_OPTIONS[DEFAULT_TAR]): """Class init :param definitions: dictionary of Key:[function, cmd, cmd_args, Print/id string, extensions] :type definitions: dictionary :param env: environment to pass to the cmd subprocess :type env: dictionary :param default_mode: one of the definitions keys :type default_mode: string :param separator: filename extension separator :type separator: string :param search_order: optional mode search order :type search_order: list of strings :param logger: optional logging module instance, default: pyDecomp logging namespace instance :type logger: logging :param comp_prog: the tar option string to use for the commpressor program bsd's tar is different that linux's tar default: '-I' :type comp_prog: string :param decomp_opt: external decompressor module option :type decomp_opt: string """ if definitions is None: definitions = {} self.loaded_type = ["None", "No definitions loaded"] else: self.loaded_type = definitions.pop('Type') self.env = env or {} self.mode_error = self.loaded_type[0] + \ " Error: No mode was passed in or automatically detected" self._map = {} self.extension_separator = separator # set some defaults depending on what is being loaded if self.loaded_type[0] in ['Compression']: self.mode = default_mode or 'tbz2' self.compress = self._compress self.extract = None else: self.mode = default_mode or 'auto' self.compress = None self.extract = self._extract self.search_order = search_order or list(definitions) if isinstance(self.search_order, str): self.search_order = self.search_order.split() self.logger = logger or log self.comp_prog = comp_prog self.decomp_opt = decomp_opt self.logger.info("COMPRESS: __init__(), search_order = %s", str(self.search_order)) # create the (de)compression definition namedtuple classes self._map = create_classes(definitions, self.fields) binaries = set() for mode in self.search_order: binaries.update(self._map[mode].binaries) self.available = check_available(binaries)