Skip to content
This repository has been archived by the owner on Feb 9, 2022. It is now read-only.

Commit

Permalink
Anmodning script
Browse files Browse the repository at this point in the history
  • Loading branch information
jarib committed Dec 9, 2017
1 parent a120ada commit b725e20
Showing 1 changed file with 41 additions and 3 deletions.
44 changes: 41 additions & 3 deletions script/anmodning.rb
Expand Up @@ -32,6 +32,7 @@
end

File.open("anmodning.json", "w") { |file| file << data.to_json }
data = JSON.parse(data.to_json) # stringify keys
end

# STDOUT << CSV.generate(col_sep: "\t") do |csv|
Expand Down Expand Up @@ -64,7 +65,44 @@
# end
# end

pp data.find { |e| (e['vote_for'] + e['vote_against'] + e['vote_absent']).any?(&:nil?) }
by_session = data.group_by { |e| e['session'] }

# all_parties = data.flat_map { |e| (e['vote_for'] + e['vote_against'] + e['vote_against']) }
# p all_parties
total_counts_by_session = Hash.new { |hash, key| hash[key] = {total: 0, enacted: 0} }
party_counts_by_session = Hash.new { |hash, key| hash[key] = Hash.new { |hash, key| hash[key] = {total: 0, enacted: 0}}}

by_session.each do |session, props|
props.each do |prop|
total_counts_by_session[session][:total] += 1
total_counts_by_session[session][:enacted] += 1 if prop['vote_enacted']

prop['vote_for'].each do |party|
party_counts_by_session[session][party['name']][:total] += 1
party_counts_by_session[session][party['name']][:enacted] += 1 if prop['vote_enacted']
end
end
end

File.open("anmodning-totals.tsv", "w") { |io|
io << CSV.generate(col_sep: "\t") do |csv|
csv << ['session', 'total', 'vedtatt']

total_counts_by_session.sort_by { |session, counts| session }.each do |session, counts|
csv << [session, counts[:total], counts[:enacted]]
end
end
}

File.open("anmodning-parties.tsv", "w") { |io|
io << CSV.generate(col_sep: "\t") do |csv|
csv << ['session', 'parti', 'total', 'vedtatt']

party_counts_by_session.sort_by { |session, counts| session }.each do |session, counts|
counts.each do |party, party_counts|
csv << [session, party, party_counts[:total], party_counts[:enacted]]
end
end
end
}

# pp total_counts_by_session
# pp party_counts_by_session

0 comments on commit b725e20

Please sign in to comment.