politicosbr 1.0.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/politicosbr.rb +39 -28
  3. metadata +28 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3ebb0caa2c3a6be1a4fc696cf616b1aee0667e8a
4
- data.tar.gz: a92962b9f86982cf95880751b2990495b4224949
3
+ metadata.gz: 2bf05f180be927c062d4d7518232ed786bc2ff28
4
+ data.tar.gz: 9d71b969354cdd480407f1e25cad958678f085d3
5
5
  SHA512:
6
- metadata.gz: 20b2a713efd9985bf4e1a8747b27e2e2585ce68d52b3a3debd2f5d215e4b20e6b8089bc3b48b63866aa4206bb5cec859769895f7101014262d44f8272151d521
7
- data.tar.gz: 8d7ec16377ddbe97118b943765b035eb6efde53e59f91e87a6b33eac6cb786f10961baff527b1079958801d25e324608ed48bf7921c033fb4c0b0352fa65e4c5
6
+ metadata.gz: 073c04f0f2929b5f841dada77679b94365d0d2cb67514bf70c78717578d7630710e36bffb5062b6ffa9507d8dc0067754787e4a9d7a77294375de2565bfea1ab
7
+ data.tar.gz: ae187c5ce3c51ab055a4b46eb48609b2e5f32416c1fe89bbeeafee1289ee3754f08272508dc614c8a4b04e0e0ea1fdd2589de02e4bb027222d1a46b0a86d6214
data/lib/politicosbr.rb CHANGED
@@ -1,46 +1,57 @@
1
- require 'http'
1
+ require 'open-uri'
2
+ require 'nokogiri'
3
+ require 'httparty'
2
4
  require 'roo-xls'
3
5
 
4
- class PoliticosBR
6
+ module PoliticosBR
5
7
 
6
8
  def self.deputados
7
- ssheet = HTTP.get('http://www.camara.gov.br/internet/deputado/deputado.xls')
9
+ keys = [ :nome, :partido, :estado, :mandato, :fones, :email ]
10
+ camara = Array.new
11
+ ssheet = HTTParty.get('http://www.camara.gov.br/internet/deputado/deputado.xls')
8
12
  planilha = ssheet.to_s
9
- planilha.force_encoding("UTF-8")
10
- arq = File.open("deputados.xls","w")
13
+ planilha.force_encoding('UTF-8')
14
+ arq = File.open('deputados.xls','w')
11
15
  arq.write(planilha)
12
16
  arq.close
13
- file_basename = File.basename("deputados.xls", ".xls")
14
- xls = Roo::Excel.new("deputados.xls")
17
+ file_basename = File.basename('deputados.xls', '.xls')
18
+ xls = Roo::Excel.new('deputados.xls')
15
19
  xls.to_csv("#{file_basename}.csv")
16
20
  x = Array.new
17
21
  File.readlines("#{file_basename}.csv").each do |linha|
18
- campos = linha.split(",")
19
- campos.each do |campo|
20
- if campo.index("@")
21
- p1 = campo.slice(1,campo.length)
22
- p2 = p1.slice(0,p1.length-1)
23
- x.push(p2)
24
- end
25
- end
22
+ campos = linha.split(',')
23
+ campos.each_index { |i|
24
+ campos[i] = campos[i].delete '"'
25
+ }
26
+ deputado = Hash.new
27
+ deputado[:nome] = campos[0]
28
+ deputado[:partido] = campos[1]
29
+ deputado[:estado] = campos[2]
30
+ deputado[:mandato] = ''
31
+ deputado[:fones] = '(61) ' + campos[11] + ' | (61) ' + campos[12]
32
+ deputado[:email] = campos[15]
33
+ camara.push(deputado)
26
34
  end
27
- x
35
+ camara
28
36
  end
29
37
 
30
38
  def self.senadores
31
- page_content = HTTP.get('http://www25.senado.leg.br/web/senadores/em-exercicio')
32
- spc = page_content.to_s
33
- spc.force_encoding("UTF-8")
34
- lista1 = spc.split
35
- x = Array.new
36
- lista1.each do |p|
37
- if p.index("@")
38
- p1 = p.slice(4,p.length)
39
- p2 = p1.slice(0,p1.length-5)
40
- x.push(p2)
39
+ keys = [ :nome, :partido, :estado, :mandato, :fones, :email ]
40
+ senado = Array.new
41
+ senador = Hash.new
42
+ doc = Nokogiri::HTML(open('http://www25.senado.leg.br/web/senadores/em-exercicio/-/e/por-nome'))
43
+ tds = doc.xpath('//td').to_a
44
+ tds.each_index{ |i|
45
+ rem = i % 6
46
+ if (rem == 0) then
47
+ if (!senador.empty?) then
48
+ senado.push(senador)
49
+ end
50
+ senador = Hash.new
41
51
  end
42
- end
43
- x
52
+ senador[keys[rem]] = tds[i].content
53
+ }
54
+ senado
44
55
  end
45
56
 
46
57
  def self.todos
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: politicosbr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edvaldo Silva de Almeida Jr.
@@ -11,25 +11,45 @@ cert_chain: []
11
11
  date: 2015-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: http
14
+ name: nokogiri
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.9'
19
+ version: '1.6'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 0.9.8
22
+ version: 1.6.6.2
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '0.9'
29
+ version: '1.6'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 0.9.8
32
+ version: 1.6.6.2
33
+ - !ruby/object:Gem::Dependency
34
+ name: httparty
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.13'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 0.13.7
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '0.13'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 0.13.7
33
53
  - !ruby/object:Gem::Dependency
34
54
  name: roo-xls
35
55
  requirement: !ruby/object:Gem::Requirement
@@ -50,7 +70,7 @@ dependencies:
50
70
  - - ">="
51
71
  - !ruby/object:Gem::Version
52
72
  version: 1.0.0
53
- description: Uma gem para obter listas atualizadas de e-mails de deputados federais
73
+ description: Uma gem para obter listas atualizadas com os dados de deputados federais
54
74
  e senadores brasileiros.
55
75
  email: edvaldoajunior@gmail.com
56
76
  executables:
@@ -81,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
101
  version: '0'
82
102
  requirements: []
83
103
  rubyforge_project:
84
- rubygems_version: 2.4.8
104
+ rubygems_version: 2.5.1
85
105
  signing_key:
86
106
  specification_version: 4
87
107
  summary: PoliticosBR