politicosbr 2.0.1 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/politicosbr.rb +53 -52
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5470848dc729ff6d15a74d765b85a6c84c7e384f
|
4
|
+
data.tar.gz: eea54a993c85ca884eb8c574c36dc26059d124dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: caae85ab2e514823ac4062305d16257b40498bdf603e063a4022df2cef7695482dd72268b847d9b90955a2e8b34ee99a03664b906892b5ee903dc76f787a1dc5
|
7
|
+
data.tar.gz: 3d3791c1b2d2fbf8b7c34b2ea332e59abd46446907b7775bdcc82874d285652d4f1273f0c2c1a9a1133fc3759303202ac63e39ccc7517686391cb6b9c592d3c3
|
data/lib/politicosbr.rb
CHANGED
@@ -4,63 +4,64 @@ require 'httparty'
|
|
4
4
|
require 'roo-xls'
|
5
5
|
|
6
6
|
module PoliticosBR
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
xls = Roo::Excel.new('deputados.xls')
|
18
|
-
xls.to_csv("#{file_basename}.csv")
|
19
|
-
x = Array.new
|
20
|
-
File.readlines("#{file_basename}.csv").each do |linha|
|
21
|
-
campos = linha.split(',')
|
22
|
-
campos.each_index { |i|
|
23
|
-
campos[i] = campos[i].delete '"'
|
24
|
-
}
|
25
|
-
deputado = Hash.new
|
26
|
-
deputado[:nome] = campos[0]
|
27
|
-
deputado[:partido] = campos[1]
|
28
|
-
deputado[:estado] = campos[2]
|
29
|
-
deputado[:mandato] = ''
|
30
|
-
deputado[:fones] = '(61) ' + campos[11] + ' | (61) ' + campos[12]
|
31
|
-
deputado[:email] = campos[15]
|
32
|
-
camara.push(deputado)
|
7
|
+
DEPUTADOS_URL = 'http://www.camara.gov.br/internet/deputado/deputado.xls'
|
8
|
+
SENADORES_URL = 'http://www25.senado.leg.br/web/senadores/em-exercicio/-/e/por-nome'
|
9
|
+
|
10
|
+
def self.deputados
|
11
|
+
deputados = Array.new
|
12
|
+
|
13
|
+
source = HTTParty.get(DEPUTADOS_URL)
|
14
|
+
|
15
|
+
tempfile = Tempfile.new('deputados.xls').tap do |f|
|
16
|
+
f.write(source)
|
33
17
|
end
|
34
|
-
|
35
|
-
|
18
|
+
|
19
|
+
spreadsheet = Roo::Excel.new(tempfile.path, file_warning: :ignore)
|
20
|
+
|
21
|
+
(2..spreadsheet.last_row).each do |i|
|
22
|
+
row = spreadsheet.row(i)
|
23
|
+
|
24
|
+
deputado = OpenStruct.new
|
25
|
+
deputado.tipo = 'deputado'
|
26
|
+
deputado.nome = row[0]
|
27
|
+
deputado.partido = row[1]
|
28
|
+
deputado.estado = row[2]
|
29
|
+
deputado.mandato = ''
|
30
|
+
deputado.fones = "(61) #{row[11]} | (61) #{row[12]}"
|
31
|
+
deputado.email = row[13]
|
32
|
+
|
33
|
+
deputados.push(deputado)
|
34
|
+
end
|
35
|
+
|
36
|
+
deputados
|
36
37
|
end
|
37
38
|
|
38
39
|
def self.senadores
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
senador
|
53
|
-
|
54
|
-
|
40
|
+
senadores = Array.new
|
41
|
+
|
42
|
+
doc = Nokogiri::HTML(open(SENADORES_URL))
|
43
|
+
rows = doc.xpath('//table[@id="senadoresemexercicio-tabela-senadores"]/tbody/tr')
|
44
|
+
|
45
|
+
rows.each do |row|
|
46
|
+
senador = OpenStruct.new
|
47
|
+
senador.tipo = 'senador'
|
48
|
+
senador.nome = row.at_xpath('td[1]/a/text()').to_s.strip
|
49
|
+
senador.partido = row.at_xpath('td[2]/text()').to_s.strip
|
50
|
+
senador.estado = row.at_xpath('td[3]/text()').to_s.strip
|
51
|
+
senador.mandato = row.at_xpath('td[4]/text()').to_s.strip
|
52
|
+
senador.fones = row.at_xpath('td[5]/text()').to_s.strip
|
53
|
+
senador.email = row.at_xpath('td[6]/text()').to_s.strip
|
54
|
+
|
55
|
+
senadores.push(senador)
|
56
|
+
end
|
57
|
+
|
58
|
+
senadores
|
55
59
|
end
|
56
|
-
|
60
|
+
|
57
61
|
def self.todos
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
end
|
63
|
-
x
|
62
|
+
all = deputados
|
63
|
+
all.push(*senadores)
|
64
|
+
|
65
|
+
all
|
64
66
|
end
|
65
|
-
|
66
67
|
end
|
metadata
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: politicosbr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Edvaldo Silva de Almeida Jr.
|
7
|
+
- Edvaldo Silva de Almeida Jr. (edvaldoajunior@gmail.com)
|
8
|
+
- Eduardo Becker (edu.bkr@gmail.com)
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|