RosenborgSupporterSoftware / staut

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

Parsing av eventinfo.properties #6

Closed havremunken closed 9 years ago

havremunken commented 9 years ago

Jeg har så smått begynt å se på lesing av eventinfo.properties-fila for å da generere tilsvarende events-record i databasen.

Har tatt utgangspunkt i fila som er generert for hjemmekampen mot Vikingur og har noen spørsmål/kommentarer:

eventname=Rosenborg - Vikingur E-cup 1.runde
eventid=467263
opponent=Vikingur E
eventdate=09.07.2015
eventtime=19:00
availabilityurl=http://www.billettservice.no/seatmap/proxy/availability/NO/TLDEC01-2015,NO-467263.xml
geometryurl=http://www.billettservice.no/seatmap/proxy/geometry/syst-25/geometry/TLD12_V07_geometry.xml

eventname: BillettService sitt navn på kampen. Dette er vel i utgangspunktet det vi kan forvente av drahjelp i forhold til å fastslå hvilken turnering kampen foregår i. Drømmen min om å parse dette ut helautomatisk ryker kanskje - ingenting annet enn navn på fi = Tippeligaen, ved cup står det vel "NM", mens ved E-cup er det ikke godt å si hva som står. Skilles det på EL og CL? Hva om vi kjører kvalik for CL til neste år og detter ut i playoff og så spiller EL? Jeg tipper vi må gjøre minst litt manuelt her for å parse riktig.

eventid: Enkelt og greit.

opponent: Stoppet parsingen ved bindestreken så det ble "Vikingur E"? Ikke at dette er noen big deal, men vi bør kanskje vite at dette blir konsistent.

eventdate / eventtime: Blir vel ikke enklere enn dette.

availabilityurl: Flott, er så drit lei av Ctrl+U og finne denne manuelt hver gang jeg lurer på status. ;)

geometryurl: Vi bruker den vel foreløpig ikke til noe, men enig i at denne potensielt er nyttig for fremtiden.

Burde vi hatt en link til selve billett-bestillings-siden også? Jeg tenker da på om brukere av STAut finner ut at de ønsker å kjøpe billett, så er det jo kjekt å ha en link. Then again, vi klarer kanskje å generere det vha. eventid? Har ikke sett på det men tipper at vi kan mekke en ganske simpel URL som sender oss til rett sted.

vemundo commented 9 years ago

eventname: Ja, har ikke sett om det er noe annet i html-koden som vi kan bruke for å finne turnering, så mulig det blir noe halvmanuell hacking. Skal se litt på det.

opponent: ja den knakk med bindestrek i opponent navn :) Skal fikse.

geometryurl: Det første jeg tenker vi kan bruke dette til er å få mer lesbare versjoner av navnene på seksjoner osv på stadion, om vi ønsker det. I java koden min parser jeg begge, har tenkt å sjekke om de er helt konsistente eller ikke.

Lenke til bestillingssiden er lett å lage fra eventid. I java-koden gjør jeg bare "http://www.billettservice.no/event/" + eventid . Så det tenker jeg vi kan gjøre fra websider også.

Vemund

2015-06-29 7:06 GMT+02:00 Rune Jacobsen notifications@github.com:

Jeg har så smått begynt å se på lesing av eventinfo.properties-fila for å da generere tilsvarende events-record i databasen.

Har tatt utgangspunkt i fila som er generert for hjemmekampen mot Vikingur og har noen spørsmål/kommentarer:

eventname=Rosenborg - Vikingur E-cup 1.runde eventid=467263 opponent=Vikingur E eventdate=09.07.2015 eventtime=19:00 availabilityurl=http://www.billettservice.no/seatmap/proxy/availability/NO/TLDEC01-2015,NO-467263.xml geometryurl=http://www.billettservice.no/seatmap/proxy/geometry/syst-25/geometry/TLD12_V07_geometry.xml

eventname: BillettService sitt navn på kampen. Dette er vel i utgangspunktet det vi kan forvente av drahjelp i forhold til å fastslå hvilken turnering kampen foregår i. Drømmen min om å parse dette ut helautomatisk ryker kanskje - ingenting annet enn navn på fi = Tippeligaen, ved cup står det vel "NM", mens ved E-cup er det ikke godt å si hva som står. Skilles det på EL og CL? Hva om vi kjører kvalik for CL til neste år og detter ut i playoff og så spiller EL? Jeg tipper vi må gjøre minst litt manuelt her for å parse riktig.

eventid: Enkelt og greit.

opponent: Stoppet parsingen ved bindestreken så det ble "Vikingur E"? Ikke at dette er noen big deal, men vi bør kanskje vite at dette blir konsistent.

eventdate / eventtime: Blir vel ikke enklere enn dette.

availabilityurl: Flott, er så drit lei av Ctrl+U og finne denne manuelt hver gang jeg lurer på status. ;)

geometryurl: Vi bruker den vel foreløpig ikke til noe, men enig i at denne potensielt er nyttig for fremtiden.

Burde vi hatt en link til selve billett-bestillings-siden også? Jeg tenker da på om brukere av STAut finner ut at de ønsker å kjøpe billett, så er det jo kjekt å ha en link. Then again, vi klarer kanskje å generere det vha. eventid? Har ikke sett på det men tipper at vi kan mekke en ganske simpel URL som sender oss til rett sted.

— Reply to this email directly or view it on GitHub https://github.com/RosenborgSupporterSoftware/staut/issues/6.

vemundo commented 9 years ago

Ah, en annen tanke jeg hadde med geometryxml var at om den endrer seg, så kan vi anta at "stadion" har endret seg. Dvs det er endring i navn på seksjoner, antall plasser, eller ett eller annet. Som betyr at vi nok trenger nye innslag i databasen vår for å lenke nye "tellinger" til stadion- og seksjons-data med riktig layout.

2015-06-29 22:49 GMT+02:00 Vemundox . vemundos@gmail.com:

eventname: Ja, har ikke sett om det er noe annet i html-koden som vi kan bruke for å finne turnering, så mulig det blir noe halvmanuell hacking. Skal se litt på det.

opponent: ja den knakk med bindestrek i opponent navn :) Skal fikse.

geometryurl: Det første jeg tenker vi kan bruke dette til er å få mer lesbare versjoner av navnene på seksjoner osv på stadion, om vi ønsker det. I java koden min parser jeg begge, har tenkt å sjekke om de er helt konsistente eller ikke.

Lenke til bestillingssiden er lett å lage fra eventid. I java-koden gjør jeg bare "http://www.billettservice.no/event/" + eventid . Så det tenker jeg vi kan gjøre fra websider også.

Vemund

2015-06-29 7:06 GMT+02:00 Rune Jacobsen notifications@github.com:

Jeg har så smått begynt å se på lesing av eventinfo.properties-fila for å da generere tilsvarende events-record i databasen.

Har tatt utgangspunkt i fila som er generert for hjemmekampen mot Vikingur og har noen spørsmål/kommentarer:

eventname=Rosenborg - Vikingur E-cup 1.runde eventid=467263 opponent=Vikingur E eventdate=09.07.2015 eventtime=19:00 availabilityurl=http://www.billettservice.no/seatmap/proxy/availability/NO/TLDEC01-2015,NO-467263.xml geometryurl=http://www.billettservice.no/seatmap/proxy/geometry/syst-25/geometry/TLD12_V07_geometry.xml

eventname: BillettService sitt navn på kampen. Dette er vel i utgangspunktet det vi kan forvente av drahjelp i forhold til å fastslå hvilken turnering kampen foregår i. Drømmen min om å parse dette ut helautomatisk ryker kanskje - ingenting annet enn navn på fi = Tippeligaen, ved cup står det vel "NM", mens ved E-cup er det ikke godt å si hva som står. Skilles det på EL og CL? Hva om vi kjører kvalik for CL til neste år og detter ut i playoff og så spiller EL? Jeg tipper vi må gjøre minst litt manuelt her for å parse riktig.

eventid: Enkelt og greit.

opponent: Stoppet parsingen ved bindestreken så det ble "Vikingur E"? Ikke at dette er noen big deal, men vi bør kanskje vite at dette blir konsistent.

eventdate / eventtime: Blir vel ikke enklere enn dette.

availabilityurl: Flott, er så drit lei av Ctrl+U og finne denne manuelt hver gang jeg lurer på status. ;)

geometryurl: Vi bruker den vel foreløpig ikke til noe, men enig i at denne potensielt er nyttig for fremtiden.

