diff options
-rw-r--r-- | bin/export-norwegian-contacts | 97 | ||||
-rw-r--r-- | data/norway/contact-addresses.csv | 48 |
2 files changed, 124 insertions, 21 deletions
diff --git a/bin/export-norwegian-contacts b/bin/export-norwegian-contacts new file mode 100644 index 000000000..8a7d438e5 --- /dev/null +++ b/bin/export-norwegian-contacts @@ -0,0 +1,97 @@ +#!/usr/bin/perl + +# export-norwegian-contacts: +# Export initial contact list from fiksgatami in a format usable by +# load-norwegian-contact. +# +# The format is +# ID;Name;email-address;Category1,Category2,... +# +# Based on script load-contacts copyright (c) 2006 UK Citizens Online +# Democracy and script load-norwegian-contacts copyright (c) 2011 +# Petter Reinholdtsen. +# Copyright 2011 Petter Reinholdtsen. +# +# $Id: load-norwegian-contacts,v 1.0 2007-08-02 11:44:59 matthew Exp $ + +use strict; +use warnings; +require 5.8.0; +use open OUT => ':utf8'; + +# Horrible boilerplate to set up appropriate library paths. +use FindBin; +use lib "$FindBin::Bin/../perllib"; +use lib "$FindBin::Bin/../commonlib/perllib"; + +use mySociety::Config; +use mySociety::DBHandle qw(dbh select_all); +use mySociety::MaPit; + +BEGIN { + mySociety::Config::set_file("$FindBin::Bin/../conf/general"); + mySociety::DBHandle::configure( + Name => mySociety::Config::get('BCI_DB_NAME'), + User => mySociety::Config::get('BCI_DB_USER'), + Password => mySociety::Config::get('BCI_DB_PASS'), + Host => mySociety::Config::get('BCI_DB_HOST', undef), + Port => mySociety::Config::get('BCI_DB_PORT', undef) + ); +} + +my $datafile = shift; + +open(my $fh, '>', $datafile) or die "Unable to write to $datafile"; + +# Categories used by more than half the areas is used as the default +# list. +my $sql = + "SELECT category FROM (SELECT category, COUNT(*) from contacts ". + " WHERE confirmed = 'true' AND deleted = 'false' ". + " GROUP BY category) as c ". + " WHERE count > (SELECT COUNT(*)/2 FROM contacts ". + " WHERE category = 'Annet') ". + " ORDER BY category"; +my $defcategoriesref = dbh()->selectcol_arrayref($sql); +print $fh "0000;default;;", join(',', @{$defcategoriesref}), "\n"; + +my %categorygroup; +$sql = "SELECT area_id, email, category FROM contacts ORDER BY category"; +my $contactref = dbh()->selectall_arrayref($sql, { Slice => {} }); +my @area_ids; +for my $row (@{$contactref}) { + my $key = $row->{area_id} .':'. $row->{email}; + push(@area_ids, $row->{area_id}); + if (exists $categorygroup{$key}) { + push(@{$categorygroup{$key}}, $row->{category}); + } else { + $categorygroup{$key} = [ $row->{category} ]; + } +} + +my $areas_info = mySociety::MaPit::call('areas', \@area_ids); + +my @list; +for my $key (keys %categorygroup) { + my ($area_id, $email) = split(/:/, $key); + my $categoriesref = $categorygroup{$key}; + my $areaname = $areas_info->{$area_id}->{name}; + my $areadigits = ($area_id < 100) ? 2 : 4; + if (identical_lists($defcategoriesref, $categoriesref)) { + push(@list,sprintf("%0${areadigits}d;%s;%s\n", + $area_id, $areaname, $email)); + } else { + push(@list, sprintf("%0${areadigits}d;%s;%s;%s\n", + $area_id, $areaname, $email, + join(',', @{$categoriesref}))); + } +} + +print $fh sort @list; + +sub identical_lists { + my ($a, $b) = @_; + return !(join(',', @{$a}) cmp join(',', @{$b})); +} + +exit 0; diff --git a/data/norway/contact-addresses.csv b/data/norway/contact-addresses.csv index 42fccc33c..05cd2df78 100644 --- a/data/norway/contact-addresses.csv +++ b/data/norway/contact-addresses.csv @@ -1,4 +1,4 @@ -# # i +# # 2010 engelsk kategori Forslag til oversettelse # --------------------------------------------------------------------- # 18k potholes Hull i vei @@ -65,7 +65,7 @@ # ------------------------------------- # Annet # -0000;default;;Hull i vei,Gater/Veier,Gatelys,Fortau/gangstier,Dumpet skrot,Forsøpling,Parkering,Graffiti/tagging,Trafikkskilter,Forlatte kjøretøy,Trær,Veinavn-skilter,Trafikklys,Park/landskap,Ulovlige oppslag,Buss- og togstopp,Offentlige toaletter,Vannforsyning,Snøbrøyting,Sykkelveier,Tette avløpsrister,Oljesøl,Annet +0000;default;;Annet,Buss- og togstopp,Dumpet skrot,Forlatte kjøretøy,Forsøpling,Fortau/gangstier,Gatefeiing,Gatelys,Gater/Veier,Graffiti/tagging,Hull i vei,Offentlige toaletter,Oljesøl,Parkering,Park/landskap,Snøbrøyting,Sykkelveier,Tette avløpsrister,Trafikklys,Trafikkskilter,Trær,Ulovlige oppslag,Universell utforming,Vannforsyning,Veinavn-skilter 0101;Halden;postmottak@halden.kommune.no 0104;Moss;post@moss.kommune.no 0105;Sarpsborg;postmottak@sarpsborg.com @@ -75,13 +75,13 @@ 0119;Marker;post@marker.kommune.no 0121;Rømskog;postmottak@romskog.kommune.no 0122;Trøgstad;postmottak@trogstad.kommune.no -0123;Spydeberg;post@spydeberg.kommune.no +0123;Spydeberg;servicetorget@spydeberg.kommune.no 0124;Askim;postmottak@askim.kommune.no 0125;Eidsberg;postmottak@eidsberg.kommune.no 0127;Skiptvet;postmottak@skiptvet.kommune.no 0128;Rakkestad;postmottak@rakkestad.kommune.no 0135;Råde;post@rade.kommune.no -0136;Rygge;postmottak@rygge.kommune.no +0136;Rygge;servicetorget@rygge.kommune.no 0137;Våler;postmottak@valer-of.kommune.no 0138;Hobøl;post@hobol.kommune.no 01;Østfold;sentralpost@ostfoldfk.no;Annet @@ -91,7 +91,7 @@ 0215;Frogn;postmottak@frogn.kommune.no 0216;Nesodden;postmottak@nesodden.kommune.no 0217;Oppegård;postmottak@oppegard.kommune.no -0219;Bærum;post@baerum.kommune.no +0219;Bærum;veiledningstorget@baerum.kommune.no;Annet,Buss- og togstopp,Dumpet skrot,Forlatte kjøretøy,Forsøpling,Fortau/gangstier,Gatefeiing,Gatelys,Gater/Veier,Graffiti/tagging,Hull i vei,Offentlige toaletter,Oljesøl,Parkering,Park/landskap,Snøbrøyting,Sykkelveier,Tette avløpsrister,Trafikklys,Trafikkskilter,Trær,Turveier,Ulovlige oppslag,Universell utforming,Vannforsyning,Veinavn-skilter 0220;Asker;post@asker.kommune.no 0221;Aurskog-Høland;postmottak@ahk.no 0226;Sørum;postmottak@sorum.kommune.no @@ -99,7 +99,7 @@ 0228;Rælingen;postmottak@ralingen.kommune.no 0229;Enebakk;postmottak@enebakk.kommune.no 0230;Lørenskog;postmottak@lorenskog.kommune.no -0231;Skedsmo;postmottak@skedsmo.kommune.no +0231;Skedsmo;ekspedts@skedsmo.kommune.no 0233;Nittedal;postmottak@nittedal.kommune.no 0234;Gjerdrum;postmottak@gjerdrum.kommune.no 0235;Ullensaker;postmottak@ullensaker.kommune.no @@ -109,7 +109,7 @@ 0239;Hurdal;postmottak@hurdal.kommune.no 02;Akershus;postmottak@akershus-fk.no;Annet 03;Oslo;postmottak@oslo.kommune.no -0402;Kongsvinger;postmottak@kongsvinger.kommune.no +0402;Kongsvinger;fiksgata@kongsvinger.kommune.no 0403;Hamar;postmottak@hamar.kommune.no 0412;Ringsaker;postmottak@ringsaker.kommune.no 0415;Løten;post@loten.kommune.no @@ -132,7 +132,7 @@ 0439;Folldal;postmottak@folldal.kommune.no 0441;Os;postmottak@os.kommune.no 04;Hedmark;postmottak@hedmark.org;Annet -0501;Lillehammer;postmottak@lillehammer.kommune.no +0501;Lillehammer;servicetorget@lillehammer.kommune.no 0502;Gjøvik;postmottak@gjovik.kommune.no 0511;Dovre;postmottak@dovre.kommune.no 0512;Lesja;postmottak@lesja.kommune.no @@ -162,7 +162,7 @@ 0602;Drammen;kommunepost@drammen.kommune.no 0604;Kongsberg;postmottak@kongsberg.kommune.no 0605;Ringerike;postmottak@ringerike.kommune.no -0612;Hole;postmottak@hole.kommune.no +0612;Hole;publikumskontoret@hole.kommune.no 0615;Flå;postmottak@flaa.kommune.no 0616;Nes;postmottak@nes-bu.kommune.no 0617;Gol;postmottak@gol.kommune.no @@ -237,7 +237,7 @@ 1004;Flekkefjord;post@flekkefjord.kommune.no 1014;Vennesla;post@vennesla.kommune.no 1017;Songdalen;postmottak@songdalen.kommune.no -1018;Søgne;postmottak@sogne.kommune.no +1018;Søgne;fiksgatami@sogne.kommune.no 1021;Marnardal;service@Marnardal.kommune.no 1026;Åseral;info@aseral.kommune.no 1027;Audnedal;info@audnedal.kommune.no @@ -247,6 +247,11 @@ 1037;Kvinesdal;post@kvinesdal.kommune.no 1046;Sirdal;post@sirdal.kommune.no 10;Vest-Agder;postmottak@vaf.no;Annet +11001;Statens vegvesen region øst;firmapost-ost@vegvesen.no;Fortau/gangstier,Gatefeiing,Gatelys,Gater/Veier,Hull i vei,Snøbrøyting,Sykkelveier,Trafikklys,Trafikkskilter,Veinavn-skilter +11002;Statens vegvesen region sør;firmapost-sor@vegvesen.no;Fortau/gangstier,Gatefeiing,Gatelys,Gater/Veier,Hull i vei,Snøbrøyting,Sykkelveier,Trafikklys,Trafikkskilter,Veinavn-skilter +11003;Statens vegvesen region vest;firmapost-vest@vegvesen.no;Fortau/gangstier,Gatefeiing,Gatelys,Gater/Veier,Hull i vei,Snøbrøyting,Sykkelveier,Trafikklys,Trafikkskilter,Veinavn-skilter +11004;Statens vegvesen region midt;firmapost-midt@vegvesen.no;Fortau/gangstier,Gatefeiing,Gatelys,Gater/Veier,Hull i vei,Snøbrøyting,Sykkelveier,Trafikklys,Trafikkskilter,Veinavn-skilter +11005;Statens vegvesen region nord;firmapost-nord@vegvesen.no;Fortau/gangstier,Gatefeiing,Gatelys,Gater/Veier,Hull i vei,Snøbrøyting,Sykkelveier,Trafikklys,Trafikkskilter,Veinavn-skilter 1101;Eigersund;post@eigersund.kommune.no 1102;Sandnes;postmottak@sandnes.kommune.no 1103;Stavanger;postmottak@stavanger.kommune.no @@ -274,20 +279,21 @@ 1151;Utsira;post@utsira.kommune.no 1160;Vindafjord;postmottak@vindafjord.kommune.no 11;Rogaland;firmapost@rogfk.no;Annet -1201;Bergen;postmottak@bergen.kommune.no +1201;Bergen;vaktsentral@bergen.kommune.no 1211;Etne;firmapost@etne.kommune.no 1216;Sveio;postmottak@sveio.kommune.no 1219;Bømlo;postmottak@bomlo.kommune.no -1221;Stord;post@stord.kommune.no +1221;Stord;kundetorget@stord.kommune.no;Annet,Buss- og togstopp,Dumpet skrot,Forlatte kjøretøy,Forsøpling,Fortau/gangstier,Gatefeiing,Gater/Veier,Graffiti/tagging,Hull i vei,Offentlige toaletter,Oljesøl,Parkering,Park/landskap,Snøbrøyting,Sykkelveier,Tette avløpsrister,Trafikklys,Trafikkskilter,Trær,Ulovlige oppslag,Universell utforming,Vannforsyning,Veinavn-skilter +1221;Stord;post@skl.as;Gatelys 1222;Fitjar;fitjar@fitjar.kommune.no 1223;Tysnes;post@tysnes.kommune.no 1224;Kvinnherad;post@kvinnherad.kommune.no 1227;Jondal;post@jondal.kommune.no -1228;Odda;epost@odda.kommune.no -1231;Ullensvang;postmottak@ullensvang.herad.no +1228;Odda;Tenestetorg@odda.kommune.no +1231;Ullensvang herad;postmottak@ullensvang.herad.no 1232;Eidfjord;postmottak@eidfjord.kommune.no -1233;Ulvik;postmottak@ulvik.kommune.no -1234;Granvin;postmottak@granvin.kommune.no +1233;Ulvik herad;postmottak@ulvik.kommune.no +1234;Granvin herad;postmottak@granvin.kommune.no 1235;Voss;postmottak@voss.kommune.no 1238;Kvam herad;postmottak@kvam.kommune.no 1241;Fusa;postkasse@fusa.kommune.no @@ -296,7 +302,7 @@ 1244;Austevoll;postmottak@austevoll.kommune.no 1245;Sund;postmottak@sund.kommune.no 1246;Fjell;postmottak@fjell.kommune.no -1247;Askøy;postmottak@askoy.kommune.no +1247;Askøy;kundetorg@askoy.kommune.no 1251;Vaksdal;post@vaksdal.kommune.no 1252;Modalen;postmottak@modalen.kommune.no 1253;Osterøy;post@osteroy.kommune.no @@ -308,7 +314,7 @@ 1265;Fedje;postmottak@fedje.kommune.no 1266;Masfjorden;post@masfjorden.kommune.no 12;Hordaland;hfk@post.hfk.no;Annet -1401;Flora;postmottak@flora.kommune.no +1401;Flora;tenestetorgetekspedisjon@flora.kommune.no 1411;Gulen;postmottak@gulen.kommune.no 1412;Solund;post@solund.kommune.no 1413;Hyllestad;postmottak@hyllestad.kommune.no @@ -325,7 +331,7 @@ 1429;Fjaler;post@fjaler.kommune.no 1430;Gaular;postmottak@gaular.kommune.no 1431;Jølster;postmottak@jolster.kommune.no -1432;Førde;postmottak@forde.kommune.no +1432;Førde;servicetorget@forde.kommune.no 1433;Naustdal;postmottak@naustdal.kommune.no 1438;Bremanger;post@bremanger.kommune.no 1439;Vågsøy;post@vagsoy.kommune.no @@ -336,7 +342,7 @@ 1449;Stryn;postmottak@stryn.kommune.no 14;Sogn og Fjordane;postmottak.sentraladm@sfj.no;Annet 1502;Molde;postmottak@molde.kommune.no -1504;Ålesund;postmottak@alesund.kommune.no +1504;Ålesund;servicetorget@alesund.kommune.no 1505;Kristiansund;postmottak@kristiansund.kommune.no 1511;Vanylven;postmottak@vanylven.kommune.no 1514;Sande;sande.kommune@sande-mr.kommune.no @@ -372,7 +378,7 @@ 1573;Smøla;postmottak@smola.kommune.no 1576;Aure;postmottak@aure.kommune.no 15;Møre og Romsdal;post@mrfylke.no;Annet -1601;Trondheim;postmottak@trondheim.kommune.no +1601;Trondheim;bydrift.vegdrift@trondheim.kommune.no 1612;Hemne;postmottak@hemne.kommune.no 1613;Snillfjord;postmottak@snillfjord.kommune.no 1617;Hitra;postmottak@hitra.kommune.no |