def get_asset_list(self, request_path, path=''):
        if self.path.is_correct():
            game_path = self.path
            abs_game_path = get_absolute_path(game_path)

            # Load mapping table
            j = load_json_asset(os.path.join(game_path, self.mapping_table))
            if j:
                # pylint: disable=E1103
                mapping_table = j.get('urnmapping') or j.get('urnremapping', {})
                # pylint: enable=E1103
                self.has_mapping_table = True
                files = [ ]
                directories = { }
                len_path = len(path)
                if not path.endswith('/') and len_path > 0:
                    len_path += 1
                for k, v in mapping_table.iteritems():
                    if k.startswith(path):
                        parts = k[len_path:].split('/')
                        if len(parts) == 1:
                            abs_file_path = os.path.join(abs_game_path, request_path, v)
                            files.append(_File(parts[0], v, '%s/%s' % (request_path, v), abs_file_path))
                        else:
                            if parts[0] not in directories:
                                directories[parts[0]] = _File(parts[0])

                result = directories.values() + files
                if len(result) == 0:
                    raise GamePathNotFoundError('Asset path does not exist: %s' % path)

                return result

            else:
                self.has_mapping_table = False
                # !!! What do we expect if the user asks for Assets and there is no mapping table?
                return self.get_static_files(game_path, request_path, path)

        else:
            raise GamePathError(self.path % 'Game path not found: %s')
dataset/ETHPy150Open turbulenz/turbulenz_local/turbulenz_local/models/game.py/Game.get_asset_list/swapped operands of `%`