def list_children(self, **kwargs):
        # type: (str) -> Generator
        '''
        Generate a list of all of the file/directory objects in the
        specified location on the ISO.

        Parameters:
         iso_path - The absolute path on the ISO to list the children for.
         rr_path - The absolute Rock Ridge path on the ISO to list the children for.
         joliet_path - The absolute Joliet path on the ISO to list the children for.
         udf_path - The absolute UDF path on the ISO to list the children for.
        Yields:
         Children of this path.
        Returns:
         Nothing.
        '''
        if not self._initialized:
            raise pycdlibexception.PyCdlibInvalidInput('This object is not yet initialized; call either open() or new() to create an ISO')

        num_paths = 0
        for key in kwargs:
            if key in ['joliet_path', 'rr_path', 'iso_path', 'udf_path']:
                if kwargs[key] is not None:
                    num_paths += 1
            else:
                raise pycdlibexception.PyCdlibInvalidInput("Invalid keyword, must be one of 'iso_path', 'rr_path', 'joliet_path', or 'udf_path'")

        if num_paths != 1:
            raise pycdlibexception.PyCdlibInvalidInput("Must specify one, and only one of 'iso_path', 'rr_path', 'joliet_path', or 'udf_path'")

        if 'udf_path' in kwargs:
            udf_rec = self._get_udf_entry(kwargs['udf_path'])

            if not udf_rec.is_dir():
                raise pycdlibexception.PyCdlibInvalidInput('UDF File Entry is not a directory!')

            for fi_desc in udf_rec.fi_descs:
                yield fi_desc.file_entry
        else:
            if 'joliet_path' in kwargs:
                rec = self._get_entry(None, None, self._normalize_joliet_path(kwargs['joliet_path']))
            elif 'rr_path' in kwargs:
                rec = self._get_entry(None, utils.normpath(kwargs['rr_path']), None)
            else:
                rec = self._get_entry(utils.normpath(kwargs['iso_path']), None, None)

            for c in _yield_children(rec):
                yield c
def list_children ( self , ** kwargs ) : if not self . _initialized : raise pycdlibexception . PyCdlibInvalidInput ( 'This object is not yet initialized; call either open() or new() to create an ISO' ) num_paths = 0 for key in kwargs : if key in [ 'joliet_path' , 'rr_path' , 'iso_path' , 'udf_path' ] : if kwargs [ key ] is not None : num_paths += 1 else : raise pycdlibexception . PyCdlibInvalidInput ( "Invalid keyword, must be one of 'iso_path', 'rr_path', 'joliet_path', or 'udf_path'" ) if num_paths != 1 : raise pycdlibexception . PyCdlibInvalidInput ( "Must specify one, and only one of 'iso_path', 'rr_path', 'joliet_path', or 'udf_path'" ) if 'udf_path' in kwargs : udf_rec = self . _get_udf_entry ( kwargs [ 'udf_path' ] ) if not udf_rec . is_dir ( ) : raise pycdlibexception . PyCdlibInvalidInput ( 'UDF File Entry is not a directory!' ) for fi_desc in udf_rec . fi_descs : yield fi_desc . file_entry else : if 'joliet_path' in kwargs : rec = self . _get_entry ( None , None , self . _normalize_joliet_path ( kwargs [ 'joliet_path' ] ) ) elif 'rr_path' in kwargs : rec = self . _get_entry ( None , utils . normpath ( kwargs [ 'rr_path' ] ) , None ) else : rec = self . _get_entry ( utils . normpath ( kwargs [ 'iso_path' ] ) , None , None ) for c in _yield_children ( rec ) : yield c
Generate a list of all of the file/directory objects in the
        specified location on the ISO.

        Parameters:
         iso_path - The absolute path on the ISO to list the children for.
         rr_path - The absolute Rock Ridge path on the ISO to list the children for.
         joliet_path - The absolute Joliet path on the ISO to list the children for.
         udf_path - The absolute UDF path on the ISO to list the children for.
        Yields:
         Children of this path.
        Returns:
         Nothing.