View previous topic :: View next topic |
Author |
Message |
2mas Sjef
Joined: 06 Sep 2002 Posts: 59321 Location: Trondhjem
|
Posted: 01.05.2015 21:07 Post subject: |
|
|
Litt av ei hvis-setning, sier nå jeg. |
|
Back to top |
|
|
OrionPax Forumsjef
Joined: 12 Aug 2011 Posts: 9663 Location: Drammen
|
Posted: 01.05.2015 21:23 Post subject: |
|
|
Helt klart. Den er et eksempel på hvordan programmering til en viss grad handler om å gjøre om enkle tanker som vi mennesker lett forstår til detaljerte instrukser for en CPU som ikke har vår evne til å skjønne ting i sammenheng.
Den kan oversettes til noe sånt på menneskespråk:
Hvis
- sectionXMLData ikke har noen verdi
- ELLER den ikke har noen elementer
- ELLER den ikke har en property ved navn Event_details
- ELLER innstillingen updateOnlyListedSections er false OG Event_details-elementet ikke har en property kalt Grand_total_summary
Så skal vi logge en feil som ser sånn ut:
"An Error has occurred fetching avail info. Incomplete or empty avail data."
Nok et eksempel på at denne koden kunne ha vært gjort noe mer lesbar om det skulle ha vært målet. _________________ Rosenborg for alltid - uansett! | Troillprat.no |
|
Back to top |
|
|
vemundo Veteran
Joined: 31 Jan 2006 Posts: 1381
|
Posted: 02.05.2015 01:17 Post subject: |
|
|
Skrev en liten kodebit i kveld som leser inn den andre xmlfila (med oversikt over hvilke seter som finnes på stadion osv) og parser den fornuftig. Trenger uansett dette etterhvert regner jeg med for å kombinere med data for tilgjengelighet. Dette er sikkert kjent informasjon, men når jeg dumper ut en summering av alle seter som applikasjonen kan legge ut for salg og legger sammen er dette tallene jeg får:
Code: |
REM:WB: 399
REM:VB: 211
REM:UB: 397
REM:TB: 287
REM:U+V: 223
REM:W: 75
REM:XA(FAM.TRIB): 354
REM:WA: 594
REM:VA: 472
REM:UA: 591
REM:TA: 357
ADR:ØVRE(KJERNEN): 1500
ADR:(ØVRE KJERNEN): 1000
ADR:LB: 338
ADR:KB: 309
ADR:JB: 196
ADR:IB: 289
ADR:HB: 320
ADR:VIP I+J: 223
ADR:VIP2 K: 75
HENT:VIP N+O: 250
HENT:VIP3 Q: 82
HENT:SA: 415
HENT:SB(BORTESUPP): 320
HENT:RA: 393
HENT:RB: 535
HENT:QA: 884
HENT:PA: 976
HENT:OA: 892
HENT:NA: 393
HENT:MA: 414
HENT:QB: 420
HENT:PB: 420
HENT:OB: 420
HENT:NB: 556
HENT:MB: 394
HENT:VIP2 P: 201
EM1:VIP A+B+C: 209
EM1:VIP D+E+F: 167
EM1:VIP G: 94
EM1:AB: 270
EM1:BB: 291
EM1:CB: 245
EM1:DB: 200
EM1:EB: 236
EM1:FB: 306
EM1:GB: 269
EM1:GA: 217
EM1:FA: 501
EM1:EA: 571
EM1:DA(VIP): 320
EM1:CA: 570
EM1:BA: 501
EM1:AA: 216
REM:XB: 287
Total: 21645
|
Skal ikke garantere at koden min er helt riktig, men har sett noen tall tidligere i kamptrådene på hvor mange plasser stadion har og tror dette stemmer sånn omtrent. Så også noen nevne 2500 plasser på ØØ, og det ser også riktig ut. Inndelingen i felt er kanskje ikke helt 1:1, iallefall ØØ er splittet opp uten at jeg vet hvorfor. |
|
Back to top |
|
|
OrionPax Forumsjef
Joined: 12 Aug 2011 Posts: 9663 Location: Drammen
|
Posted: 02.05.2015 11:04 Post subject: |
|
|
Veldig bra!
Jeg finpusser på .net-utgaven av ByteArray-klassen til ActionScript og håper den skal være brukbar ganske snart, men må være litt pappa også nå på dagtid. I det øyeblikket jeg ser noe som ligner på xml skal jeg hyle. _________________ Rosenborg for alltid - uansett! | Troillprat.no |
|
Back to top |
|
|
Kjello Forumsjef
Joined: 29 Oct 2006 Posts: 9058 Location: Trondheim
|
Posted: 02.05.2015 11:28 Post subject: |
|
|
Vemundo wrote: | Skal ikke garantere at koden min er helt riktig, men har sett noen tall tidligere i kamptrådene på hvor mange plasser stadion har og tror dette stemmer sånn omtrent. |
Stemmer nok godt det der. Ser de aller fleste fletene har like mange plasser nå som da jeg telte over felt for felt for en 5-6 år siden. Jeg endte opp med 21 657 den gangen. |
|
Back to top |
|
|
vemundo Veteran
Joined: 31 Jan 2006 Posts: 1381
|
Posted: 02.05.2015 23:16 Post subject: |
|
|
OrionPax wrote: | Tok en pause fra min egen kode for å se mer på kilden. Det kan nesten virker fra Request_map_data.as som om de dekomprimerte dataene til slutt skal ta form som XML igjen.
|
Leste igjennom den koden du har sett på fra ran(), og er enig.
ran() metoden ser ut til å ta ba arrayet, plukker noen bytes fra det før resten kopieres over i sd. Som du skriver, så er det den "do-while"-løkka som gnager seg igjennom sd og gjør noe med hver byte som er det som er kronglete å få riktig i et annet språk. I det minste har du unsigned datatyper i C#. Løser du denne biten er vi i praksis i mål tror jeg.
sd blir dekomprimert, og ja, det er zlib komprimering der er snakk om, ala:
http://www.ietf.org/rfc/rfc1950.txt
Så konverteres sd til tekst som lagres i Globals.pa. Dette er betryggende, det betyr at resultatet er tekst til slutt og dermed sannsynligvis noe vi kan ressonere oss frem til betydningen av og ikke trenger spesielle native datatyper fra ActionScript for å tolke.
Jeg tipper tidlige versjoner av appen brukte en enkel xmlfil uten komprimering for å lese inn tilgjengelighetsdata. Så har de senere endret til komprimert data, men fremdeles måttet beholde xmlfil som transport enhet, og være bakoverkompatible med gamle klienter som fremdeles leverer data på gammelt format. Derfor denne base64 enkodingen for å få laget tekst av det komprimerte innholdet, for i det hele tatt å kunne sende det som xml.
Du ser det i Request_map_data.as at dersom xmlfila har et element "ev_comp" (comp for compressed sikkert) så går koden igjennom base64 dekoding osv og ran() metoden, men hvis ikke så går den rett til parseAvailResult(). I tillegg startes det en timer:
Code: |
if (!this.t){
this.t = new Timer(10, 1500);
this.t.addEventListener(TimerEvent.TIMER, this.seat);
};
this.t.reset();
this.t.start();
|
Denne timer eventen kaller da metoden seat() helt til ge.pa finnes eller den gir opp etter 1500 forsøk, og denne kjører så parseAvailResult() på ge.pa (som er Globals.pa) som er String arrayet som fylles av ran() metoden fra Globals, men pakket inn i "xml" tags:
Code: | this.parseAvailResult(new XML((("<xml>" + ge.pa) + "</xml>"))); |
SÃ¥, to ulike veier (komprimert eller ikke) ender opp samme sted, parseAvailResult()
Det skjer ikke så mye der, xml teksten sendes videre for parsing i metoden updateData i klassen Host_data_store.as. Dersom vi etterhvert skulle lure på hva noe av teksten i xml resultatet betyr kan vi finne det derfra, men et kjapt blikk på den metoden antyder at det er omtrent selvforklarende, iallefall om vi sammenligner opp mot et faktisk salkart.
Så, igjen, alt hviler på denne do-while løkka i ran() metoden, OrionPax. |
|
Back to top |
|
|
vemundo Veteran
Joined: 31 Jan 2006 Posts: 1381
|
Posted: 02.05.2015 23:32 Post subject: |
|
|
En siste utvei kan kanskje være å ha en liten kommandolinje app i actionscript som implementerer kun ran() metoden. Det skal visst gå an, ref svar nr to her:
http://stackoverflow.com/...d-line-swf
også bare kalle den fra C# eller lignende for å gjøre akkurat den biten. |
|
Back to top |
|
|
OrionPax Forumsjef
Joined: 12 Aug 2011 Posts: 9663 Location: Drammen
|
Posted: 02.05.2015 23:41 Post subject: |
|
|
Enig med alt du har funnet så langt. ran() er nøkkelen. Jeg har lagt kona og sitter og småhacker på denne nå. Er jo LITT avhengig av å få dette 100% rett, én unsigned byte som blir lest som signed så blir vel alt gibberish og lar seg ikke zlib-deflate eller hva man kaller det.
Jeg har vurdert å "gå til kilden" for å se hvordan dette foregår - ved å kjøre en debugger og se hvordan den leser verdier og endrer byte-arrayene for hvert steg, kan jeg verifisere om det jeg gjør er riktig. Siden jeg er Creative Cloud-medlem hos Adobe har jeg tilgang til Flash-verktøyene deres. Var ikke klar over muligheten til å lage en command line app ala det du linket til, kan være en spennende alternativ rute til mål.
Men prøver meg litt til på ran nå. Hvis det som kommer ut plutselig blir lesbart skal det danses av glede, før jeg poster her. _________________ Rosenborg for alltid - uansett! | Troillprat.no |
|
Back to top |
|
|
OrionPax Forumsjef
Joined: 12 Aug 2011 Posts: 9663 Location: Drammen
|
Posted: 02.05.2015 23:46 Post subject: |
|
|
Forøvrig, i forhold til å simulere ActionScript ByteArray sin uncompress() (siden det i kildekoden ikke er angitt noe parameter, er det jo zlib), så forholder jeg meg til info fra følgende spørsmål, som ser ut til å være på lignende oppdrag.
http://stackoverflow.com/...uncompress
Ser ut som den "trygge" måten er ZlibStream, så jeg havner vel der. _________________ Rosenborg for alltid - uansett! | Troillprat.no |
|
Back to top |
|
|
OrionPax Forumsjef
Joined: 12 Aug 2011 Posts: 9663 Location: Drammen
|
Posted: 03.05.2015 00:07 Post subject: |
|
|
Sitter i en debugging-sesjon og tar museskritt mot mål. Jeg bruker stadig en XML-fil som ble hentet noen timer før Start-kampen. Føler meg rimelig sikker på at får vi det til for en, får vi det til med alle.
Verdiene som blir lest i begynnelsen av ran, i tilfelle de skulle ha noen verdi (de brukes jo aktivt for å påvirke prosessen med å "dekode"):
numberBytes = 9
OM = 1
STEP = 1
VSIZE = 5
sCompress = 139
Innholdet i V etter den blir lest: 165, 217, 237, 33, 240
(165 kommer jo fra det krøkkete opplegget vi diskuterte tidligere, resten fra fila)
VSIZE blir så satt til 6, selv om det er 5 bytes der.
Til slutt får sd skrevet til seg 56257 bytes som står igjen. Og der ligger utfordringen. Klarer jeg å dekode disse riktig? Time will tell.. _________________ Rosenborg for alltid - uansett! | Troillprat.no |
|
Back to top |
|
|
Wannebo Veteran
Joined: 15 May 2010 Posts: 1121 Location: Steinkjer
|
Posted: 03.05.2015 00:17 Post subject: |
|
|
Vit at jeg følger med, med interessante og nysgjerrige øyne, Pax og Vemundo! Håper dere knekker koden. |
|
Back to top |
|
|
OrionPax Forumsjef
Joined: 12 Aug 2011 Posts: 9663 Location: Drammen
|
Posted: 03.05.2015 00:18 Post subject: |
|
|
Ladies and gentlemen... We've got data!
Oppdatering om få minutter! _________________ Rosenborg for alltid - uansett! | Troillprat.no |
|
Back to top |
|
|
OrionPax Forumsjef
Joined: 12 Aug 2011 Posts: 9663 Location: Drammen
|
Posted: 03.05.2015 00:21 Post subject: |
|
|
Vemundo, hvis du kan PMe meg en mailadresse, så kan jeg sende deg en kopi av rådataene. Havner på rundt 1MB med XML. Stygt å lese, egner seg ikke for forumposting (fordi det er så stort), men tipper vi lett finner svarene våre nå. _________________ Rosenborg for alltid - uansett! | Troillprat.no |
|
Back to top |
|
|
OrionPax Forumsjef
Joined: 12 Aug 2011 Posts: 9663 Location: Drammen
|
Posted: 03.05.2015 00:30 Post subject: |
|
|
Spoiler så lenge; Dette er starten på det jeg har dekodet.
De spennende dataene kommer først lenger ned. Husk at dette er et format som brukes til ALT av TicketMaster internasjonalt, ikke noe som bare skal passe RBK.
_________________ Rosenborg for alltid - uansett! | Troillprat.no |
|
Back to top |
|
|
larsarus Legende
Joined: 12 Oct 2010 Posts: 10752 Location: Trolla
|
Posted: 03.05.2015 00:33 Post subject: |
|
|
|
|
Back to top |
|
|
Knowrud Veteran
Joined: 18 Sep 2010 Posts: 7509
|
Posted: 03.05.2015 00:33 Post subject: |
|
|
Kan dere løse Wow!-signalet etterpå? Hvis dere har tid da. |
|
Back to top |
|
|
OrionPax Forumsjef
Joined: 12 Aug 2011 Posts: 9663 Location: Drammen
|
Posted: 03.05.2015 00:35 Post subject: |
|
|
Klarer du å relatere det til RBK på noen måte da? _________________ Rosenborg for alltid - uansett! | Troillprat.no |
|
Back to top |
|
|
Knowrud Veteran
Joined: 18 Sep 2010 Posts: 7509
|
Posted: 03.05.2015 00:39 Post subject: |
|
|
Ah, det er sant. FÃ¥r ta det i Garderoben da. |
|
Back to top |
|
|
OrionPax Forumsjef
Joined: 12 Aug 2011 Posts: 9663 Location: Drammen
|
Posted: 03.05.2015 00:52 Post subject: |
|
|
.Net synes dette var skikkelig ræva xml, siden det var flere rot-elementer. Løste den greit ved å pakke det inn i et ytre xml-element (det gjør de også i originalen som Vemundo avdekket).
Må legge meg nå, da jeg skal stå opp med ungene i morra tidlig. Men hvis noen har lyst til å se på den dekodede rådata-fila får dere den her:
(EDIT: La ut en formatert xml-fil istedenfor den opprinnelige txt-fila)
(EDIT2: Tok bort linken foreløpig. Kan inneholde sensitive data. Vil gjerne sove på det)
Som nevnt - dette er fra en xml-fil hentet for Start-kampen. Det eneste som står igjen nå for å kunne kalle dette en suksess er å bli enig om hvilke felter vi skal summere opp. Og hvis dere stirrer litt på fila så vil dere se at det etterhvert dukker opp i forholdsvis lesbart format (gitt at man ikke får selvmordstanker av å lese xml). _________________ Rosenborg for alltid - uansett! | Troillprat.no
Last edited by OrionPax on 03.05.2015 01:21; edited 1 time in total |
|
Back to top |
|
|
gisp! Legende
Joined: 04 Sep 2008 Posts: 10637
|
Posted: 03.05.2015 01:05 Post subject: |
|
|
Fantastiske nyheter. Vår månelanding.
Nå skal oppkjøringen til Lillestrømkampen bli en dans på roser _________________ "Det er viktig å gå på banen for å være best mulig sjøl. Men det er langt viktigere å gå på banen for å gjøre medspillerne gode." |
|
Back to top |
|
|
Pokie Veteran
Joined: 05 Aug 2011 Posts: 1659 Location: Trondheim
|
Posted: 03.05.2015 02:06 Post subject: |
|
|
Hahahaha dette er jo helt fantastisk!! _________________ "I spent a lot of money on booze, birds and fast cars. The rest I just squandered."
- George Best |
|
Back to top |
|
|
georgios Veteran
Joined: 10 Apr 2006 Posts: 3120 Location: Brønnøysund
|
Posted: 03.05.2015 07:03 Post subject: |
|
|
Dette er så gull det, fantastisk jobba! Ser at jeg, med mitt halve år med visual basis kommer til kort her. |
|
Back to top |
|
|
Diabolic Rutinert
Joined: 31 Jul 2007 Posts: 738
|
Posted: 03.05.2015 09:24 Post subject: |
|
|
OrionPax wrote: | Må legge meg nå, da jeg skal stå opp med ungene i morra tidlig. |
OrionPax' morgen 3. mai 2015:
Kl. 06:24:
– Pappa, stå opp!
– ZzzZZzZZzzZzz! Hmm?
Kl. 06:26:
*sette på Frost på tv-en*
*trakte kaffe*
*sette seg foran laptopen*
Kl. 07:43:
– Pappa, vi vil leke!
– Tyst barn! Far lager setetellerautomat!
Kl. 08:42:
*barnas mor står opp*
– God morgen, kjære.
– Hmm?
– Men... Hvor er barna?
*barna leker i trafikken* |
|
Back to top |
|
|
Knowrud Veteran
Joined: 18 Sep 2010 Posts: 7509
|
Posted: 03.05.2015 10:01 Post subject: |
|
|
Far lager setetellerautomat, hahaha. Like før jeg sølte kaffe, ikke bare på skrivebordet, men oppover veggen |
|
Back to top |
|
|
OrionPax Forumsjef
Joined: 12 Aug 2011 Posts: 9663 Location: Drammen
|
Posted: 03.05.2015 10:07 Post subject: |
|
|
Diabolic: Hahahahahaha!
Kona sto opp når de våknet. Hun liker å gjøre det for å ha det moralske overtaket på meg.
Sender XML til Vemundo nå, så ser vi om vi klarer å lage en enkel telling i løpet av dagen. Tenker litt på en Windows-app som henter ned hvert minutt og lager graf over utviklingen, får se hvor lenge motivasjonen varer nå som koden er knekt. _________________ Rosenborg for alltid - uansett! | Troillprat.no |
|
Back to top |
|
|
|