gordonjb / graplist.fm

Stats for wrestling shows you've attended, sourced from Cagematch.net. setlist.fm, for wrestling. Taking suggestions for better names
3 stars 1 forks source link

Handle one off (bracketed) gimmicks #16

Closed gordonjb closed 5 years ago

gordonjb commented 5 years ago

As an example, the Riptide Rumble features Session Goth in a match.

In the results list, this is written as follows: Chakara & Paul Robinson defeat Jimmy Havoc & Session Goth (Martina) (w/Jinny)

However, this match will add the following entries to the All Workers list (imagine the other entries):

Chakara, Jimmy Havoc, Jinny, Martina, Paul Robinson, Session Goth

This means we end up adding appearances for Martina and a new no-id entry for "Session Goth"

I don't know how we're going to figure this out, but we might need to start introducing some mixed parsing of both the worker list and the match list.

This also demonstrates the manager recognizing issue in #7.

gordonjb commented 5 years ago

Maybe if we encounter a plain text name, before we try add it, check the list of matches?

If one is followed by " (" (but not " (c)" or " (w/"), we could skip it.

This should also help with tag teams.

Regexes look to be a pita, but I'm sure it can be sorted

gordonjb commented 5 years ago

regex: El Motho(( \(([c\)]|[w\/]))|( [^(])|$) positively matches, so we could do that instead of trying to negatively match.

test strings:

El Motho (Martina) & Martin Steers
El Motho (c) defeats Gabriel Kidd
El Motho (Charlie Carter, Oisin Delaney & The OJMO)
El Motho (w/Jinny)
El Motho defeats Gabriel Kidd
Gabriel Kidd defeats El Motho

In this scenario, we'd want to drop no.1 and no.3, but keep no.2, no.4, no.5 and no.6, so we'd only keep if the regex matches.

https://regex101.com/r/mtdYQj/3