Burde vi hatt en link til selve billett-bestillings-siden også? Jeg tenker da på om brukere av STAut finner ut at de ønsker å kjøpe billett, så er det jo kjekt å ha en link. Then again, vi klarer kanskje å generere det vha. eventid? Har ikke sett på det men tipper at vi kan mekke en ganske simpel URL som sender oss til rett sted.

— Reply to this email directly or view it on GitHub https://github.com/RosenborgSupporterSoftware/staut/issues/6.

vemundo commented 9 years ago

Ser at availabilityurl inneholder interessant info når det gjelder "competition".

For NM finner vi: TLDNM04-2015 (Trondheim LerkenDal NM runde 04 2015) For E-cup finner vi: TLDEC01-2015 (Trondheim LerkenDal EC runde 01 2015) For serie mot Odd: TLD0815-2015 (Trondheim LerkenDal kamp 08 i "sesong 15" 2015)

Tror dette kanskje er det beste vi har for å grave ut hvilken konkurranse kampen tilhører.

2015-06-29 22:51 GMT+02:00 Vemundox . vemundos@gmail.com:

Ah, en annen tanke jeg hadde med geometryxml var at om den endrer seg, så kan vi anta at "stadion" har endret seg. Dvs det er endring i navn på seksjoner, antall plasser, eller ett eller annet. Som betyr at vi nok trenger nye innslag i databasen vår for å lenke nye "tellinger" til stadion- og seksjons-data med riktig layout.

2015-06-29 22:49 GMT+02:00 Vemundox . vemundos@gmail.com:

eventname: Ja, har ikke sett om det er noe annet i html-koden som vi kan bruke for å finne turnering, så mulig det blir noe halvmanuell hacking. Skal se litt på det.

opponent: ja den knakk med bindestrek i opponent navn :) Skal fikse.

geometryurl: Det første jeg tenker vi kan bruke dette til er å få mer lesbare versjoner av navnene på seksjoner osv på stadion, om vi ønsker det. I java koden min parser jeg begge, har tenkt å sjekke om de er helt konsistente eller ikke.

Lenke til bestillingssiden er lett å lage fra eventid. I java-koden gjør jeg bare "http://www.billettservice.no/event/" + eventid . Så det tenker jeg vi kan gjøre fra websider også.

Vemund

2015-06-29 7:06 GMT+02:00 Rune Jacobsen notifications@github.com:

Jeg har så smått begynt å se på lesing av eventinfo.properties-fila for å da generere tilsvarende events-record i databasen.

Har tatt utgangspunkt i fila som er generert for hjemmekampen mot Vikingur og har noen spørsmål/kommentarer:

eventname=Rosenborg - Vikingur E-cup 1.runde eventid=467263 opponent=Vikingur E eventdate=09.07.2015 eventtime=19:00 availabilityurl=http://www.billettservice.no/seatmap/proxy/availability/NO/TLDEC01-2015,NO-467263.xml geometryurl=http://www.billettservice.no/seatmap/proxy/geometry/syst-25/geometry/TLD12_V07_geometry.xml

eventname: BillettService sitt navn på kampen. Dette er vel i utgangspunktet det vi kan forvente av drahjelp i forhold til å fastslå hvilken turnering kampen foregår i. Drømmen min om å parse dette ut helautomatisk ryker kanskje - ingenting annet enn navn på fi = Tippeligaen, ved cup står det vel "NM", mens ved E-cup er det ikke godt å si hva som står. Skilles det på EL og CL? Hva om vi kjører kvalik for CL til neste år og detter ut i playoff og så spiller EL? Jeg tipper vi må gjøre minst litt manuelt her for å parse riktig.

eventid: Enkelt og greit.

opponent: Stoppet parsingen ved bindestreken så det ble "Vikingur E"? Ikke at dette er noen big deal, men vi bør kanskje vite at dette blir konsistent.

eventdate / eventtime: Blir vel ikke enklere enn dette.

availabilityurl: Flott, er så drit lei av Ctrl+U og finne denne manuelt hver gang jeg lurer på status. ;)

geometryurl: Vi bruker den vel foreløpig ikke til noe, men enig i at denne potensielt er nyttig for fremtiden.

