Skip to content

Instantly share code, notes, and snippets.

@salgo60
Created October 26, 2023 10:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save salgo60/8aa8af8e8a0de73c53a961e4889402d5 to your computer and use it in GitHub Desktop.
Save salgo60/8aa8af8e8a0de73c53a961e4889402d5 to your computer and use it in GitHub Desktop.
Körde igenom dom url;:ar jag hade till kommunernas anslagstavlor skapade 2022 —> 17 procent fel
# Kommunernas Anslagstavlor
#
import urllib3
import sys
from datetime import datetime
import pandas as pd
http = urllib3.PoolManager()
csv_url = "https://gist.githubusercontent.com/salgo60/3794c5f9eb5e81bb0f1cc9dd164ac1d7/raw/ea579f247971b5e73df9e7af416532a2daed8522/anslagstavla.csv"
def get_results(csv_url):
print(csv_url)
df = pd.read_csv(csv_url)
#df = pd.read_csv(url)
# print(df.head(10))
return df
''' Check if URLS is ok'''
def check(url,wikibase, Label):
try:
r = http.request('GET', url)
except Exception as e:
print("\t\tError\t",Label,wikibase,url)
print("\t\t\t",str(e))
return False
if r.status != 200:
print("Status: ",r.status, " \t", url, "\tWikibase: ", wikibase," - ", wdLabel)
return False
return True
start_time = datetime.now()
print("Last run: ", start_time)
results = get_results(csv_url)
print ("Number records: " + str(len(results)))
ok = 0
notok = 0
results = results.reset_index()
for index, row in results.iterrows():
#print(row)
try:
currentURL = row["oldurl"]
wd = row["r"]
wikibase = wd.replace("https://sweopendata.wikibase.cloud/entity/","")
wdLabel = row["rLabel"]
if check(currentURL,wikibase, wdLabel):
ok += 1
else:
notok += 1
except Exception as error:
print("An error occurred: ", wd, " - ", type(error).__name__) # An error occurred: NameError
procent = notok / (ok + notok) * 100
print("OK: ",ok,"\t not ok",notok,"\t procent problem", procent)
end = datetime.now()
print("Ended: ", end)
print('Time elapsed (hh:mm:ss.ms) {}'.format(datetime.now() - start_time))
print("Last run: ", start_time)
@salgo60
Copy link
Author

salgo60 commented Oct 26, 2023

