@@ -633,20 +633,24 @@ void AbstractScraper::detectRegionFromFilename(const QFileInfo &info) {
633633 // loop over region infos from filename
634634 while (matchIter.hasNext ()) {
635635 QString regionString = matchIter.next ().captured ().toLower ();
636- // keep (e), (u), (j) due to startsWith(fn_regio) later, else remove
637- // parenthesis
638- if (regionString != " (e)" && regionString != " (j)" &&
639- regionString != " (u)" ) {
636+ if (regionString == " (jue)" ) {
637+ regionString = " japan|usa|europe" ;
638+ } else if (regionString == " (ue)" ) {
639+ regionString = " usa|europe" ;
640+ } else if (regionString != " (e)" && regionString != " (j)" &&
641+ regionString != " (u)" ) {
640642 // remove parenthesis
641643 regionString = regionString.mid (1 , regionString.length () - 2 );
642644 }
643645 while (!regionString.isEmpty ()) {
646+ bool detectedRegion = false ;
644647 QListIterator<QPair<QString, QString>> iter (regionMap ());
645648 while (iter.hasNext ()) {
646649 QPair<QString, QString> e = iter.next ();
647650 QString fn_regio = e.first ;
648651 QString sky_regio_key = e.second ;
649652 if (regionString.startsWith (fn_regio)) {
653+ qDebug () << " matched" << fn_regio;
650654 // map to Skyscraper's short-names (sky_regio_key)
651655 if (regionsInline) {
652656 if (!regionPrios.contains (sky_regio_key) &&
@@ -662,13 +666,18 @@ void AbstractScraper::detectRegionFromFilename(const QFileInfo &info) {
662666 regionString = regionString.replace (fn_regio, " " );
663667 if (!regionString.isEmpty ()) {
664668 // remove possible separators (comma et al.) if
665- // regionString was "Europe, Japan " -> retain "Japan "
669+ // regionString was "europe, japan " -> retain "japan "
666670 regionString = regionString.replace (
667671 QRegularExpression (" ^([^a-z]+)?" ), " " );
668672 }
673+ detectedRegion = true ;
669674 break ;
670675 }
671676 }
677+ if (!detectedRegion) {
678+ // no match was found in regionMap()
679+ break ;
680+ }
672681 }
673682 }
674683
@@ -795,10 +804,10 @@ QVariantMap AbstractScraper::readJson(const QString &filename) {
795804 " fix.\n Not scraping...\n\033 [0m" ,
796805 filename.toUtf8 ().constData ());
797806 } else if (jsonObj.isEmpty ()) {
798- ncprintf (
799- " \033 [1;31mFile '%s' has insky_regio_keyid JSON format. Please fix.\n Not "
800- " scraping...\n\033 [0m" ,
801- filename.toUtf8 ().constData ());
807+ ncprintf (" \033 [1;31mFile '%s' has insky_regio_keyid JSON format. "
808+ " Please fix.\n Not "
809+ " scraping...\n\033 [0m" ,
810+ filename.toUtf8 ().constData ());
802811 }
803812 return m;
804813}
0 commit comments