Burde vi hatt en link til selve billett-bestillings-siden også? Jeg tenker da på om brukere av STAut finner ut at de ønsker å kjøpe billett, så er det jo kjekt å ha en link. Then again, vi klarer kanskje å generere det vha. eventid? Har ikke sett på det men tipper at vi kan mekke en ganske simpel URL som sender oss til rett sted.

— Reply to this email directly or view it on GitHub https://github.com/RosenborgSupporterSoftware/staut/issues/6.

vemundo commented 9 years ago

Pushet en patch nå med følgende endringer: Henter ut "competition" og legger i eventinfo: NM, EC eller LEAGUE (kan byttes ut med noe annet) Henter ut "round" for alle competitions, for serien er det bare hvilken hjemmekamp i rekken 1-15. Fikset bug med kamper som har tekst etter "opponent" navn. Henter også ut "location", som er TLD for Lerkendal, i tilfelle vi begynner å hente filer for andre stadion innimellom (Ullevål ved bortekamp f.eks.)

havremunken commented 9 years ago

Kult, hadde ikke sett på "innholdet" i availabilityURL men dette er gull. :grin:

havremunken commented 9 years ago

Fra en aktuell eventinfo.properties:

eventname=Rosenborg - Sarpsborg 08
opponent=Sarpsborg

Er bra flisespikking dette her, men vil det være verdt innsatsen å få med 08 i opponent-navnet?

vemundo commented 9 years ago

Problemet her er at informasjonen ikke er formatert på noen måte som sikrer korrekt parsing. I Vikingur kampen må vi kutte alt etter første "whitespace", ellers får vi "Vikingur E", mens mot Sarpsborg må vi la være å kutte etter whitespace for ikke å få "Sarpsborg" istedet for "Sarpsborg 08".

Hvis vi ikke finner et sted der motstander er listet uten annen info etter hvor de bare bruker whitespace for å separere så ser jeg ikke at det finnes noen trygg måte å gjøre dette på. Tror beste alternativ da er å kutte alt etter første whitespace, det blir mindre feil med "Sarpsborg" enn "Vikingur E" eller andre varianter der det etter whitespace ikke er en del av klubbnavnet.

Vi kan evt sjekke om det som kommer etter klubbnavnet er et tall og i så fall ta det med, men det knekker sikkert på noe annet seinere en gang.

Skal titte litt mer på html for å se om det er andre alternativ, men jeg så over tidligere for vikingur uten å finne noe bedre.

vemundo commented 9 years ago

Hm, tror jeg fant en bedre fiks. Hvis vi antar at for alle seriekamper så vil kun navn på motstander stå etter - i eventName, så håndterer jeg seriekamper spesielt. Da får vi "Sarpsborg 08" i serien iallefall.

Antar whitespace i filnavn er ok på Windows? Eller bør jeg bytte ut whitespace i filnavnet med noe annet?

Så får jeg legge inn tilsvarende håndtering av EC og NM kamper i tifelle vi møter lag med whitespace i navnet der også.

havremunken commented 9 years ago

Whitespace går fint i Windows. Ihvertfall vanlig space, ikke prøvd med så mye annet. :)

Utover sesongen nå får vi vel en føling med hvor mye variasjon det er i "taggene" de legger på kamper. Hvis de er 100% standardisert kan vi jo ev. se etter (og ta bort) NM og E-cup, men dette finner vi ut av.

En annen mulighet er selvfølgelig at vi har en oversikt over motstanderlagenes navn, og legger inn nye etterhvert som de rykker opp eller vi møter nye lag i cup/ecup.

Jeg vet ikke hva som er smart, vi må nok til en viss grad ta tiden til hjelp på denne.

vemundo commented 9 years ago

Satser på at det er ganske standardisert og at det bare er 3-4 varianter.

havremunken commented 9 years ago

Jeg er ganske happy med hvordan dette funker så langt, så lukker denne.

vemundo commented 9 years ago

Ser ut som formatet på eventcode for NM er ganske dust. Fra Mjøndalen i kvarten:

TLD1308N-2015

1308 er datoen... ingenting om hvilken runde, slik de har for EC. Jaja, kan iallefall finne fra N som tegn 8 at det er NM og ikke serie.

vemundo commented 9 years ago

Har hacket en løsning for NM nå som iallefall funker for kampen mot Mjøndalen. Så får vi se om det funker ved senere anledninger også.