Homebrew WIP NX-RomGet - Python script to download roms

  • Thread starter Thread starter HoTsHoTz79
  • Start date Start date
  • Views Views 16,553
  • Replies Replies 24
  • Likes Likes 10

HoTsHoTz79

GIC-Developer
Member
Joined
May 9, 2018
Messages
322
Reaction score
244
Trophies
0
Age
41
XP
985
Country
Canada
Downloading ROMs then transferring via FTP/MTP is a hassle...

So I started working on a Python script yesterday and this is what I've achieved so far using PyNx as base:
  • Main screen - console selection
  • 2020041518015200-85CACA99A3DD1763E1AC22D4DA96A14C.jpg
  • Console screen - rom selection
    • Based off of external .txt
    • Upto 900 records works
    • Failed to display with 1500+ rows
  • 2020041518015500-85CACA99A3DD1763E1AC22D4DA96A14C.jpg
  • Download screen - progress report
  • 2020041518023100-85CACA99A3DD1763E1AC22D4DA96A14C.jpg
  • Optional: I used NRO Asset Editor to change PyNx.nro name and image (as shown in screenshot)
  • 2020041518014100-85CACA99A3DD1763E1AC22D4DA96A14C.jpg
To Do / To Learn:
  • Option to Extract zip (e.g Dreamcast games)
  • Option to Delete zip after extraction
I'll share the Python script when I do a little more work on it this weekend but note the following:
  • The script itself does not contain any ROMs or links
  • You will need to create your own .txt files containing the name to display and the download link (e.g "name;link")
  • Side note; I just started learning Python yesterday
 
Last edited by HoTsHoTz79,
Script ready and posted on GitHub

https://github.com/hotshotz79/NX-RomGet

Reminder: you have to create your own .txt files that include the download links

I will also upload the renamed NRO later for those who prefer it as a separate Homebrew

See it in action:


Note: applet mode is okay for files under 100mb
 
Last edited by HoTsHoTz79,
  • Like
Reactions: DocKlokMan
Hey friend, first of all thanks for your project, this is pretty cool!

I was wondering if you'd be open to implementing custom install paths and even platform names. I've been looking for a tool to distribute fan translations of games and this would be perfect if that was a thing.

Cheers!
 
Last edited by Goma1337,
  • Like
Reactions: Yoshideking
I'm confused you say "Downloading ROMs then transferring via FTP/MTP is a hassle" but how is downloading a rom, uploading to a custom host with direct link support (own server), getting the link, adding to a custom .txt file with custom naming, and then transfering that file via ftp/mtp quicker?

It's 5x the work and requires someone to have a server to host the files? I don't see how the first option isn't much much easier?
 
Last edited by steve51184,
Hey friend, first of all thanks for your project, this is pretty cool!

I was wondering if you'd be open to implementing custom install paths and even platform names. I've been looking for a tool to distribute fan translations of games and this would be perfect if that was a thing.

Cheers!
Please include mods that enhance the experience.
 
I'm confused you say "Downloading ROMs then transferring via FTP/MTP is a hassle" but how is downloading a rom, uploading to a custom host with direct link support (own server), getting the link, adding to a custom .txt file with custom naming, and then transfering that file via ftp/mtp quicker?

It's 5x the work and requires someone to have a server to host the files? I don't see how the first option isn't much much easier?


You don't need to do all that. Just find a host with the file already, copy the link, then add it to the list.

Not saying this app is better/less work/etc, but what you stated is WAY over complicating it.
 
You don't need to do all that. Just find a host with the file already, copy the link, then add it to the list.

Not saying this app is better/less work/etc, but what you stated is WAY over complicating it.

First there aren't many rom sites with direct links and adding hundreds of link like this would take a very long time

Second I'm not over complicating it.. it is a lot more work and still in the end requires you to FTP a file over.. so why no skip all the extra steps and just transfer the ROM file over instead
 
First there aren't many rom sites with direct links and adding hundreds of link like this would take a very long time

Second I'm not over complicating it.. it is a lot more work and still in the end requires you to FTP a file over.. so why no skip all the extra steps and just transfer the ROM file over instead

Because it is very obvious that many people are soon to be sharing around their text files for easy distribution. Just like how ALL these apps turn out.
 
  • Like
Reactions: HoTsHoTz79
Where is it pulling the roms from?
Do you need to provide the roms yourself?


Could i use Gdrive for example?

