Skip to content

VirtualFileSystem ls()/ls_all() ignores mounted ram disks #1244

@Clockwork-Muse

Description

@Clockwork-Muse

Description

When mounting a ram disk, calling ls() or ls_all() ignores ramdisk subdirectories

Steps to Reproduce

from panda3d.core import VirtualFileMountRamdisk, VirtualFileSystem

vfs = VirtualFileSystem.getGlobalPtr()
vfs.make_directory("somedir")

vfs.mount(VirtualFileMountRamdisk(), "somedir/subdir", 0)
# or:
# vfs.mount(VirtualFileMountRamdisk(), "somedir", 0)
# vfs.make_directory("somedir/subdir")

with open("somedir/subdir/somefile.txt", mode="wt", encoding="utf-8") as somefile:
    somefile.write("hello?")

print("root ls_all")
# prints nothing
vfs.ls_all("somedir")

print("subdir ls_all")
# if the mount point was `somedir/subdir`, this prints nothing
# if the mount point was `somedir`, then this prints `somefile.txt`
vfs.ls_all("somedir/subdir")

print(f"file exists: {vfs.exists('somedir/subdir/somefile.txt')}")

Environment

  • Operating system: Ubuntu 20.04
  • System architecture: x86_64
  • Panda3D version: 1.10.11
  • Installation method: pip wheel
  • Python version (if using Python): 3.8.10

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions