Skip to content

Latest commit

 

History

History
150 lines (74 loc) · 7.73 KB

README.md

File metadata and controls

150 lines (74 loc) · 7.73 KB

RetroScraper

RetroScraper - Metadata & Media scraper for your rom collection

Tested under python 3.10,3.9 & 3.7, I've tested it under windows, linux and rpi distrubutions, but of course, errors will still occur.

I've updated the initialization of the script so it will perform the installation of most of the dependencies itself.

This scraper uses its own backend, which has been compiled from many sources on the net and keeps extending. If this is a problem for you, do not run this software.

This scraper will create a local DB with the checksum of your roms, for purposes of speed if you have large files. If this is a problem for you, use the --nodb modifier.

It will create a backup of the gamelist.xml files by default, use the --nobackup modifier to overwrite them directly.

Running the software:

Make sure Rust is installed: https://www.rust-lang.org/tools/install

Download all files in one directory. (you can use git clone also : git clone https://github.com/zayamatias/retroscraper)

Verify you have python 3.7 or greater installed (windows up to 3.10 due to a current issue with kivy and python 3.11):

python3 --version

Excute as 'python3 retroscraper.py'.

Troubleshooting

If the application seems not to be starting, you can find the logs under your home directory (user directory in windows) under the .kivy/logs directory. This should help you understanding and report the issue.

GUI Mode

This mode is, obviously, not available when running directly on retropie.

GUI mode is executed if you run the program without any commands (python retroscraper.py) and opens a windows such as this:

image

This is the main screen.

There are 4 tabs, =Games=, =Systems=, =Configuration= and =Errors=

The =Errors= tab shows you a log with the erros during scraping, which may help you troubleshoot the execution.

image

The =Games= tab show the actual scraping status of every rom.

image

The blue bar on the lower part of the screen shows the progress of the current system.

The =Systems= tab allows you to select which systems you want to scrape, either all, or individually sleected ones.

image

It also shows the current system being scraped (if you started scraping) and te number of files to be scraped for that system.

last but not least, the =Configuration= tab, allows you to configure the tool to suit your needs.

image

The =Remote= tab allows you to scan a remote system, press the 'look for remote systems' button. Once done and at least oe is found, press 'START SCRAPING'. From teh gui it only works in SMB (which is rather slow). From cli you can use SSH if it is enabled in the remote system.

image

Disclaimer: First run on a remote system via SMB will be slo, specially if you have large files (such as ISO's), as retroscraper will get each file one by one to calculate its checksum. As the files get scanned and checksums stored in the lcoal DB, subsequent runs should be much faster.

Oh! also, due to the choice of bezel directories, and due to the fact that this directory is not exposed in teh smb shares, bezels will not work when running in SMB mode. I'll have a look on how to overcome this.

Configuatrion items:

Systems File:

Location of the, usually called, es_systems.cfg file, this is the emulation station file that holds the information for the systems ands roms directories you have set up. it is similar to the _ '--systemsfile' _ option in the _ '--cli' _ version. By default Retroscraper will try to locate it in the usual directories, if unsuccesfull it will be left blank.

Systems Roms Path:

This will tell you where your roms are located according to your _ es_systems.cfg _ file. If you're importing this file from a machine in your network, it will actually show wwhere they are in that machine.

Map To Path:

This will allow you to map the previous path to a path in your local machine, so if you mount the remote machine rom's directory into the machine executing retroscraper, retroscraper will be able to access the roms on the remote machine as if they were local.

Name Decorators:

The following options allow you to add 'decorators' to the name taht is going to be displayed in your system, for example:

Add Version:

Will get any string that matches (Vxxxxx) in the rom filename and insert it in the final name for the game. If your rom is called _ 'My Super Game (v3).zip' _ , your game name will be displayed as _ 'My Super Game (v3)' _

This is similar to the _ --version _ command

Add Hack/Beta:

Similar to previous option, but searching for matches of _ (xxxx Beta xxxx) _ or _ (xxxx Hack xxxx) _

This is similar to the _ --hack _ command

Add Country/Language:

Simiular to previous option, but searching for matches of _ (xx) _ where xx is an identified country/language shortname, such as usa,fr, en, es, etc..

This is similar to the _ --country _ command

Add Disk/Tape:

Simiular to previous option, but searching for matches of _ (Tape xx of yy) _ or _ (Disk xx of yy) _ where xx and yy are numbers or letters such as _ (Tape A) _ or _ (Disk 1 of 2) _

This is similar to the _ --disk _ command

All previous options will relay on the filename, so if the information is not in the filename, it will not show in the final name.

Bezels

This two options allow you to download the game bezels (this is usually a pciture surrounding the playing area) and will allow you to decide if you want to download the generic system bezel if the game bezel is not found.

This is similar to the _ --bezels _ command and _ --sysbezels _

Media Download preferences.

Do you prefer to have the game box instead of the screenshot? Select it here. Do you prefer not to download videos? You can also do it here.

Preferred Language:

Select your preferred language form the drop down list. If supported the interface will change to that language (currently en, fr & es are supported).

If you select to use google translate, the games desciptions which are not available in the selected language, will be translated by google.

This is similar to the _ --language xx _ command and _ --google _

No DB

Retroscraper creates a local retroscraper.db file, where it will store all the checksums for yoru files. This is done to avoid losing extra time in subsequent runs, specially fro large files. If you prefer to calculate the hashes on teh fly, use the _ --nodb _ modifier

No Backup:

Since latest version, RetroScraper will autoamtically generate a backup of your gamelist.xml file for each system, by adding a number to it (gamelist.xml.1, gamelist.xml.2 and so forth). If you want to avoid having these backups created, use the _ --nobackup _ modifier.

Scan remote system

--remote USER PASSWORD : will search the local network for an available retropie system and scrap it. If you put teh wrong credentials, it will default to SMB (as well as if SSH is not enabled in the remote system)

CLI Specific flags:

--systems : provide a list of systems you will like to have scanned, separated by comma [,].The names are the same as the ones found in your es_systems.cfg file, under the <system><name>SYSTEMNAME</name></system> tag.