Malldiskussion:Resultattabell för Svenska Hockeyligan 2023/2024

message: Återigen överlänkas det och återigen har förkortningarna "SD" och "str" försvunnit, man ska inte behöva gå till en extern sida för att se om en match slutat under ordinarie tid, efter SD eller straffläggning. \\\D.S.Skåningen (diskussion) 27 november 2023 kl. 07.17 (CET)
replies: text: Det här blev ju dessutom fel och gör tabellen fel eftersom bara spalten för bortalag ändrades. Hur kan Leksand komma efter Li och Lu? Sorteras efter hemmalags spalt. \\\D.S.Skåningen (diskussion) 27 november 2023 kl. 07.26 (CET)
replies: text: :LHC, LHF, LIF är i bokstavsordning på förkortningarna. SD och str kommer jag inte göra i boten eftersom jag tycker det är för mycket jobb. Det är betydligt enklare (och även bättre) med länk till matchrapporten. Länkar till matchrapporterna har vi i mallen Mall:Resultat-ishockey också så det är inte unikt. Matchrapporterna är förutom en bra service till läsarna också en källhänvisning./ Machatjkala (diskussion) 27 november 2023 kl. 13.53 (CET)
replies: text: ::Det bör sorteras efter det långa namnet, d.v.s. hemmalaget, det är inte logiskt att sortera på bortalagets förkortningar. Det är inte bättre att skippa "SD", "str" och ersätta det med länkar, man ska fortfarande inte behöva gå till en extern sida för att se om en uddamålsmatch slutade efter ordinarie tid, SD eller straffläggning, det ska inte uteslutas för att du vill det. Det förändrar inte heller det faktumet att det är skillnad på mall:resultattabell och mall:resultat-ishockey, den sistnämnda blir inte svårläst när man länkar rapporten utanför resultatet, medan den förstnämnda länkar rapporten i resultatet, 7 matcher per omgång ger  länkar under grundserien på en liten yta (t.ex). Men det här är fortfarande ett problem som du måste åtgärda i scriptet, för nu listas den tomma spalten "—", för Leksand till Linköping, Linköping till Luleå och Luleå till Leksand och inte till rätt lag (d.v.s. sig själva eftersom man givetvis inte möter sig själv) och det medför att resultat listas mellan fel lag, dessutom har du (med boten) tagit bort tankstrecken (–) och ersätt det med bindestreck (-). \\\D.S.Skåningen (diskussion) 27 november 2023 kl. 14.43 (CET)
replies: text: :::Det blir ett fel i kolumnerna som jag ska titta på. Sorteringen behöver vara samma i höjd och sidled. Men att läsa in varje matchrapport för att ta reda som om den slutade på övertid det gör jag inte. Då får vi fortsätta med manuella uppdateringar. "Inte behöva gå till en extern sida", som om det var något plågsamt. Ser inget substantiellt i den kritiken och har aldrig gjort. Vi har ju haft den här diskussion några gånger nu och hittills är det bara du. När det gäller de olika malltyperna så är det en skillnad på hur stor plats de tar, men inte på att de båda har externa länkar. Machatjkala (diskussion) 27 november 2023 kl. 15.06 (CET)
Ursäkta om jag lägger mig i diskussionen, men jag undrar om det inte skulle gå att komma överens om det här med presentationen av "uddamålssegrarna" i tabellform.
Är det så enkelt att det är antalet periodsiffror som avgör vad det är för typ av uddamålsseger enligt följande:
* Om det finns 3 periodsiffror, som här, är det en "match som är avgjord efter 3 perioder"
* Om det finns 4 periodsiffror, som här, är det en "match som avgjorts genom sudden death"
* Om det finns 5 periodsiffror, som här, är det en "match som avgjorts genom straffläggning"
I så fall går det att låta skriptet läsa resultatsidan, eventnumret är väl redan känt, och använda antalet periodsiffror till att i tabellen presentera vilket typ av avgörande det är.
Jag skrev några få kodrader som visar hur det kan göras och se ut för ovan länkade tre exempel i Svenska Hockeyligan 2023/2024, se nedan
Om skriptet väl har tillgång till typen av uddamålsseger är nästa fråga förstås hur det ska presenteras i tabellen. Att skriva (SD) eller (str) som ett "suffix" till matchresultatet gör ju att det tar extra plats för dessa matcher. Det kanske finns andra sätt som inte påverkar bredden och i exemplet nedan drog jag till med några mer kompakta skrivsätt genom att ersätta – i matchresultatet med ! eller § för sudden death respektive straffläggning. 
Man kan naturligtvis använda andra tecken eller fetstil, kursivstil, textfärger och bakgrundsfärger för att få ett presentationssätt som kan passa de flesta utan att göra tabellen bredare. Det viktiga är förstås att alltid ha en "teckenförklaring" som jag har sett att det finns för (SD) och (str) där det skrivsättet används.
Exempel för tre olika slag av uddamålsseger
Event: 774527 (FRÖ - MoDo       (3-2)      )
Tidpunkt: 2023-11-02 19:00
Periodsiffror: 2-0, 1-1, 0-1
Resultatet skrivs som: 3–2
Event: 774574 (FRÖ - VÄX       (2-3)      )
Tidpunkt: 2023-11-23 19:00
Periodsiffror: 0-0, 2-1, 0-1, 0-1
Resultatet skrivs som: 2–3 (SD)
Mer kompakt skrivsätt: 2!3
Event: 774599 (FRÖ - LHC       (3-2)      )
Tidpunkt: 2023-09-26 19:00
Periodsiffror: 0-0, 2-1, 0-1, 0-0, 1-0
Resultatet skrivs som: 3–2 (str)
Mer kompakt skrivsätt: 3§2
Skriptkod för exemplet
import urllib.request
import re
def visa_exempel(event):
	link = 'https://stats.swehockey.se/Game/Events/'+str(event)
	req = urllib.request.Request(link, headers={'User-Agent': 'Mozilla/5.0'})
	f = urllib.request.urlopen(req)
	data = str(f.read().decode('utf-8'))
	regex = re.compile('<title>(.*?)</title>',re.DOTALL | re.MULTILINE)
	title = re.findall(regex,data)[0].replace('\r',).replace('\n',).replace('       ',' ')
	when = re.findall('(.*?)',data)[0]
	regex = re.compile('tdInfoArea.*?\>(\d+)[^d]+(\d+).*?\((.*?)\)',re.DOTALL | re.MULTILINE)
	info = re.findall(regex,data)
	hemmamål = info[0][0]
	bortamål = info[0][1]
	periodsiffror = info[0][2]
	antalperiodsiffror = len(periodsiffror.split(','))
    print('Event: '+str(event)+' ('+title+')')
	print('Tidpunkt: '+when)
	print('Periodsiffror: '+str(periodsiffror)) 
	if antalperiodsiffror==3:
		suffix = ''
		infix = '–'
	if antalperiodsiffror==4:
		suffix = ' (SD)'
		infix = '!'
	if antalperiodsiffror==5:
		suffix = ' (str)'
		infix = '§'
	print('Resultatet skrivs som: '+str(hemmamål)+'–'+str(bortamål)+suffix)
	if antalperiodsiffror>3:
		print('Mer kompakt skrivsätt: '+str(hemmamål)+infix+str(bortamål))
	print()
visa_exempel(774527)
visa_exempel(774574)
visa_exempel(774599)
--Larske (diskussion) 27 november 2023 kl. 19.52 (CET)

text: Ja det är möjligt att genomföra. I princip skulle man kunna räkna antalet kommatecken i den raden så länge det är matcher i seriespel. Vad sedan mallen resultattabell tål att man lägger i den vet jag inte. Tvivlar på att den klarar bakgrundsfärg som jag tror att jag testat vid något tillfälle. Det är ändå inte gjort i en handvändning och jag har vid det här laget ganska mycket annat att göra före och väldigt lite tid att göra det på. Mer jobba än jag tycker det är värt i alla fall. Dessutom tvivlar jag starkt på att DSSkåningen är nöjd med det./ Machatjkala (diskussion) 27 november 2023 kl. 20.38 (CET)
thread_title:  Överlänkning igen...