ES-scraper is ok, but it's not always accurate. I ended up with about 40 incorrectly identified master system roms which were showing up as "champions of europe" just because they were european versions of games and had (europe) in the filename. Lots of other games were also misidentified.
I guess I could try to remove these tags on runtime to avoid the errors you mentioned but at the end of the day it's up to how properly named your files and whether you entered the correct platform on the config file (and of course TheGamesDB's info).
I was searching for a linux rom manager that uses the no-intro database and that's how I came across this script. No-intro seems to be a lot more open than Cowering's GoodTools, so it's probably the best system for naming conventions and dat files this project could use.
I noticed that pendor mentioned using no-intro with ES-scraper on page 6 of this thread and I think it's a good idea. There wouldn't be any more incorrectly identified games. It might take a long time to checksum roms, but that's better than selecting a game and then having it turn out to be something completely different.
Would it be possible to incorporate this script into ES-scraper?
I've been working a little bit on that but the fact is that usage of either my script or that one just accomplishes one thing: identification. As in getting -what that DAT file considers- a "proper name". There's no guarantee it'll be compatible with any other database (such as the one
used by the scraper).
Also, DAT files have no metadata whatsoever (boxarts, release dates and other info) except for the name of the game and checksums used to ID each file.
I think Xevin mentioned the idea of console "gamepacks" (basically, a file or group of files containing the above (all metadata) for each platform) but those would have to be done from scratch. I have built some partial packs using DATs as reference. But then, there's another problem: the use of DAT files means people will have to use specific sets for that file.
So, to sum up: using DAT files to identify files it's definitely doable. But you'll only get the game's name, all the other stuff is missing. And, of course, you're somewhat restricted in the sense that you can only use the set that DAT was built for or else it won't work.
The script you linked to works only with uncompressed files. Mine supports 7z files so far (since that's the "standard").
That said, I wouldn't mind cleaning the code and sharing my ROM checker as long as everyone understands the pros and cons of that approach.