From 7f026a468cf354a4c9907bc3a8a4ab85c3540010 Mon Sep 17 00:00:00 2001 From: Martin Millnert Date: Mon, 30 Sep 2024 13:38:25 +0200 Subject: [PATCH 1/2] Add company on person --- data/companies.yml | 5 ++++- data/users.yml | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/data/companies.yml b/data/companies.yml index a7ab101..5a0e7a4 100644 --- a/data/companies.yml +++ b/data/companies.yml @@ -887,4 +887,7 @@ as55064: asn: 55064 name: Arista Networks site: https://www.arista.com - +as61282: + name: Brainmill + asn: 61282 + site: https://neanet.se diff --git a/data/users.yml b/data/users.yml index e09b80c..d0369d4 100644 --- a/data/users.yml +++ b/data/users.yml @@ -26,6 +26,7 @@ Andreas-IPO: Anticimex: companies: - as48514 + - as61282 country: se full_name: Martin Millnert rir_handle: From a3ce7836735e345b1d057d3b538cf6935c46005a Mon Sep 17 00:00:00 2001 From: Martin Millnert Date: Mon, 30 Sep 2024 13:50:50 +0200 Subject: [PATCH 2/2] Sort files in expected way with supplied script Add a script to sort the companies.yml and users.yml files in their expected order: * companies.yml: first non-asns, in standard lexicographical order, then asns in as numerical order. * users.yml: standard lexicographical order --- data/companies.yml | 641 ++++++++++++++++++++++----------------------- data/users.yml | 162 ++++++------ scripts/sort.py | 68 +++++ 3 files changed, 469 insertions(+), 402 deletions(-) create mode 100755 scripts/sort.py diff --git a/data/companies.yml b/data/companies.yml index 5a0e7a4..0d8484b 100644 --- a/data/companies.yml +++ b/data/companies.yml @@ -1,21 +1,8 @@ --- -fastly: - Name: Fastly - asn: 54113 - site: https://www.fastly.com breedband: name: Breedband B.V. asn: 5524 site: https://breedband.nl -exonet: - name: Exonet B.V. - site: https://exonet.nl -spl: - name: SPL B.V. - site: https://spl.nl -netadmin: - name: Netadmin Systems - site: https://www.netadminsystems.com/ embark: name: Embark Studios asn: 58317 @@ -23,29 +10,236 @@ embark: evilforbeginners: name: evilforbeginners asn: - - 47988 + - 47988 site: https://evilforbeginners.com/ +exonet: + name: Exonet B.V. + site: https://exonet.nl +fastly: + Name: Fastly + asn: 54113 + site: https://www.fastly.com +fosdem: + name: FOSDEM + asn: + - 62392 + site: https://fosdem.org/ github: name: GitHub Inc. asn: - - 36459 + - 36459 site: https://github.com/ +grafana: + name: Grafana Labs + site: https://grafana.com/ +netadmin: + name: Netadmin Systems + site: https://www.netadminsystems.com/ +openbsd: + name: OpenBSD + site: https://openbsd.org/ +peeringdb: + name: PeeringDB + site: https://peeringdb.com/ +spl: + name: SPL B.V. + site: https://spl.nl upcloud: name: UpCloud USA Inc asn: - - 25697 + - 25697 site: https://upcloud.com/ -fosdem: - name: FOSDEM - asn: - - 62392 - site: https://fosdem.org/ -grafana: - name: Grafana Labs - site: https://grafana.com/ +as251: + asn: 251 + name: Denis Klimek +as286: + asn: 286 + name: KPN B.V. +as517: + asn: 517 + name: KPN B.V. +as719: + asn: 719 + name: Elisa Oyj +as790: + asn: 790 + name: Elisa Oyj as1213: asn: 1213 name: HEAnet +as1248: + asn: 1248 + name: HERE Global BV +as1299: + asn: 1299 + name: Telia Company AB +as2128: + asn: 2128 + name: Internet Neutral Exchange Association Company Limited By Guarantee +as2603: + asn: 2603 + name: NORDUnet +as2613: + asn: 2613 + name: Willem van Gulik +as2792: + asn: 2792 + name: Deutsche Telekom AG +as2818: + asn: 2818 + name: BBC +as2819: + asn: 2819 + name: T-Mobile Czech Republic a.s. +as2856: + asn: 2856 + name: British Telecommunications PLC +as2859: + asn: 2859 + name: Resilans AB +as2863: + asn: 2863 + name: Centor AB +as2914: + asn: 2914 + name: NTT GIN + site: https://www.gin.ntt.net/ +as3222: + asn: 3222 + name: Cinia Oy +as3246: + asn: 3246 + name: Tele2 Sverige AB +as3257: + asn: 3257 + name: GTT Communications Inc. +as3265: + asn: 3265 + name: Xs4all Internet BV +as3292: + asn: 3292 + name: TDC A/S +as3301: + asn: 3301 + name: Telia Company AB +as3320: + asn: 3320 + name: Deutsche Telekom AG +as3333: + asn: 3333 + name: Reseaux IP Europeens Network Coordination Centre (RIPE NCC) +as3336: + asn: 3336 + name: Elisa Oyj +as5400: + asn: 5400 + name: British Telecommunications PLC +as5401: + asn: 5401 + name: Daniel Roesen +as5405: + name: Inter.link GmbH + asn: 5405 + site: https://inter.link/ +as5413: + asn: 5413 + name: Daisy Communications Ltd +as5430: + asn: 5430 + name: freenet Datenkommunikations GmbH +as5524: + asn: 5524 + name: Breedband B.V. +as5580: + asn: 5580 + name: GTT Netherlands B.V. +as5588: + asn: 5588 + name: T-Mobile Czech Republic a.s. +as6667: + asn: 6667 + name: Elisa Oyj +as6677: + asn: 6677 + name: Siminn hf +as6724: + asn: 6724 + name: Strato AG +as6893: + asn: 6893 + name: Saitis Networks + site: https://www.saitis.net +as8251: + asn: 8251 + name: FreeTel, s.r.o. +as8283: + asn: 8283 + name: Netwerkvereniging Coloclue +as8312: + asn: 8312 + name: Zylon Internet Services vof +as8319: + asn: 8319 + name: NETHINKS GmbH +as8330: + asn: 8330 + name: LONAP Ltd + site: https://www.lonap.net/ +as8365: + asn: 8365 + name: Man-da.de GmbH +as8426: + asn: 8426 + name: ClaraNET LTD +as8468: + asn: 8468 + name: ENTANET International Limited +as8473: + asn: 8473 + name: Bahnhof AB +as8607: + asn: 8607 + name: Timico Limited +as8674: + asn: 8674 + name: Netnod AB + site: https://www.netnod.se/ +as8677: + asn: 8677 + name: Worldline SA +as8683: + asn: 8683 + name: Nominet UK +as8757: + asn: 8757 + name: NSFOCUS, Inc. +as8763: + asn: 8763 + name: DENIC eG +as8767: + asn: 8767 + name: M-net Telekommunikations GmbH +as8778: + asn: 8778 + name: Slovanet a.s. +as8897: + asn: 8897 + name: KCOM GROUP LIMITED +as8995: + asn: 8995 + name: LM Jogback Datakonsult +as9009: + asn: 9009 + name: M247 Ltd +as9033: + asn: 9033 + name: Peering GmbH +as9143: + asn: 9143 + name: Ziggo B.V. +as9145: + asn: 9145 + name: EWE TEL GmbH as12337: asn: 12337 name: noris network AG @@ -61,9 +255,6 @@ as12414: as12472: asn: 12472 name: Waycom International (SASU) -as1248: - asn: 1248 - name: HERE Global BV as12513: asn: 12513 name: KCOM GROUP LIMITED @@ -97,9 +288,6 @@ as12817: as12859: asn: 12859 name: BIT BV -as1299: - asn: 1299 - name: Telia Company AB as13020: asn: 13020 name: Chaos Computer Club Veranstaltungsgesellschaft mbH @@ -151,45 +339,10 @@ as16265: as16273: asn: 16273 name: F-Secure Oyj -as196614: - asn: 196614 - name: P.J. Jakma -as196752: - asn: 196752 - name: Tilaa B.V. -as196944: - asn: 196944 - name: NIC Hosting s.r.o. -as197000: - asn: 197000 - name: RIPE NCC (AuthDNS) -as197032: - asn: 197032 - name: TREX Regional Exchanges Oy -as197541: - asn: 197541 - name: Ooyala AB -as197731: - asn: 197731 - name: The Internet Engineering Group B.V. -as197913: - asn: 197913 - name: Cadence Networks Ltd -as198013: - asn: 198013 - name: Ipkom Srl -as198543: - asn: 198543 - name: MAC TV s.r.o. -as199071: - asn: 199071 - name: Jan Prunk K.D. -as202053: - asn: 202053 - name: UpCloud Ltd -as203993: - asn: 203993 - name: S.J.M. Steffann +as20495: + asn: 20495 + name: WD6.net B.V. + site: https://wd6.net as20507: asn: 20507 name: Tele2 Nederland B.V. @@ -205,12 +358,6 @@ as20562: as20626: asn: 20626 name: Sandviken Energi AB -as206477: - asn: 206477 - name: Wolfined -as206570: - asn: 206570 - name: i3D.net B.V as20773: asn: 20773 name: Host Europe GmbH @@ -232,9 +379,6 @@ as21195: as21250: asn: 21250 name: Bahnhof AB -as2128: - asn: 2128 - name: Internet Neutral Exchange Association Company Limited By Guarantee as21371: asn: 21371 name: EQUINIX (SERVICES) LIMITED @@ -265,9 +409,6 @@ as24990: as25091: asn: 25091 name: IP-Max SA -as251: - asn: 251 - name: Denis Klimek as25152: asn: 25152 name: RIPE NCC (K-Root) @@ -283,33 +424,6 @@ as25473: as25542: asn: 25542 name: Netspider Group B.V. -as2603: - asn: 2603 - name: NORDUnet -as2613: - asn: 2613 - name: Willem van Gulik -as2792: - asn: 2792 - name: Deutsche Telekom AG -as2818: - asn: 2818 - name: BBC -as2819: - asn: 2819 - name: T-Mobile Czech Republic a.s. -as2856: - asn: 2856 - name: British Telecommunications PLC -as2859: - asn: 2859 - name: Resilans AB -as286: - asn: 286 - name: KPN B.V. -as2863: - asn: 2863 - name: Centor AB as28707: asn: 28707 name: Kangaroot BVBA @@ -325,10 +439,6 @@ as28876: as29008: asn: 29008 name: FAN Media GmbH -as2914: - asn: 2914 - name: NTT GIN - site: https://www.gin.ntt.net/ as29154: asn: 29154 name: Equinix (Finland) Oy @@ -386,54 +496,27 @@ as30969: as30975: asn: 30975 name: Telewizja Kablowa Koszalin sp. z o. o. -as31292: - asn: 31292 - name: Peter Salanki -as31337: - asn: 31337 - name: ELEET Networks -as31380: - asn: 31380 - name: Cyber Hosting KFT. -as31424: - asn: 31424 - name: nexellent ag -as31477: - asn: 31477 - name: Duocast B.V. -as31529: - asn: 31529 - name: DENIC eG -as31710: - asn: 31710 - name: Grupul Industrial Roman GIR S.A. -as3222: - asn: 3222 - name: Cinia Oy -as3246: - asn: 3246 - name: Tele2 Sverige AB -as3257: - asn: 3257 - name: GTT Communications Inc. -as3265: - asn: 3265 - name: Xs4all Internet BV -as3292: - asn: 3292 - name: TDC A/S -as3301: - asn: 3301 - name: Telia Company AB -as3320: - asn: 3320 - name: Deutsche Telekom AG -as3333: - asn: 3333 - name: Reseaux IP Europeens Network Coordination Centre (RIPE NCC) -as3336: - asn: 3336 - name: Elisa Oyj +as31292: + asn: 31292 + name: Peter Salanki +as31337: + asn: 31337 + name: ELEET Networks +as31380: + asn: 31380 + name: Cyber Hosting KFT. +as31424: + asn: 31424 + name: nexellent ag +as31477: + asn: 31477 + name: Duocast B.V. +as31529: + asn: 31529 + name: DENIC eG +as31710: + asn: 31710 + name: Grupul Industrial Roman GIR S.A. as33886: asn: 33886 name: Stockholm Internet eXchange AB @@ -509,6 +592,10 @@ as39326: as39570: asn: 39570 name: Loopia AB +as39767: + asn: 39767 + name: Sargasso (UK) + site: http://www.sargasso.net.uk/ as39923: asn: 39923 name: Unix-Solutions BVBA @@ -537,6 +624,10 @@ as42096: as42227: asn: 42227 name: Airwire Ltd +as42579: + asn: 42579 + name: Sargasso (EU) + site: http://www.sargasso.net.uk/ as42695: asn: 42695 name: City Network Hosting AB @@ -624,6 +715,10 @@ as48514: as48522: asn: 48522 name: CGl Nederland B.V. +as48635: + asn: 48635 + name: Tom Tunberg + site: https://insight.tv as49282: asn: 49282 name: Ficolo Oy @@ -681,42 +776,16 @@ as51468: as51526: asn: 51526 name: IXLeeds Limited -as517: - asn: 517 - name: KPN B.V. as51728: asn: 51728 name: Seltimil Oy as52088: asn: 52088 name: portrix Systems GmbH -as5400: - asn: 5400 - name: British Telecommunications PLC -as5401: - asn: 5401 - name: Daniel Roesen -as5405: - name: Inter.link GmbH - asn: - - 5405 - - 25291 - site: https://inter.link/ -as5413: - asn: 5413 - name: Daisy Communications Ltd -as5430: - asn: 5430 - name: freenet Datenkommunikations GmbH -as5524: - asn: 5524 - name: Breedband B.V. -as5580: - asn: 5580 - name: GTT Netherlands B.V. -as5588: - asn: 5588 - name: T-Mobile Czech Republic a.s. +as55064: + asn: 55064 + name: Arista Networks + site: https://www.arista.com as56595: asn: 56595 name: Fluency Communications Ltd @@ -729,6 +798,10 @@ as57381: as57771: asn: 57771 name: S.J.M. Steffann +as57782: + asn: 57782 + name: Cynthia Revstrom + site: https://cynthia.re/ as58145: asn: 58145 name: Magnus Fruehling @@ -738,9 +811,17 @@ as58298: as59469: asn: 59469 name: Sentia Denmark A/S +as59715: + name: SBTAP + site: https://as59715.net + asn: 59715 as59889: asn: 59889 name: BusinessConnect bvba +as60079: + asn: 60079 + name: Electromagnetic Field + site: https://www.emfcamp.org/ as60205: asn: 60205 name: Magine AB @@ -753,141 +834,59 @@ as61006: as61189: asn: 61189 name: Elkdata OU +as61282: + name: Brainmill + asn: 61282 + site: https://neanet.se as64475: asn: 64475 name: Freifunk Frankfurt am Main e.V. -as6667: - asn: 6667 - name: Elisa Oyj -as6677: - asn: 6677 - name: Siminn hf -as6724: - asn: 6724 - name: Strato AG -as719: - asn: 719 - name: Elisa Oyj -as790: - asn: 790 - name: Elisa Oyj -as8251: - asn: 8251 - name: FreeTel, s.r.o. -as8283: - asn: 8283 - name: Netwerkvereniging Coloclue -as8312: - asn: 8312 - name: Zylon Internet Services vof -as8319: - asn: 8319 - name: NETHINKS GmbH -as8330: - asn: 8330 - name: LONAP Ltd - site: https://www.lonap.net/ -as8365: - asn: 8365 - name: Man-da.de GmbH -as8426: - asn: 8426 - name: ClaraNET LTD -as8468: - asn: 8468 - name: ENTANET International Limited -as8473: - asn: 8473 - name: Bahnhof AB -as8607: - asn: 8607 - name: Timico Limited -as8674: - asn: 8674 - name: Netnod AB - site: https://www.netnod.se/ -as8677: - asn: 8677 - name: Worldline SA -as8683: - asn: 8683 - name: Nominet UK -as8757: - asn: 8757 - name: NSFOCUS, Inc. -as8763: - asn: 8763 - name: DENIC eG -as8767: - asn: 8767 - name: M-net Telekommunikations GmbH -as8778: - asn: 8778 - name: Slovanet a.s. -as8897: - asn: 8897 - name: KCOM GROUP LIMITED -as8995: - asn: 8995 - name: LM Jogback Datakonsult -as9009: - asn: 9009 - name: M247 Ltd -as9033: - asn: 9033 - name: Peering GmbH -as9143: - asn: 9143 - name: Ziggo B.V. -as9145: - asn: 9145 - name: EWE TEL GmbH -openbsd: - name: OpenBSD - site: https://openbsd.org/ +as196614: + asn: 196614 + name: P.J. Jakma +as196752: + asn: 196752 + name: Tilaa B.V. +as196944: + asn: 196944 + name: NIC Hosting s.r.o. +as197000: + asn: 197000 + name: RIPE NCC (AuthDNS) +as197032: + asn: 197032 + name: TREX Regional Exchanges Oy +as197541: + asn: 197541 + name: Ooyala AB +as197731: + asn: 197731 + name: The Internet Engineering Group B.V. +as197913: + asn: 197913 + name: Cadence Networks Ltd +as198013: + asn: 198013 + name: Ipkom Srl +as198543: + asn: 198543 + name: MAC TV s.r.o. as199036: name: NLNOG RING LG asn: 199036 site: https://ring.nlnog.net/ -peeringdb: - name: PeeringDB - site: https://peeringdb.com/ -as59715: - name: SBTAP - site: https://as59715.net -as20495: - asn: 20495 - name: WD6.net B.V. - site: https://wd6.net -as57782: - asn: 57782 - name: Cynthia Revstrom - site: https://cynthia.re/ -as48635: - asn: 48635 - name: Tom Tunberg - site: https://insight.tv -as39767: - asn: 39767 - name: Sargasso (UK) - site: http://www.sargasso.net.uk/ -as42579: - asn: 42579 - name: Sargasso (EU) - site: http://www.sargasso.net.uk/ -as60079: - asn: 60079 - name: Electromagnetic Field - site: https://www.emfcamp.org/ -as6893: - asn: 6893 - name: Saitis Networks - site: https://www.saitis.net -as55064: - asn: 55064 - name: Arista Networks - site: https://www.arista.com -as61282: - name: Brainmill - asn: 61282 - site: https://neanet.se +as199071: + asn: 199071 + name: Jan Prunk K.D. +as202053: + asn: 202053 + name: UpCloud Ltd +as203993: + asn: 203993 + name: S.J.M. Steffann +as206477: + asn: 206477 + name: Wolfined +as206570: + asn: 206570 + name: i3D.net B.V diff --git a/data/users.yml b/data/users.yml index d0369d4..aa245f7 100644 --- a/data/users.yml +++ b/data/users.yml @@ -5,7 +5,7 @@ Acontios: - as34019 - as34997 country: fr - full_name: "Cl\xE9ment Cavadore" + full_name: Clément Cavadore rir_handle: - CCA-RIPE - CCAV-RIPE @@ -94,6 +94,13 @@ Cybertinus: full_name: Tijn Buijs rir_handle: - TIJN-RIPE +Cynthia: + companies: + - as57782 + country: se + full_name: Cynthia Revström + rir_handle: + - CMR-RIPE Da_P: companies: - as15169 @@ -102,17 +109,6 @@ Da_P: full_name: Pim van Pelt rir_handle: - PBVP1-RIPE -davidc: - companies: - - as8330 - - as39767 - - as41230 - - as42579 - - as60079 - country: eu - full_name: David Croft - rir_handle: - - DC5052-RIPE Daluege: companies: - as2819 @@ -289,7 +285,7 @@ KeefR: companies: - as8560 country: de - full_name: "Matthias M\xFCller" + full_name: Matthias Müller rir_handle: [] Kippenijzer: companies: @@ -318,7 +314,7 @@ LM: - as8674 - as8995 country: se - full_name: "LM Jogb\xE4ck" + full_name: LM Jogbäck rir_handle: - LMJ1-RIPE LeslieC: @@ -378,6 +374,13 @@ Medivh: full_name: Chris Kuhles rir_handle: - CK5000-RIPE +Michael_wd6: + companies: + - as20495 + country: nl + full_name: Michaël Jonkers + rir_handle: + - MJ84126-RIPE Michiel: companies: - as5580 @@ -414,7 +417,7 @@ Odjuret: companies: - as51040 country: se - full_name: "Ola Nystr\xF6m" + full_name: Ola Nyström rir_handle: - ON626-RIPE Perseus: @@ -487,7 +490,7 @@ SP18: companies: - as30781 country: fr - full_name: "J\xE9r\xF4me Descoux" + full_name: Jérôme Descoux rir_handle: - LFML-RIPE STL: @@ -572,7 +575,7 @@ Tigerdyr: companies: - as15516 country: dk - full_name: "S\xF8ren Skou" + full_name: Søren Skou rir_handle: - SPS4-RIPE Tisteagle: @@ -585,7 +588,7 @@ ToM: companies: - as16273 country: fi - full_name: "Toni Syv\xE4nen" + full_name: Toni Syvänen rir_handle: [] Toshima: companies: @@ -762,7 +765,7 @@ aman: companies: - as3292 country: se - full_name: "Daniel \xC5man" + full_name: Daniel Åman rir_handle: - AMAN-RIPE ambo: @@ -895,7 +898,7 @@ buki: - as2819 - as1903 country: cz - full_name: "Marek Kozlovsk\xFD" + full_name: Marek Kozlovský rir_handle: - BUKI-RIPE buraglio: @@ -1000,6 +1003,17 @@ davew: full_name: Dave Wilson rir_handle: - dw238-ripe +davidc: + companies: + - as8330 + - as39767 + - as41230 + - as42579 + - as60079 + country: eu + full_name: David Croft + rir_handle: + - DC5052-RIPE deBruijn: companies: - as5580 @@ -1035,7 +1049,7 @@ dr: companies: - as5401 country: de - full_name: "Daniel R\xF6sen" + full_name: Daniel Rösen rir_handle: - CLUE-RIPE - DARO-RIPE @@ -1072,7 +1086,7 @@ emj: - as43948 - as42708 country: se - full_name: "Eric Lindsj\xF6" + full_name: Eric Lindsjö rir_handle: - EMJ-RIPE equinox: @@ -1085,7 +1099,7 @@ equinox: escapechen: companies: [] country: de - full_name: "Marcel K\xFChn" + full_name: Marcel Kühn rir_handle: [] evan: companies: @@ -1189,7 +1203,7 @@ hassel: - as16150 - as6797 country: se - full_name: "Carl Hasselstr\xF6m" + full_name: Carl Hasselström rir_handle: [] hkkl: companies: @@ -1198,7 +1212,7 @@ hkkl: - as42297 - as34387 country: fi - full_name: "Henri Gr\xF6nroos" + full_name: Henri Grönroos rir_handle: - HG627-RIPE hlkv6: @@ -1278,6 +1292,19 @@ job: full_name: Job Snijders rir_handle: - JWJS1-RIPE +jsalo: + companies: + - as49282 + country: fi + full_name: Jari Salo + rir_handle: + - JS24207-RIPE +jwbensley: + full_name: James Bensley + country: DE + rir_handle: JBIL-RIPE + companies: + - as5405 kajtzu: companies: - as29154 @@ -1389,7 +1416,7 @@ lpe: companies: - as20626 country: se - full_name: "Lars Peter Engstr\xF6m" + full_name: Lars Peter Engström rir_handle: [] lwb: companies: @@ -1410,7 +1437,7 @@ maagic: companies: - as35382 country: fi - full_name: "Antero Katajam\xE4ki" + full_name: Antero Katajamäki rir_handle: - AK3955-RIPE macTijn: @@ -1508,7 +1535,7 @@ mephisto: companies: - as29008 country: de - full_name: "Bastian M\xE4user" + full_name: Bastian Mäuser rir_handle: - BM848-RIPE mha: @@ -1549,7 +1576,7 @@ monstah: companies: - as20514 country: se - full_name: "Fredrik Lagertr\xE4d" + full_name: Fredrik Lagerträd rir_handle: [] mr-50986: companies: @@ -1730,14 +1757,14 @@ radical: companies: - as29518 country: se - full_name: "Fredrik V\xF6cks" + full_name: Fredrik Vöcks rir_handle: - RAD-RIPE rasm: companies: - as33886 country: se - full_name: "Rasmus \xC5berg" + full_name: Rasmus Åberg rir_handle: - RA142-RIPE reaper^: @@ -1880,7 +1907,7 @@ skorpyFFM: - as64475 - as58145 country: de - full_name: "Magnus Fr\xFChling" + full_name: Magnus Frühling rir_handle: - MF16389-RIPE slh: @@ -1931,7 +1958,7 @@ suom1: companies: - embark country: fi - full_name: "Markus Viitam\xE4ki" + full_name: Markus Viitamäki rir_handle: - MAVI-RIPE swaio: @@ -1946,8 +1973,20 @@ swaio: syke: companies: [] country: be - full_name: "H\xE4kkinen Esa" + full_name: Häkkinen Esa rir_handle: [] +sym: + companies: + - as48635 + full_name: Tom Tunberg + country: nl +techwolf12: + companies: + - as206477 + full_name: Christiaan de Die le Clercq + country: nl + rir_handle: + - CDDL1-RIPE teun: companies: - as12859 @@ -2024,6 +2063,12 @@ ukar: country: se full_name: Ulrik Karrman rir_handle: [] +vincentz: + companies: + - as55064 + country: de + full_name: Vincentz Petzholtz + rir_handle: [] vlahti: companies: - as49282 @@ -2082,7 +2127,7 @@ zfx: companies: - as197541 country: se - full_name: "Timh Bergstr\xF6m" + full_name: Timh Bergström rir_handle: - TB5052-RIPE ziga: @@ -2097,7 +2142,7 @@ zin: companies: - as35382 country: fi - full_name: "Esa L\xE4hteenm\xE4ki" + full_name: Esa Lähteenmäki rir_handle: - EL3487-RIPE zyx: @@ -2111,48 +2156,3 @@ zyx: - PM3469-RIPE - PEM777-RIPE - ZYX-RIPE -techwolf12: - companies: - - as206477 - full_name: "Christiaan de Die le Clercq" - country: nl - rir_handle: - - CDDL1-RIPE -Michael_wd6: - companies: - - as20495 - country: nl - full_name: Michaël Jonkers - rir_handle: - - MJ84126-RIPE -Cynthia: - companies: - - as57782 - country: se - full_name: "Cynthia Revström" - rir_handle: - - CMR-RIPE -sym: - companies: - - as48635 - full_name: "Tom Tunberg" - country: nl -jsalo: - companies: - - as49282 - country: fi - full_name: "Jari Salo" - rir_handle: - - JS24207-RIPE -jwbensley: - full_name: James Bensley - country: DE - rir_handle: JBIL-RIPE - companies: - - as5405 -vincentz: - companies: - - as55064 - country: de - full_name: Vincentz Petzholtz - rir_handle: [] diff --git a/scripts/sort.py b/scripts/sort.py new file mode 100755 index 0000000..f9475da --- /dev/null +++ b/scripts/sort.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python3 +import yaml +import re +import argparse + +# Function to load and sort the companies data +def sort_companies(file_path): + with open(file_path, 'r', encoding='utf-8') as file: # Set encoding to utf-8 + data = yaml.safe_load(file) + + asn_entries = {} + non_asn_entries = {} + for key, value in data.items(): + if key.startswith('as') and re.match(r'^as(\d+)$', key): + asn_number = int(key[2:]) + asn_entries[asn_number] = {**value, 'asn': asn_number} + else: + non_asn_entries[key] = value + + sorted_non_asn_entries = dict(sorted(non_asn_entries.items(), key=lambda item: item[0])) + sorted_asn_entries = dict(sorted(asn_entries.items(), key=lambda item: item[0])) + + # Re-add the 'as' prefix to the ASN entries + final_asn_entries = {'as' + str(key): value for key, value in sorted_asn_entries.items()} + + sorted_data = {**sorted_non_asn_entries, **final_asn_entries} + return sorted_data + +# Function to load and sort the users data +def sort_users(file_path): + with open(file_path, 'r', encoding='utf-8') as file: # Set encoding to utf-8 + data = yaml.safe_load(file) + + sorted_data = dict(sorted(data.items(), key=lambda item: item[0])) + return sorted_data + +# Function to write sorted data to a file +def write_to_file(file_path, data): + with open(file_path, 'w', encoding='utf-8') as file: # Set encoding to utf-8 + file.write('---\n') + yaml.dump(data, file, default_flow_style=False, sort_keys=False, allow_unicode=True) + +# Set up argument parsing +parser = argparse.ArgumentParser(description="Sort YAML files for companies and users.") +parser.add_argument('--write', action='store_true', help="Write the sorted data back to the files instead of printing.") +args = parser.parse_args() + +# Path to the YAML files +companies_file_path = "../data/companies.yml" +users_file_path = "../data/users.yml" + +# Sort the data +sorted_companies = sort_companies(companies_file_path) +sorted_users = sort_users(users_file_path) + +if args.write: + # Write sorted data back to the files + write_to_file(companies_file_path, sorted_companies) + write_to_file(users_file_path, sorted_users) +else: + # Convert to YAML and print + sorted_companies_yaml = yaml.dump(sorted_companies, default_flow_style=False, sort_keys=False, allow_unicode=True) + sorted_users_yaml = yaml.dump(sorted_users, default_flow_style=False, sort_keys=False, allow_unicode=True) + + print("Sorted Companies YAML:") + print('---\n' + sorted_companies_yaml) + print("Sorted Users YAML:") + print('---\n' + sorted_users_yaml)