/usr/local/bin/python3.8 "/Users/magnus/Library/Application Support/JetBrains/PyCharmCE2020.3/scratches/scratch_135.py"
Last run: 2023-10-26 12:20:14.613087
https://gist.githubusercontent.com/salgo60/3794c5f9eb5e81bb0f1cc9dd164ac1d7/raw/ea579f247971b5e73df9e7af416532a2daed8522/anslagstavla.csv
Number records: 293
Error Kavlinge kommuns Digitala Anslagstavla Q243 https://www.kavlinge.se/kommun-och-politik/digital-anslagstavla
HTTPSConnectionPool(host='www.kavlinge.se', port=443): Max retries exceeded with url: /kommun-och-politik/digital-anslagstavla (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')))
Error Högsbys kommuns Anslagstavla Q248 https://www.hogsby.se/Kommun-och-politik/Anslagstavla-officiell
HTTPSConnectionPool(host='www.hogsby.se', port=443): Max retries exceeded with url: /Kommun-och-politik/Anslagstavla-officiell (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')))
Error Robertsfors kommun anslagstavla Q257 https://www.robertsfors.se/kommun-politik/anslagstavla/
HTTPSConnectionPool(host='www.robertsfors.se', port=443): Max retries exceeded with url: /kommun-politik/anslagstavla/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')))
Status: 403 https://www.savsjo.se/kommun-och-politik/anslagstavla.html Wikibase: Q263 - Sävsjös kommuns anslagstavla
Status: 404 https://www.vimmerby.se/kommunochpolitik/anslagstavla.4.6081a39c160e9b387314a0b.html Wikibase: Q270 - Vimmerby kommuns officiella anslagstavla
Status: 404 https://www.orsa.se/arkiv/anslagstavla.html Wikibase: Q276 - Orsa kommuns officiella anslagstavla
Error Lidingö stads anslagstavla Q324 https://www.lidingo.se/toppmeny/ovrigasidor/stadensanslagstavla.4.7a7e170815fc29ac5e455a5.html
HTTPSConnectionPool(host='www.lidingo.se', port=443): Max retries exceeded with url: /toppmeny/ovrigasidor/stadensanslagstavla.4.7a7e170815fc29ac5e455a5.html (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')))
Status: 404 https://www.skara.se/kommun--politik/handlingar-och-arenden/anslagstavla.html Wikibase: Q337 - Skara kommuns officiella anslagstavla
Status: 404 https://www.storuman.se/Kommun--politik/anslagstavla/ Wikibase: Q339 - Storumans kommuns anslagstavla
Error Eksjö kommun anslagstavla Q346 https://www.eksjo.se/kommun-och-politik/politik-och-paverkan/anslagstavla
HTTPSConnectionPool(host='www.eksjo.se', port=443): Max retries exceeded with url: /kommun-och-politik/politik-och-paverkan/anslagstavla (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')))
Status: 404 https://www.vanersborg.se/kommun--politik/vanersborgs-kommuns-anslagstavla.html Wikibase: Q349 - Vänersborgs kommun anslagstavla
Status: 404 https://www.vargarda.se/medborgare/kommun-och-politik/kommunal-anslagstavla.html Wikibase: Q356 - Vårgårda kommuns anslagstavla
Status: 404 https://www.habo.se/kommun-och-politik/beslut-insyn-och-rattssakerhet/anslagstavla.html Wikibase: Q358 - Habo kommuns anslagstavla
Status: 404 https://www.gnosjo.se/kommun--politik/beslut-insyn-och-rattssakerhet/anslagstavla.html Wikibase: Q369 - Gnosjö kommuns anslagstavla
Status: 404 https://vara.se/kommun-och-politik/politik/anslagstavla Wikibase: Q371 - Vara kommuns anslagstavla
Error Marks kommuns anslagstavla Q376 https://www.mark.se/politik-och-organisation/anslagstavla/
HTTPSConnectionPool(host='www.mark.se', port=443): Max retries exceeded with url: /politik-och-organisation/anslagstavla/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1108)')))
Status: 404 https://www.harryda.se/kommunochpolitik/kommunensanslagstavla.4.7baec26a15e185ecd71e3df1.html Wikibase: Q377 - Härryda kommuns officiella anslagstavla
Status: 404 https://www.hylte.se/kommunpolitik/anslagstavla.4.9ddbb9815fbdeda5d75805.html Wikibase: Q386 - Hylte kommuns anslagstavla
Status: 404 https://karlstad.se/Kommun-och-politik/anslagstavla Wikibase: Q388 - Karlstads kommuns anslagstavla
Status: 404 http://www.gellivare.se/Kommun/Politik/Gallivare-kommuns-anslagstavla-2/ Wikibase: Q392 - Gällivare kommuns anslagstavla
Status: 404 https://www.laholm.se/politik-paverkan/kallelser-och-protokoll/anslagstavla/ Wikibase: Q397 - Laholms kommuns anslagstavla
Status: 412 https://www.arboga.se/kommun--politik/beslut-insyn-och-rattssakerhet/anslagstavla.html Wikibase: Q398 - Arboga kommuns officiella anslagstavla
Status: 404 http://www.overtornea.se/sv/Kommun--Politik/Politik/kommunal-anslagstavla/ Wikibase: Q408 - Övertorneå kommuns digitala anslagstavla
Status: 404 https://www.overkalix.se/kommun/politik-organisation/anslagstavla/ Wikibase: Q409 - Överkalix kommuns anslagstavla
Status: 404 https://www.landskrona.se/en/kommun-politik/kommun/digital-anslagstavla/ Wikibase: Q434 - Landskrona stads digitala anslagstavla
Status: 404 https://astorp.se/arkiv/digital-anslagstavla.html Wikibase: Q446 - Åstorps kommuns digitala anslagstavla
Status: 404 https://www.klippan.se/kommunpolitik/motenhandlingarprotokoll/anslagstavla.4.5edcd8a41793c2c4e274e2b.html Wikibase: Q448 - Klippans kommuns anslagstavla
Status: 404 https://www.hassleholm.se/ovriga-sidor/ovriga-sidor/anslagstavla.html Wikibase: Q450 - Hässleholms kommuns officiella anslagstavla
Status: 404 https://www.ronneby.se/kommun--politik/politik-och-demokrati/beslut-insyn-och-rattssakerhet/anslagstavla.html Wikibase: Q455 - Ronneby kommuns anslagstavla
Error Mönsterås kommuns anslagstavla Q460 https://www.monsteras.se/kommun-och-politik/overklaga-beslut-rattssakerhet/anslagstavla/
HTTPSConnectionPool(host='www.monsteras.se', port=443): Max retries exceeded with url: /kommun-och-politik/overklaga-beslut-rattssakerhet/anslagstavla/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')))
Status: 404 https://www.vastervik.se/Kommun-och-politik/Beslut-insyn-och-rattssakerhet/anslagstavla/ Wikibase: Q464 - Västerviks kommuns officiella anslagstavla
Status: 404 https://www.upplands-bro.se/kommun--politik/politik-och-beslut/anslagstavla.html Wikibase: Q480 - Upplands Bro kommuns anslagstavla
Status: 404 https://www.heby.se/organisation-plats-och-politik/moten-handlingar-och-protokoll/digital-anslagstavla Wikibase: Q486 - Heby kommuns officiella anslagstavla
Status: 500 https://www.kalix.se/anslagstavla/ Wikibase: Q489 - Kalix kommuns anslagstavla
Error Åre kommuns officiella, digitala anslagstavla Q500 https://are.se/kommunpolitik/digitalanslagstavla
HTTPSConnectionPool(host='are.se', port=443): Max retries exceeded with url: /kommunpolitik/digitalanslagstavla (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')))
Status: 404 https://www.berg.se/48/kommun-och-politik/anslagstavla-officiell Wikibase: Q501 - Bergs kommuns officiella anslagstavla
Status: 404 https://www.ange.se/kommun-och-politik/anslagstavla-officiell.html Wikibase: Q502 - Ånge kommuns officiella anslagstavla
Status: 404 https://www.ragunda.se/kommun-och-politik/diarium-handlingar-och-protokoll/digital-anslagstavla.html Wikibase: Q505 - Ragunda kommuns officiella digitala anslagstavla
Status: 404 https://www.ljusdal.se/kommunpolitik/anslagstavla.4.2d4b5de215f52277598c125.html Wikibase: Q508 - Ljusdals kommuns digitala anslagstavla
Status: 412 https://www.halmstad.se/kommunochpolitik/overklagabeslutrattssakerhet/anslagstavla.n330.html?mark=Anslagstavla Wikibase: Q510 - Halmstads kommuns anslagstavla
Status: 404 https://www.soderhamn.se/sidor/kommun-och-politik/beslut-insyn-rattssakerhet/anslagstavla.html Wikibase: Q511 - Söderhamns kommun anslagstavla
Status: 404 https://www.lindesberg.se/kommun-och-politik/overklaga-beslut-rattssakerhet/anslagstavlor/anslagstavla Wikibase: Q520 - Lindesberg kommuns digitala anslagstavla
Status: 403 https://www.aneby.se/arkiv/digital-anslagstavla.html Wikibase: Q531 - Aneby kommuns anslagstavla
Status: 403 https://kommun.vetlanda.se/kommun-och-politik/politik-och-beslut/anslagstavla.html Wikibase: Q532 - Vetlanda kommuns digitala anslagstavla
Status: 404 https://www.gislaved.se/kommun-och-politik/beslut-insyn-rattssakerhet-och-personuppgifter/anslagstavla-officiell Wikibase: Q540 - Gislaveds kommuns anslagstavla
Error Lidköpings kommuns anslagstavla Q544 https://www.intranat.lidkoping.se/4.710aadbd15fcaa56a5ba540b.html
HTTPSConnectionPool(host='www.intranat.lidkoping.se', port=443): Max retries exceeded with url: /4.710aadbd15fcaa56a5ba540b.html (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f9757183b80>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known'))
Status: 404 https://www.tjorn.se/kommun-och-politik/motestider-protokoll-och-diarium/anslagstavlan Wikibase: Q546 - Tjörns kommuns officiella anslagstavla
Status: 404 https://www.tjorn.se/kommun-och-politik/motestider-protokoll-och-diarium/anslagstavlan Wikibase: Q547 - Alingsås kommuns digitala anslagstavla
Error Nässjö kommuns digitala anslagstavla Q549 https://nassjo.se/kommun-och-politik/kommunens-anslagstavla.html
HTTPSConnectionPool(host='nassjo.se', port=443): Max retries exceeded with url: /kommun-och-politik/kommunens-anslagstavla.html (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')))
Status: 404 https://www.lysekil.se/organisation-plats-och-politik/overklaga-beslut-rattssakerhet/kommunal-anslagstavla.html Wikibase: Q555 - Lysekils kommuns officiella anslagstavla
Error Vingåkers kommuns anslagstavla Q569 https://www.vingaker.se/anslagstavla/
HTTPSConnectionPool(host='www.vingaker.se', port=443): Max retries exceeded with url: /anslagstavla/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')))

OK: 242 not ok 51 procent problem 17.4061433447099
Ended: 2023-10-26 12:22:10.171584
Time elapsed (hh:mm:ss.ms) 0:01:55.558522
Last run: 2023-10-26 12:20:14.613087

Process finished with exit code 0

@salgo60
Copy link
Author

salgo60 commented Oct 26, 2023

@jonassodergren även Anslagstavlorna lyckas man flytta runt och skapa länkröta....

När skall fungerande ekosystem skapas? Min issue #76 det blir inte bättre och ingen verkar ta tag i problemen... så länge man inte pratar 5 star data så lyfter det inte

@jonassodergren
Copy link

Oj, gick det så fort. Webben utgörs ju av länkar, en styrka är å ena sidan att länkar enkelt ska kunna ändras. Men nästan i alla fall du belyser Magnus får jag en stark känsla av att det görs i onödan. Vet du om sidorna fortfarande finns publicerade fast på en annan URL?

@salgo60
Copy link
Author

salgo60 commented Nov 3, 2023

@jonassodergren eller skapa bra mönster som att använd redirect….

Kan Wikipedia knyta ihop alla artiklar på alla språk med Wikidata så borde det vara enkelt att göra samma sak för kommunerna att DIGG skapar ett ekosystem att denna SFS behandlas av kommun x på sida y

enklare mönster är /psidata men lika illa där att ingen följer upp om det görs… tror dom hållt på med detta i 10år nu…

https://sv.wikipedia.org/wiki/Wikipedia:Projekt_svenska_kommuner/PSIdata

jag hade hoppats att Persistenta Identifierar jobbet som DIGG initiera skulle vara tydligt och säga att detta behövs om din info skall refereras nu verkar man fegat och säger att det är nya system?!?? dvs. Allt gammalt gegg som Riksdagens Öppna data vågar man inte peka på att det är dåligt

diggsweden/persistent-identifiers-investigation@dc5a61b

det saknas digitala ledare och informations designers verkar som alla dragit till Open AI 😢 vad all denna gegga kostar kan man fundera på det icke levererade Rättsinformations systemet uppskattade man i förstudien 1998 100 tals miljoner…

https://github.com/salgo60/LagrummetLight

@jonassodergren
Copy link

Ska faktiskt delta på ett möte med identifierare nästa vecka, vilken insikt från dig vill du att jag tar med mig? En bra rekommendation skall ju kunna användas av alla tänker jag, både nya och befintliga system. Utmaningen är nog mer att själva lösningen kommer behöva vara enkel att implementera och följa tror jag.

@salgo60
Copy link
Author

salgo60 commented Nov 4, 2023

@jonassodergren Jag kan försöka formulera mig men tycker det jag ser är helt visionslöst.... bara tanken att använda http koder är ett fel beslut då inser man inte alla problem som kan ske med Persistenta identifierare och kostnaden att underhålla miljontals PID:ar mellan flera 100 myndigheter och 290 kommuner med Riksdagen, EU.... min kommentar "Maintenance Hell" sedan om aktörerna inte har publika öppna backloggar kan det bara sluta på ett sätt....

Läs FAIRDATA F1

Principle F1 is arguably the most important because it will be hard to achieve other aspects of FAIR without globally unique and persistent identifiers. Hence, compliance with F1 will already take you a long way towards publishing FAIR data
Globally unique and persistent identifiers remove ambiguity in the meaning of your published data by assigning a unique identifier to every element of metadata and every concept/measurement in your dataset. In this context

Jag ringde och prata med DIGG Ulrika Domellöf Mattsson för 2 månader sedan och sa till henne att det här är det viktigaste jobb dom gör, min bild av henne är att hon är för svag och jag är inte 100 på hennes kompetens... jag var med på ett möte "Textdata och delning av statliga utredningar för maskinell analys" och lyssna där hon presentera en slide på 5-stardata och sedan kom ESV gd och Anna DIGGs gd och skulle vara digitala experter och pratade en halvtimme och funderade på om det skulle vara pdf eller html för maskinell analys dvs. ingen av dom fattar detta med 5 stardata och Ulrika sitter med och protesterar inte..... det blir en blind leder en blind - sa det till henna varför höjer du inte rösten när dom bara snackar skit.... träffade även henne och Maria nyligen och det blir bara svammel...

Både hon och Maria snackar om att ladda upp på dataportalen MEN utan Persistenta Identifierare och koppla samma som blir detta data mest trams.... dålig data blir inte bättre av att det laddas upp på massa platser

  • nedan hur ett projekt svamlar till det och gör en "humanist" tolkning av sammanhållen det som är sammanhållen är länkade data och persistenta identifierare...
    • pratade med SCB representant i projektet nedan och han visste vad SKOS var men inte kunskapsgrafer --> sedan sitter man och skapar egna hitte på tolkningar där man istället borde ta avstamp med FAIRDATA F1 - tror dom har försökt uppfinna hjulet igen under några år....

image

  • lägger man alla legobitarna i samma portal så är dom fortfarande inte ihopkopplade dvs. 5 star data = arranged

image


Exempel på hur politiska forskare Riksdagens Corpus väljer när dom digitaliserar Riksdagstrycket att peka på Wikidata för att Wikidata har persistenta identifierare för alla Riksdagsmän sedan 1885 alla dessa biografier Riksarkivet SBL skrivit under 100 år, det jobb att skapa länkade data hos Kungliga biblioteket sedan innan 2010 duger inte utan man måste peka på en hobby site som Wikidata länk

image

  • jag har drivit stenhårt att detta projekt måste ha sin egen persistenta identifierare och så sent som i förra vecka ringde jag Pelle Snickars och påpeka att dom måste fatta vikten av persistenta identifierare FAIRDATA F1.... nu efter 6 månader verkar det ske se #269

DIGG måste vara tydlig med att vill en kommun/myndighet/forskare som skapar forskningsdata att skall deras data kunna refereras och hittas så SKALL dom publicera data med unika persistenta identifierare

Att skriva med dagens gegga till infrastruktur att det gäller nya system då fattar man inte hur dåligt det är... specen måste vara målgrupp alla som publicerar information som skall kunna refereras och vill undvika otydlighet i deras data allt från att publicera författningar som refererar andra dokument, beslut som refererar andra beslut/utredningar/författningar..., skriva bibliografier om andra personer, beskriva kompetenser som läsaren skall förstå vilken kompetens som syftas på, publicera utredningar om ett ämne som läsaren skall kunna länka till eller för att undvika otydlighet "Things not strings"

image

image

Lyssnar du på den presentation Gunilla med skapat om öppna data i veckan så säger dom nog detta att dom inte har koll länk det är svårt att tolka vad dom säger... för mig känns det som dom inte ens har en riktning framåt utan sitter stilla och tycker saker är svåra 😢 😞 ... DIGG passerar nu 1 miljard Skr i kostnad för skattebetalare.... jag tror på Yesterdays weather 100 miljarder till kommer inte att göra skillnad.... kollar du på Riksdagens Corpus så skapar dom på något år bättre data än Riksdagens Öppna data dom har en tydlig kompetent backlog

image

Nationella riktlinjer för öppen vetenskap

sid 10

Att tillgängliggörandet av data och metadata sker i enlighet med FAIR-principerna
och med stöd i befintlig vägledande information från Vetenskapsrådet och Digg

DiGG är med i detta sägs det och skall detta funka så skall all denna data/metadata ha PID:ar dvs. vara FAIRDATA och följa FAIRDATA F1...

Hur dysfunktionellt Kungliga Biblioteket är efter att ha jobbat 12 år med "länkade data" och "persistenta identifierare"

2012 i Washington pratade Malmsten om framtiden och länkade data

image

@salgo60
Copy link
Author

salgo60 commented Nov 5, 2023

Exempel hur kommunkoder inte rör sig framåt samma sak diskuteras 2021 som 2023 länk - konsulter tas in och inget levereras 😢 lite intressant att kolla att dessa gubbar verkar fakturera 1-3 miljoner per år för denna icke leverans...

  • annat anti pattern med konsulter är att dom bara tystnar - ghosting deras prioritet är inte persistenta identifierare eller öppen data utan cash på det egna kontot...
    • kombineras massa svaga konsulter med ej kompetenta styrgrupper så får vi dagens röra

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment