RosenborgSupporterSoftware / staut

Automated counting of ticket sales for Rosenborg home games
4 stars 3 forks source link

STAut sluttet å samle inn data på Glimt-kampen - nytt URL-format på availability-data har skylden? #22

Closed havremunken closed 7 years ago

havremunken commented 7 years ago

STAut vil ikke lenger hente data fra Ticketmaster. Det ser for meg ut som de har endret litt igjen på availabilityURL-formatet. Kan det ha noe med saken å gjøre? Det ser ihvertfall ut som collectoren feiler når den skal tolke dataene:

INFO: Extracting event information from URL: http://www.ticketmaster.no/event/47
6981
java.lang.ArrayIndexOutOfBoundsException: 1
        at staut.Collector.extractEventInfo(Collector.java:123)
        at staut.Collector.findActiveEvents(Collector.java:77)
        at staut.CheckEventsTask.updateEventCollects(CheckEventsTask.java:25)
        at staut.CheckEventsTask.run(CheckEventsTask.java:18)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
access$301(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

Event hos ticketmaster er http://www.ticketmaster.no/event/476981 - eventInfo-objektet der inneholder bl.a. denne:

"availabilityURL":"\/ism\/availability\/476981"

Den har vel ikke sett helt sånn ut før.

Merk at exception over er sånn det ser ut etter restart. Før restart prøvde den bare å hente data fra den gamle availabilityURLen, som returnerte 404.

Får vel tagge @vemundo her som er den som best kan skjønne hva som stopper. :)

vemundo commented 7 years ago

Tror antagelsen din er korrekt, skal se på det når jeg kommer hjem fra jobb.

vemundo commented 7 years ago

Har pushet en fiks nå, iallefall en midlertidig en.

Formatet på URLen som vi henter availability.xml fra hadde endret seg som du påpekte. Dette i seg selv var udramatisk, da vi fremdeles klarer å finne selve fila på den nye plasseringen, men den gamle URLen inneholdt noen koder som jeg brukte til å gjøre antagelser omkring hvorvidt kampen er serie, cup, e-cup, hvilken serierunde det er, osv. Jeg fant en alternativ kilde til denne koden men muligens inneholder ikke den fullt ut de samme detaljene. Det gjenstår å se når det blir cup og ecup osv.

Uansett vil vel aldri denne biten bli 100% stabil, koder osv vil nok endre seg nå og da. Men vi er litt avhengig av å hente ut noe metadata fra websiden for å kunne mappe dataene vi laster ned til individuelle kamper.

havremunken commented 7 years ago

Nydelig, ser bra ut dette! :D