skyscraper icon indicating copy to clipboard operation
skyscraper copied to clipboard

Couldn't calculate cache id of rom file

Open skippa opened this issue 2 years ago • 1 comments

I should first explain my use case to understand if this is really a bug or me using it wrong...

I'm wanting to scrape cover art for my ROM's that I have in an SD card for a handheld emulator (Anbernic RG350 to be exact). I've got folders for each platform ie ROMS/GBA (gameboy advance), ROMS/MD (megadrive) etc. I just need coverart files that will be named [ROM filename].png

Roms are named as follows:

002 Pokemon Leaf Green.gba
003.Crash Bandicoot2.gba
003 Pokemon Mystery Dungeon-Red Rescue Team.gba
004 Super Mario Adv.gba

I've run this inside the ROMS/GBA folder:

Skyscraper -p gba -s openretro -i /home/xxxxx/retroarch/sdcard/ROMS/GBA

Output as follows:

------------------------------------------
Running Skyscraper v3.7.5 by Lars Muldjord
------------------------------------------
Platform:           'gba'
Scraping module:    'openretro'
Input folder:       '/home/cmskipsey/retroarch/sdcard/ROMS/GBA'
Game list folder:   '/home/cmskipsey/retroarch/sdcard/ROMS/GBA'
Covers folder:      '/home/cmskipsey/retroarch/sdcard/ROMS/GBA/media/covers'
Screenshots folder: '/home/cmskipsey/retroarch/sdcard/ROMS/GBA/media/screenshots'
Wheels folder:      '/home/cmskipsey/retroarch/sdcard/ROMS/GBA/media/wheels'
Marquees folder:    '/home/cmskipsey/retroarch/sdcard/ROMS/GBA/media/marquees'
Cache folder:       'cache/gba'

DID YOU KNOW: If you have all of your roms on an external harddrive, you can set the 'inputFolder' option in the '[main]' section of '/home/USER/.skyscraper/config.ini'. Then it will always use this location as the base path for all platforms.

Forcing 1 thread to accomodate limits in the OpenRetro API

Reading and parsing quick id xml, please wait... Done!
Reading and parsing resource cache, please wait... Done!
Successfully parsed 0 resources!

Looking for optional 'priorities.xml' file in cache folder... Found!
Priorities loaded successfully!


Starting scraping run on 305 files using 1 threads.
Sit back, relax and let me do the work! :)

Couldn't calculate cache id of rom file '002 Pokemon Leaf Green.gba', please check permissions and try again, now exiting...
``

Skyscraper seems more aimed at being run from a raspberry pie with RetroPie running - does that mean I shouldn't use it for my use case?

skippa avatar May 22 '22 11:05 skippa

Hi, Skyscraper is very much aimed at RetroPie, but can be used on a normal Ubuntu install as well without issue. The use case in question does not seem like an obscure use-case to me, so it should work.

Two things I note:

  • You are trying to scrape using the openretro source which is mostly used to scrape Amiga games. It does not work well for other platforms.
  • Skyscraper uses a cache id to avoid having to calculate the checksums of files that haven't changed every time Skyscraper is run. It is this id it can't calculate, which points to the possibility that Skyscraper does not have permission to read the file. I seem to recall this being an issue for some other user previously, when using a USB device, but I can't recall what the issue was. But have you checked that the user running Skyscraper has read permissions to the files in question? You can try simply opening the file in any other program using the same user. Or you can ls -lh to check the permissions. Remember that the parent folder also needs read permissions for the file for the user.

muldjord avatar May 23 '22 11:05 muldjord