Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/drake-rochelle/open-storefront/llms.txt

Use this file to discover all available pages before exploring further.

When you select a non-storefront item from any menu, Open Storefront immediately begins fetching it from Google Drive and saves it to your local machine. This page covers how the download process works, where files end up, and how to download everything in a storefront at once using the all command via scripted input.

How Downloads Work

After you enter the index number of a downloadable item, Open Storefront:
  1. Clears the screen and prints Downloading...
  2. Reads the item’s remote URL, filename, and target sub-path from the loaded storefront data.
  3. Constructs the full local destination path:
    <local_path><sub-path>/<filename>
    
  4. Creates any missing directories along that path automatically (os.makedirs with exist_ok=True).
  5. Fetches the file with urllib.request.urlretrieve and writes it to the destination.
  6. Clears the screen once more and prints:
    Download successfull.
    Enter any symbol to return to storefront...
    
    Press any key to go back to the current menu.
The sub-path stored in each storefront item may contain the string /3DS Storefront/. Open Storefront automatically replaces every occurrence of /3DS Storefront/ with /Open Storefront/ before writing to disk. This keeps your local folder structure tidy under a single Open Storefront directory regardless of how the remote storefront was originally organised.

Default Download Location

By default, files are saved inside your home directory (~). For example, a game whose stored sub-path is /Open Storefront/Games/ and whose filename is Mario Kart 7.cia would be written to:
~/Open Storefront/Games/Mario Kart 7.cia
On different platforms this expands to:
PlatformExpanded path
WindowsC:\Users\YourName\Open Storefront\...
macOS/Users/YourName/Open Storefront/...
Linux/home/yourname/Open Storefront/...

Batch Downloading with all

The all command queues a download of every non-storefront item in the currently displayed menu. It works by building a sequence of index numbers — one for each downloadable item — with an n inserted between each to automatically dismiss the “press any key to return” prompt after every download.
all only works when processed from a scripted input file — not when typed interactively at the prompt. Input entries from a file preserve their trailing newline characters, which is what the all check requires. To use all, place it on its own line in an input file alongside any other commands you want to automate. See Input Automation for details.
When the all command is processed, Open Storefront iterates through every item in the menu, skips anything of type storefront, and queues the remaining items for sequential download. For example, given this menu:
Super 3DS Vault:

x: <home>
0: Animal Crossing - New Leaf.cia
1: Mario Kart 7.cia
2: Pokemon X.cia
3: More Games
Running all would queue downloads for items 0, 1, and 2, skipping 3 (a storefront). You will see the Downloading... and confirmation screens cycle for each file in order.
You can change where downloaded files are saved by creating a download_path.txt file next to main.py. See Configuration for step-by-step instructions.

Build docs developers (and LLMs) love