From user provided .txt files
You can either download from users sharing it or create it yourself

I used archive.org, found ROMs collection as individual zip... View source code, cleaned it up in Excel
Remember: the name of text file determines where the ROMs are downloaded, so Sega - Genesis.txt will download to //ROMs/Sega - Genesis

GDrive, I'm not sure... If you do test it, let us know... Also rename https to http.

I looked into mega.nz but PyNx does not support it

Hey friend, first of all thanks for your project, this is pretty cool!

I was wondering if you'd be open to implementing custom install paths and even platform names. I've been looking for a tool to distribute fan translations of games and this would be perfect if that was a thing.

Cheers!

Can you provide example? I'll see if I can... I just learned Python a week ago plus there's limited library available in PyNx

Currently the app is programmed to install to //ROMs/<name of txt file>

I'm confused you say "Downloading ROMs then transferring via FTP/MTP is a hassle" but how is downloading a rom, uploading to a custom host with direct link support (own server), getting the link, adding to a custom .txt file with custom naming, and then transfering that file via ftp/mtp quicker?

It's 5x the work and requires someone to have a server to host the files? I don't see how the first option isn't much much easier?

It's a hassle for me especially when downloading Dreamcast/PSX games... 700mb first on my phone, then transfer to switch

With this app, if I spend a little time to make a txt file (took me 5-10 min) I can have as many ROMs as I want on my switch, downloadable with 1 click
 
  • Like
Reactions: Cubuss
First there aren't many rom sites with direct links and adding hundreds of link like this would take a very long time

Second I'm not over complicating it.. it is a lot more work and still in the end requires you to FTP a file over.. so why no skip all the extra steps and just transfer the ROM file over instead


I already have a pack uploaded with multiple .txt lists populated and ready to use. And I wasn't even home all day. So... "very long time"
 
  • Like
Reactions: HoTsHoTz79
With this app, if I spend a little time to make a txt file (took me 5-10 min) I can have as many ROMs as I want on my switch, downloadable with 1 click
I'm no lawyer, but turnkey piracy seems like a pretty legally dubious thing to be enabling.
Especially when you could just as easily use your PC and an SD reader to transfer your already-existing backups.
We're trying to enable others to use their own acquired backups, not promote the piracy involved to obtain said backups.
 
the easiest rom managing i found is my windows server. all my roms are there (as well as burned on disc for backup). When ever i want to load a rom on the wii for example, i just open the folder with the roms separated by system. I use emulators with smb share features. if i need to install a switch game i can just copy it to usb. Why the install tools dont support SMB shares is beyond me. Tinfoil should support it but it dont.
 
This seems nice and all but wouldn't it be better to have a GUI in which you can just paste your link and download stuff that way?
 
I'm confused you say "Downloading ROMs then transferring via FTP/MTP is a hassle" but how is downloading a rom, uploading to a custom host with direct link support (own server), getting the link, adding to a custom .txt file with custom naming, and then transfering that file via ftp/mtp quicker?

It's 5x the work and requires someone to have a server to host the files? I don't see how the first option isn't much much easier?

Automation, mate! Automation! Here's my use case:

>mount my google cloud with terabytes of no-intro roms in my fedora (m'lady) server using rclone
>serve the mounted folder with a simple web server locally
>use a simple python script to make the txt automatically pointing to the mounted folder
>send the txt over to the switch
>????
>profit, terabytes of roms in my palms

The good thing about rclone is that it won't actually download all the terabytes, but it's on demand: it'll only download the files I try to get from my switch. I can even make this setup remote over the internet with a reverse proxy, since I just need to point Gotify to it.
Pretty handy stuff if you ask me, just not that user friendly. And yes, you probably need a server or someone willing to share a server like people do with Tinfoil.
 
Last edited by evertonstz,
Worth noting that unless this integrates .chd compression, it’s probably not a good idea to use an automated method for CD-based games since cue/bin is unnecessarily bloated.
 
Worth noting that unless this integrates .chd compression, it’s probably not a good idea to use an automated method for CD-based games since cue/bin is unnecessarily bloated.

Just put chd in your text files instead of cue/bin. Who is still using cue/bin for achieving anyways?
f8deef878867dee11b7a15a0a55765b4.jpg
 
My personal files are all chd, but I suspect people needing an application like this will probably be downloading redump-format files as-is.
 

Site & Scene News

Popular threads in this forum