govkit 0.6.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. data/.rspec +3 -0
  2. data/Gemfile +13 -0
  3. data/README.md +0 -5
  4. data/Rakefile +1 -1
  5. data/VERSION +1 -1
  6. data/generators/govkit/templates/govkit.rb +3 -0
  7. data/govkit.gemspec +41 -13
  8. data/lib/gov_kit/acts_as_noteworthy.rb +15 -9
  9. data/lib/gov_kit/configuration.rb +3 -1
  10. data/lib/gov_kit/open_congress/bill.rb +3 -5
  11. data/lib/gov_kit/open_congress/blog_post.rb +3 -7
  12. data/lib/gov_kit/open_congress/news_post.rb +3 -7
  13. data/lib/gov_kit/open_congress/person.rb +2 -4
  14. data/lib/gov_kit/open_congress/person_stat.rb +2 -7
  15. data/lib/gov_kit/open_congress/roll_call.rb +4 -6
  16. data/lib/gov_kit/open_congress/roll_call_comparison.rb +1 -4
  17. data/lib/gov_kit/open_congress/voting_comparison.rb +1 -3
  18. data/lib/gov_kit/open_congress.rb +8 -0
  19. data/lib/gov_kit/open_states.rb +63 -14
  20. data/lib/gov_kit/railtie.rb +4 -0
  21. data/lib/gov_kit/resource.rb +62 -12
  22. data/lib/gov_kit/search_engines/bing.rb +38 -0
  23. data/lib/gov_kit/search_engines/google_blog.rb +3 -2
  24. data/lib/gov_kit/search_engines/google_news.rb +26 -16
  25. data/lib/gov_kit/search_engines/technorati.rb +1 -0
  26. data/lib/gov_kit/search_engines/wikipedia.rb +1 -1
  27. data/lib/gov_kit/search_engines.rb +1 -0
  28. data/lib/gov_kit/transparency_data.rb +98 -0
  29. data/lib/gov_kit/vote_smart.rb +9 -2
  30. data/lib/gov_kit.rb +4 -2
  31. data/spec/fixtures/bing/news_search.response +1 -0
  32. data/spec/fixtures/bing/no_results.response +1 -0
  33. data/spec/fixtures/open_congress/person.response +8 -0
  34. data/spec/fixtures/open_states/401.response +8 -4
  35. data/spec/fixtures/open_states/404.response +9 -0
  36. data/spec/fixtures/open_states/committee_find.response +53 -0
  37. data/spec/fixtures/open_states/committee_query.response +190 -0
  38. data/spec/fixtures/search_engines/google_news.response +8 -0
  39. data/spec/fixtures/transparency_data/contributions.response +18 -0
  40. data/spec/fixtures/transparency_data/entities_search.response +7 -0
  41. data/spec/fixtures/transparency_data/entities_search_limit_0.response +7 -0
  42. data/spec/fixtures/transparency_data/entities_search_limit_1.response +7 -0
  43. data/spec/fixtures/transparency_data/grants_find_all.response +7 -0
  44. data/spec/fixtures/transparency_data/lobbyists_find_all.response +7 -0
  45. data/spec/follow_the_money_spec.rb +7 -3
  46. data/spec/open_congress_spec.rb +36 -0
  47. data/spec/open_states_spec.rb +98 -16
  48. data/spec/search_engines_spec.rb +44 -0
  49. data/spec/spec_helper.rb +2 -3
  50. data/spec/transparency_data_spec.rb +106 -0
  51. metadata +118 -32
  52. data/spec/spec.opts +0 -6
@@ -1,4 +1,24 @@
1
1
  module GovKit
2
+
3
+ # This is the parent class to the classes that wrap
4
+ # the data returned to govkit.
5
+ #
6
+ # The subclasses are responsible for fetching the data as json from
7
+ # different web services; Resource will then parse the json,
8
+ # converting returned fields to instance methods.
9
+ #
10
+ # Initialize a Resource with a hash of attributes, or an array of hashes.
11
+ # For each attribute, add a getter and setter to this instance.
12
+ # So if
13
+ # res = Resource.new { "aaa" => "111", "bbb" => "222", "ccc" => "333" }
14
+ # then
15
+ # res.aaa == "111"
16
+ # res.bbb == "222"
17
+ # res.ccc == "333"
18
+ #
19
+ # Includes HTTParty, which provides convenience methods like get().
20
+ #
21
+ # See http://rdoc.info/github/jnunemaker/httparty/master/HTTParty/ClassMethods
2
22
  class Resource
3
23
  include HTTParty
4
24
  format :json
@@ -17,19 +37,25 @@ module GovKit
17
37
  # on sync
18
38
  #
19
39
  def to_md5
20
- @md5 = Digest::MD5.hexdigest(@raw_response.body)
40
+ Digest::MD5.hexdigest(@raw_response.body)
21
41
  end
22
42
 
43
+ # Handles the basic responses we might get back from Net::HTTP.
44
+ # On success, returns a new Resource based on the response.
45
+ #
46
+ # On failure, throws an error.
47
+ #
48
+ # If a service returns something other than a 404 when an object is not found,
49
+ # you'll need to handle that in the subclass.
50
+ #
23
51
  def self.parse(response)
24
- # This method handles the basic responses we might get back from
25
- # Net::HTTP. But if a service returns something other than a 404 when an object is not found,
26
- # you'll need to handle that in the subclass.
27
- raise ResourceNotFound, "Resource not found" unless !response.blank?
28
52
 
29
53
  if response.class == HTTParty::Response
30
54
  case response.response
31
55
  when Net::HTTPNotFound
32
56
  raise ResourceNotFound, "404 Not Found"
57
+ when Net::HTTPGone
58
+ raise ResourceNotFound, "404 Not Found"
33
59
  when Net::HTTPUnauthorized
34
60
  raise NotAuthorized, "401 Not Authorized; have you set up your API key?"
35
61
  when Net::HTTPServerError
@@ -38,26 +64,38 @@ module GovKit
38
64
  raise ClientError, '4xx client error'
39
65
  end
40
66
  end
41
-
67
+
68
+ return [] unless !response.blank?
69
+
42
70
  instantiate(response)
43
71
  end
44
72
 
73
+ # Instantiate new GovKit::Resources.
74
+ #
75
+ # +record+ is a hash of values returned by a service,
76
+ # or an array of hashes.
77
+ #
78
+ # If +record+ is a hash, return a single GovKit::Resource.
79
+ # If it is an array, return an array of GovKit::Resources.
80
+ #
45
81
  def self.instantiate(record)
46
82
  if record.is_a?(Array)
47
83
  instantiate_collection(record)
48
84
  else
49
- instantiate_record(record)
85
+ new(record)
50
86
  end
51
87
  end
52
88
 
53
- def self.instantiate_record(record)
54
- new(record)
55
- end
56
-
57
89
  def self.instantiate_collection(collection)
58
- collection.collect! { |record| instantiate_record(record) }
90
+ collection.collect! { |record| new(record) }
59
91
  end
60
92
 
93
+ # Given a hash of attributes, assign it to the @attributes member,
94
+ # then for each attribute, create or set a pair of member accessors with the name
95
+ # of the attribute's key.
96
+ # If the value of the attribute is itself an array or a hash,
97
+ # then create a new class with the (singularized) key as a name, and with a parent class of Resource,
98
+ # and initialize it with the hash.
61
99
  def unload(attributes)
62
100
  raise ArgumentError, "expected an attributes Hash, got #{attributes.inspect}" unless attributes.is_a?(Hash)
63
101
 
@@ -84,10 +122,18 @@ module GovKit
84
122
  end
85
123
 
86
124
  private
125
+
126
+ # Finds a member of the GovKit module with the given name.
127
+ # If the resource doesn't exist, creates it.
128
+ #
87
129
  def resource_for_collection(name)
88
130
  find_or_create_resource_for(name.to_s.singularize)
89
131
  end
90
132
 
133
+ # Searches each module in +ancestors+ for members named +resource_name+
134
+ # Returns the named resource
135
+ # Throws a NameError if none of the resources in the list contains +resource_name+
136
+ #
91
137
  def find_resource_in_modules(resource_name, ancestors)
92
138
  if namespace = ancestors.detect { |a| a.constants.include?(resource_name.to_sym) }
93
139
  return namespace.const_get(resource_name)
@@ -96,6 +142,10 @@ module GovKit
96
142
  end
97
143
  end
98
144
 
145
+ # Searches the GovKit module for a resource with the name +name+, cleaned and camelized
146
+ # Returns that resource.
147
+ # If the resource isn't found, it's created.
148
+ #
99
149
  def find_or_create_resource_for(name)
100
150
  resource_name = name.to_s.gsub(/^[_\-+]/,'').gsub(/^(\-?\d)/, "n#{$1}").gsub(/(\s|-)/, '').camelize
101
151
  if self.class.parents.size > 1
@@ -0,0 +1,38 @@
1
+ module GovKit
2
+ module SearchEngines
3
+ class Bing
4
+ def self.search(query=[], options={})
5
+ host = GovKit::configuration.bing_base_url
6
+ query = [query, options[:geo]].compact.join('+')
7
+
8
+ options['Sources'] ||= 'news'
9
+
10
+ path = "/json.aspx?Query=#{URI::encode(query)}&AppId=#{GovKit::configuration.bing_appid}&Sources=#{options['Sources']}"
11
+
12
+ doc = JSON.parse(make_request(host, path))
13
+
14
+ mentions = []
15
+
16
+ if news_items = doc['SearchResponse']['News']
17
+ puts "#{news_items['Results'].size} from Bing"
18
+ news_items['Results'].each do |i|
19
+ mention = GovKit::Mention.new
20
+ mention.title = i['Title']
21
+ mention.search_source = 'Bing'
22
+ mention.date = DateTime.parse(i['Date'])
23
+ mention.excerpt = i['Snippet']
24
+ mention.source = i['Source']
25
+ mention.url = i['Url']
26
+
27
+ mentions << mention
28
+ end
29
+ end
30
+ mentions
31
+ end
32
+
33
+ def self.make_request(host, path)
34
+ Net::HTTP.get(host, path)
35
+ end
36
+ end
37
+ end
38
+ end
@@ -1,8 +1,8 @@
1
1
  module GovKit
2
2
  module SearchEngines
3
3
  class GoogleBlog
4
- def self.search(options=[])
5
- query = options.join('+')
4
+ def self.search(query=[], options = {})
5
+ query = [query, options[:geo]].compact.join('+')
6
6
  host = GovKit::configuration.google_blog_base_url
7
7
  path = "/blogsearch_feeds?q=#{URI::encode(query)}&hl=en&output=rss&num=50"
8
8
 
@@ -13,6 +13,7 @@ module GovKit
13
13
  doc.xpath('//item').each do |i|
14
14
  mention = GovKit::Mention.new
15
15
  mention.title = i.xpath('title').inner_text
16
+ mention.search_source = 'Google Blogs'
16
17
  mention.date = i.xpath('dc:date').inner_text
17
18
  mention.excerpt = i.xpath('description').inner_text
18
19
  mention.source = i.xpath('dc:publisher').inner_text
@@ -1,35 +1,45 @@
1
- require 'uri'
2
- require 'net/http'
3
-
4
1
  module GovKit
5
2
  module SearchEngines
3
+
4
+ # Class to wrap access to Google News.
6
5
  class GoogleNews
7
- def self.search(options=[])
8
- query = options.join('+')
6
+
7
+ # Fetches stories about a topic from google news.
8
+ # Returns an array of GovKit::Mention objects.
9
+ #
10
+ # query: The query wanted For example:
11
+ # mentions = GoogleNews.search("Nancy Pelosi")
12
+ #
13
+ # options: Any additional parameters to the search. eg.:
14
+ # :geo => 'Texas' will add &geo=Texas to the URL.
15
+ # :num => 100 will show 100 results per page.
16
+ #
17
+ def self.search(query=[], options={})
18
+ query = Array(query).join('+')
9
19
  host = GovKit::configuration.google_news_base_url
10
- path = "/news?hl=en&ned=us&q=#{URI::encode(query)}&btnG=Search+News&num=50"
20
+ options[:num] ||= 50
11
21
 
12
- doc = Nokogiri::HTML(make_request(host, path))
13
- stories = doc.search("div.search-results > div.story")
22
+ path = "/news?q=#{URI::encode(query)}&output=rss" + '&' + options.map { |k, v| URI::encode(k.to_s) + '=' + URI::encode(v.to_s) }.join('&')
23
+
24
+ doc = Nokogiri::XML(make_request(host, path))
14
25
 
15
26
  mentions = []
16
27
 
17
- stories.each do |story|
28
+ doc.xpath('//item').each do |i|
18
29
  mention = GovKit::Mention.new
19
-
20
- mention.title = story.at("h2.title a").text
21
- mention.url = story.at("h2.title a").attributes["href"].value
22
- mention.date = story.at("div.sub-title > span.date").text
23
- mention.source = story.at("div.sub-title > span.source").text
24
- mention.excerpt = story.at("div.body > div.snippet").text
30
+ mention.title = i.xpath('title').inner_text.split(" - ").first
31
+ mention.date = i.xpath('pubDate').inner_text
32
+ mention.excerpt = i.xpath('description').inner_text
33
+ mention.source = i.xpath('title').inner_text.split(" - ").last
34
+ mention.url = i.xpath('link').inner_text
25
35
 
26
36
  mentions << mention
27
37
  end
38
+
28
39
  mentions
29
40
  end
30
41
 
31
42
  def self.make_request(host, path)
32
- puts host+path
33
43
  response = Net::HTTP.get(host, path)
34
44
  end
35
45
  end
@@ -17,6 +17,7 @@ module GovKit
17
17
  # mention.excerpt = i.text("excerpt")
18
18
  # mention.date = i.text("created")
19
19
  # mention.source = i.text("weblog/name")
20
+ # mention.search_source = 'Technorati'
20
21
  # mention.url = i.text("weblog/url")
21
22
  # mention.weight = i.text("weblog/inboundlinks")
22
23
  #
@@ -4,7 +4,7 @@ module GovKit
4
4
  include HTTParty
5
5
  default_params :format => 'xml'
6
6
  base_uri GovKit::configuration.wikipedia_base_url
7
- headers 'User-Agent' => 'GovKit +http://ppolitics.org'
7
+ headers 'User-Agent' => 'GovKit +http://github.com/opengovernment/govkit'
8
8
 
9
9
  def self.search(query, options={})
10
10
  doc = Nokogiri::HTML(get("/wiki/#{query}"))
@@ -2,5 +2,6 @@ module GovKit::SearchEngines
2
2
  autoload :GoogleNews, 'gov_kit/search_engines/google_news'
3
3
  autoload :GoogleBlog, 'gov_kit/search_engines/google_blog'
4
4
  autoload :Technorati, 'gov_kit/search_engines/technorati'
5
+ autoload :Bing, 'gov_kit/search_engines/bing'
5
6
  autoload :Wikipedia, 'gov_kit/search_engines/wikipedia'
6
7
  end
@@ -1,24 +1,122 @@
1
1
  module GovKit
2
2
  class TransparencyDataResource < Resource
3
+
4
+ # default_params and base_uri are provided by HTTParty
3
5
  default_params :apikey => GovKit::configuration.sunlight_apikey
4
6
  base_uri GovKit::configuration.transparency_data_base_url
7
+
8
+ def self.search_for( path, ops={} )
9
+ response = get(path, :query => ops)
10
+ # puts "response.parsed_response: #{response.parsed_response.inspect}"
11
+ parse(response)
12
+ end
13
+
14
+ # For testing.
15
+ # Instantiate a GovKit::Resource object from sample data
16
+ # To get the sample data, use the text returned by "response.parsed_response" in self.search_for
17
+ def self.from_response response
18
+ parse response
19
+ end
20
+
5
21
  end
6
22
 
7
23
  module TransparencyData
24
+
25
+ # Represents contributions.
26
+ #
8
27
  # See http://transparencydata.com/api/contributions/
9
28
  # for complete query options.
29
+
10
30
  class Contribution < TransparencyDataResource
31
+ # Deprecated. Use search instead.
11
32
  def self.find(ops = {})
33
+ puts "GovKit::TransparencyData::Contribution.find is deprecated. Use Contribution.search instead."
12
34
  response = get('/contributions.json', :query => ops)
13
35
  parse(response)
14
36
  end
37
+
38
+ # Search for contribution records.
39
+ #
40
+ # Example query:
41
+ # contributions = GovKit::TransparencyData::Contribution.search( { 'contributor_state' => 'md', 'recipient_ft' => 'mikulski', 'cycle' => '2008', 'per_page' => '3' } )
42
+ def self.search(ops = {})
43
+ search_for('/contributions.json', ops)
44
+ end
15
45
  end
16
46
 
47
+ # Represents government contracts.
48
+ #
49
+ # See http://transparencydata.com/api/contracts/
50
+ # for complete query options.
51
+ #
52
+ class Contract < TransparencyDataResource
53
+ # Search for contract records.
54
+ #
55
+ # Example query:
56
+ # contracts = GovKit::TransparencyData::Contract.search( { :per_page => 2, :fiscal_year => 2008 } )
57
+ def self.search(ops = {})
58
+ search_for('/contracts.json', ops)
59
+ end
60
+ end
61
+
62
+ # Represents entities -- politicians, individuals, or organizations.
63
+ #
64
+ # See http://transparencydata.com/api/aggregates/contributions/
65
+ # for complete query options.
66
+
17
67
  class Entity < TransparencyDataResource
68
+ # Deprecated for consistency of naming. Use find(id) instead.
18
69
  def self.find_by_id(id)
70
+ puts "GovKit::TransparencyData::Entity.find_by_id is deprecated. Use Entity.find(id) instead."
19
71
  response = get("/entities/#{id}.json")
20
72
  parse(response)
21
73
  end
74
+
75
+ # Find an entity by id.
76
+ def self.find(id)
77
+ response = get("/entities/#{id}.json")
78
+ parse(response)
79
+ end
80
+
81
+ # Search for contract records.
82
+ #
83
+ # Example query:
84
+ # entities = GovKit::TransparencyData::Entity.search('nancy+pelosi')
85
+ def self.search(search_string = '')
86
+ search_for("/entities.json", { :search => search_string } )
87
+ end
88
+ end
89
+
90
+ # Represents lobbying activity.
91
+ #
92
+ # See http://transparencydata.com/api/lobbying/
93
+ # for complete query options.
94
+
95
+ class LobbyingRecord < TransparencyDataResource
96
+ # Search for lobbying records.
97
+ #
98
+ # Example query:
99
+ # lobbying_records = GovKit::TransparencyData::LobbyingRecord.search( { :per_page => 2 } )
100
+ def self.search(ops = {})
101
+ search_for('/lobbying.json', ops)
102
+ end
103
+ end
104
+
105
+ # Represents government grants.
106
+ #
107
+ # See http://transparencydata.com/api/grants/
108
+ # for complete query options.
109
+
110
+ class Grant < TransparencyDataResource
111
+
112
+ # Search for lobbying records.
113
+ #
114
+ # Example query:
115
+ # grants = GovKit::TransparencyData::Grant.search( { :per_page => 2, :recipient_type => '00' } )
116
+
117
+ def self.search(ops = {})
118
+ search_for('/grants.json', ops)
119
+ end
22
120
  end
23
121
 
24
122
  class Categories
@@ -79,7 +79,7 @@ module GovKit
79
79
  response = get('/Votes.getBillsByStateRecent', :query => {'stateId' => state_abbrev})
80
80
  parse(response['bills'])
81
81
  end
82
-
82
+
83
83
  def self.find_by_category_and_year_and_state(category_id, year, state_abbrev = nil)
84
84
  response = get('/Votes.getBillsByCategoryYearState', :query => {'stateId' => state_abbrev, 'year' => year, 'categoryId' => category_id})
85
85
  raise(ResourceNotFound, response['error']['errorMessage']) if response['error'] && response['error']['errorMessage'] == 'No bills for this state, category, and year.'
@@ -91,7 +91,14 @@ module GovKit
91
91
  find_by_category_and_year_and_state(category_id, year)
92
92
  end
93
93
  end
94
-
94
+
95
+ class BillAction < VoteSmartResource
96
+ def self.find(action_id)
97
+ response = get('/Votes.getBillAction', :query => {'actionId' => action_id})
98
+ parse(response['action'])
99
+ end
100
+ end
101
+
95
102
  class BillCategory < VoteSmartResource
96
103
  def self.find(year, state_abbrev)
97
104
  response = get("/Votes.getCategories", :query => {'year' => year, 'stateId' => state_abbrev})
data/lib/gov_kit.rb CHANGED
@@ -10,7 +10,7 @@ require 'json'
10
10
  require 'gov_kit/configuration'
11
11
  require 'csv'
12
12
 
13
- if VERSION[0,3] == "1.8"
13
+ if RUBY_VERSION[0,3] == "1.8"
14
14
  require 'fastercsv'
15
15
  end
16
16
 
@@ -24,8 +24,10 @@ module GovKit
24
24
  autoload :OpenCongress, 'gov_kit/open_congress'
25
25
  autoload :SearchEngines, 'gov_kit/search_engines'
26
26
 
27
+ # Convenience class to represent a news story or blog post.
28
+ # Used by GovKit::SearchEngines classes.
27
29
  class Mention
28
- attr_accessor :url, :excerpt, :title, :source, :date, :weight
30
+ attr_accessor :url, :excerpt, :title, :source, :date, :weight, :search_source
29
31
  end
30
32
 
31
33
  class GovKitError < StandardError
@@ -0,0 +1 @@
1
+ {"SearchResponse":{"Version":"2.2","Query":{"SearchTerms":"Wisconsin"},"News":{"Total":84900,"Offset":0,"Results":[{"Title":"Wisconsin Justice Says Court Fight Led to Choking","Url":"http:\/\/www.foxnews.com\/us\/2011\/06\/26\/wisconsin-justice-says-court-fight-led-to-choking\/'%20rel='nofollow","Source":"FOX News","Snippet":"June 6: Wisconsin Supreme Court Justices David T. Prosser, Jr. and Ann Walsh Bradley consider oral arguments during a hearing regarding the state's budget bill at the Wisconsin State Capitol. According to a report by Wisconsin Public Radio and the ...","Date":"2011-06-27T01:46:14Z","BreakingNews":0,"NewsCollections":[{"Name":"RelatedTextArticles","NewsArticles":[{"Title":"Law professor says infighting on partisan Wisconsin Supreme Court has made it 'laughingstock'","Url":"http:\/\/www.startribune.com\/nation\/124593598.html","Source":"Minneapolis Star Tribune","Snippet":"MADISON, Wis. - A Wisconsin law professor says bickering among the state's Supreme Court justices has made the court a \"laughingstock.\" His comments come after a liberal justice accused a conservative court member of choking her during an argument earlier ...","Date":"2011-06-27T18:06:55Z"},{"Title":"Wisconsin justice alleges tiff led to choking","Url":"http:\/\/www.journalgazette.net\/article\/20110627\/NEWS03\/306279926\/-1\/NEWS09","Source":"Fort Wayne Journal Gazette","Snippet":"MADISON, Wis. – A member of the Wisconsin Supreme Court’s liberal faction has accused a conservative justice of choking her during an argument in her office this month – a charge he denied. Supreme Court Justice Ann Walsh Bradley told the Milwaukee ...","Date":"2011-06-27T06:46:53Z"}]}]},{"Title":"Wisconsin Supreme Court sparring must end, Gov. Scott Walker says","Url":"http:\/\/www.greenbaypressgazette.com\/article\/20110627\/GPG0101\/110627047\/UW-law-professor-Supreme-Court-sparring-makes-laughingstock-?odyssey=tab|topnews|img|GPG-News","Source":"Green Bay Press-Gazette","Snippet":"MADISON — Wisconsin Gov. Scott Walker took the state Supreme Court justices to task Monday, saying their infighting has to end for the sake of public confidence in the court. His comments came after a liberal member of the court accused a conservative ...","Date":"2011-06-27T18:42:43Z","BreakingNews":0},{"Title":"Wisconsin governor signs 2-year budget","Url":"http:\/\/www.postbulletin.com\/news\/stories\/display.php?id=1458905","Source":"Post-Bulletin","Snippet":"ASHWAUBENON, Wis. -- Wisconsin Gov. Scott Walker signed a $66 billion, two-year budget Sunday that cuts about $1 billion from schools and local governments, expands government support for private schools, cuts taxes for investors and businesses, clamps ...","Date":"2011-06-27T14:25:01Z","BreakingNews":0,"NewsCollections":[{"Name":"RelatedTextArticles","NewsArticles":[{"Title":"Wisconsin governor signs balanced budget that cuts schools","Url":"http:\/\/www.macombdaily.com\/articles\/2011\/06\/26\/news\/politics\/doc4e080619b9d2b834478932.txt","Source":"Macomb Daily","Snippet":"ASHWAUBENON, Wis. — Gov. Scott Walker signed his first budget Sunday, approving a plan that plugs the state's $3 billion shortfall but slashes funding for public schools and the University of Wisconsin System. Walker, a Republican, signed the two-year $ ...","Date":"2011-06-27T04:23:43Z"},{"Title":"Gov. Walker signs Wisconsin budget bill, vetoes 50 items","Url":"http:\/\/www.twincities.com\/tablehome\/ci_18357939","Source":"Pioneer Press","Snippet":"ASHWAUBENON, Wis. - Gov. Scott Walker signed a $66 billion two-year budget Sunday that will cut about $1 billion from schools and local governments, expand taxpayer support for private voucher schools, cut taxes for investors and businesses, clamp down on ...","Date":"2011-06-26T22:40:07Z"}]}]},{"Title":"Wisconsin Rapids bans cell phone use while driving","Url":"http:\/\/www.thenorthwestern.com\/article\/20110625\/OSH0101\/306250061\/Wisconsin-Rapids-bans-cell-phone-use-while-driving?odyssey=mod|newswell|text|OSH-News|s","Source":"Oshkosh Northwestern","Snippet":"WISCONSIN RAPIDS — People driving in Wisconsin Rapids will soon no longer be able to use cell phones. The city council approved the ban Tuesday and the ordinance goes into effect Oct. 1. Hands-free devices will be allowed, and the ordinance will not ...","Date":"2011-06-25T08:58:06Z","BreakingNews":0,"NewsCollections":[{"Name":"RelatedTextArticles","NewsArticles":[{"Title":"Wisconsin Rapids City Council Approves Texting While Driving Ban","Url":"http:\/\/www.channel3000.com\/technology\/28333630\/detail.html","Source":"Channel 3000","Snippet":"WISCONSIN RAPIDS, Wis -- The Wisconsin Rapids City Council has approved an ordinance that would ban texting while driving. Hands-free devices will be allowed. The ordinance will not apply to police officers, firefighters, ambulance drivers and members of ...","Date":"2011-06-23T17:00:05Z"},{"Title":"Wisconsin Rapids bans cell phones while driving","Url":"http:\/\/www.fdlreporter.com\/article\/20110624\/FON0101\/106240403\/1985&located=rss","Source":"Fond du Lac Reporter","Snippet":"WISCONSIN RAPIDS — Motorists driving in Wisconsin Rapids soon will have to put their phones down or face a penalty. The Wisconsin Rapids City Council this week approved a citywide ban on using cell phones while driving, 5-3. The ordinance will go into ...","Date":"2011-06-24T09:20:46Z"}]}]},{"Title":"Wisconsin lands ex-North Carolina State QB Russell Wilson","Url":"http:\/\/www.detnews.com\/article\/20110627\/SPORTS0203\/106270396\/1409\/metro","Source":"Detroit News","Snippet":"Milwaukee — Former North Carolina State quarterback Russell Wilson is headed to Wisconsin, potentially solving one of the biggest trouble spots standing between the Badgers and a Big Ten title. Wisconsin coach Bret Bielema said Monday that Wilson will ...","Date":"2011-06-27T19:32:49Z","BreakingNews":0,"NewsCollections":[{"Name":"RelatedTextArticles","NewsArticles":[{"Title":"Tourists' Wilson Leaves Asheville to Pursue College Football at Wisconsin","Url":"http:\/\/www.oursportscentral.com\/services\/releases\/?id=4235251","Source":"OurSports Central","Snippet":"Second baseman Russell Wilson announced today that he will pursue his final year of eligibility at the Division I level of college football by leaving the Asheville Tourists and attending the University of Wisconsin. Wilson will not play with the Tourists ...","Date":"2011-06-27T19:25:40Z"},{"Title":"Russell Wilson leaves Asheville Tourists; commits to Wisconsin","Url":"http:\/\/www.citizen-times.com\/article\/20110627\/SPORTS\/110627020\/Russell-Wilson-leaves-Asheville-Tourists-commits-Wisconsin","Source":"Asheville Citizen-Times","Snippet":"ASHEVILLE — Asheville Tourists second baseman Russell Wilson has left the team and will play football at Wisconsin in the fall. The Tourists announced Monday morning that Wilson left the team. The former North Carolina State quarterback announced later ...","Date":"2011-06-27T18:35:33Z"}]}]},{"Title":"Wisconsin Gov. Walker doesn’t veto beer provision","Url":"http:\/\/www.bizjournals.com\/milwaukee\/news\/2011\/06\/27\/gov-walker-doesnt-veto-craft-brewing.html","Source":"The Business Journal","Snippet":"Wisconsin Gov. Scott Walker didn’t veto a controversial provision in the state budget that bans beer brewers from owning distributorships and taverns in the state. The budget signed June 26 by Walker contains a proposal that combines the brewer’s ...","Date":"2011-06-27T19:18:30Z","BreakingNews":0},{"Title":"Wisconsin on pace for strong tart-cherry season","Url":"http:\/\/www.wxow.com\/Global\/story.asp?S=14979638","Source":"WXOW TV-19","Snippet":"MADISON, Wis. (AP) - Wisconsin is expected to produce 8.7 million pounds of tart cherries this year. If that happens, it would mark a 53 percent increase over last year's harvest. State agriculture officials say the harvest looks so promising because most ...","Date":"2011-06-27T02:50:40Z","BreakingNews":0,"NewsCollections":[{"Name":"RelatedTextArticles","NewsArticles":[{"Title":"Tart-cherry boom expected for state","Url":"http:\/\/www.twincities.com\/wisconsin\/ci_18354379","Source":"Pioneer Press","Snippet":"Wisconsin is expected to produce 8.7 million pounds of tart cherries this year. If that happens, it would mark a 53 percent increase over last year's harvest. State agriculture officials say the harvest looks so promising because most Wisconsin cherry trees survived the winter with little or no"},{"Title":"State Cherry Production Expected to Rebound in 2011","Url":"http:\/\/www.wisconsinagconnection.com\/story-state.php?Id=770&yr=2011","Source":"Wisconsin Ag Connection","Snippet":"Wisconsin's tart cherry production is forecast to be at 8.7 million pounds this year--up significantly from last year when output was half that much after a cool spring and heavy rains limited early growth. State agriculture officials say most cherry trees in Wisconsin survived the winter with"}]}]},{"Title":"Wisconsin running back will play for Pitt this fall","Url":"http:\/\/www.pittsburghlive.com\/x\/pittsburghtrib\/sports\/s_744047.html","Source":"Pittsburgh Tribune-Review","Snippet":"Pitt running back Ray Graham may get a chance to take a breath, after all. Former Wisconsin running back Zach Brown informed the Pitt coaching staff that he will enroll in classes and join the Panthers football team next season. Because he graduated and ...","Date":"2011-06-27T03:55:05Z","BreakingNews":0,"NewsCollections":[{"Name":"RelatedTextArticles","NewsArticles":[{"Title":"Pitt adds RB transfer from Wisconsin","Url":"http:\/\/rivals.yahoo.com\/ncaa\/football\/news?slug=rivals-1235119","Source":"Collegebaseball.rivals.com","Snippet":"The Pitt football team continues to add scholarship players to the 2011 roster, and this weekend produced another. Running back Zach Brown confirmed with PantherLair.com that he is transferring to Pitt from Wisconsin. Brown (5’10” 219) will use his ...","Date":"2011-06-26T20:52:45Z"},{"Title":"Former Wisconsin running back to pay at Pitt","Url":"http:\/\/www.pittsburghlive.com\/x\/pittsburghtrib\/news\/breaking\/s_744034.html","Source":"Pittsburgh Tribune-Review","Snippet":"Pitt running back Ray Graham may get a chance to take a breath, after all. Former Wisconsin running back Zach Brown informed the Pitt coaching staff that he will enroll in classes and join the Panthers football team next season. Because he graduated and has played only three seasons, Brown will be"}]}]},{"Title":"Wisconsin's Mersch drafted by L.A. Kings","Url":"http:\/\/www.jsonline.com\/sports\/badgers\/124549999.html","Source":"Milwaukee Journal Sentinel","Snippet":"Wisconsin's Michael Mersch was selected in the fourth round of the NHL draft by the Los Angeles Kings. Mersch, a forward from Park Ridge, Ill., scored eight goals and had 11 assists in his first season with UW.","Date":"2011-06-26T03:27:38Z","BreakingNews":0,"NewsCollections":[{"Name":"RelatedTextArticles","NewsArticles":[{"Title":"Four Badgers picked in NHL Draft","Url":"http:\/\/www.dailycardinal.com\/sports\/four-badgers-picked-in-nhl-draft-1.2417681","Source":"Daily Cardinal","Snippet":"Four members of the Wisconsin men's hockey program were selected on the second day of the 2011 NHL Draft at the Xcel Energy Center in St. Paul, Minn. Three incoming freshman and one current player, sophomore forward Michael Mersch, heard their names called by NHL franchises on day two. Mersch was"},{"Title":"Four Badgers selected at NHL draft","Url":"http:\/\/www.uwbadgers.com\/sports\/m-hockey\/spec-rel\/062511aaa.html","Source":"UWBadgers.com","Snippet":"SELDEN, N.Y. -- One current and three incoming Badgers earned selection on Saturday at the 2011 NHL Entry Draft, which was held at Xcel Energy Center in St. Paul, Minn. Wisconsin's four selected student-athletes were split among the fourth and seventh rounds of the draft. Joseph LaBate went highest"}]}]},{"Title":"Wisconsin Timber Rattlers pitcher Del Howell can't keep hot starts going","Url":"http:\/\/www.postcrescent.com\/article\/20110627\/APC020602\/106270504\/Howell-trying-not-hit-wall?odyssey=tab|topnews|img|APC-Sports","Source":"Post-Crescent","Snippet":"GRAND CHUTE — Sunday's Midwest League baseball game against the Quad Cities River Bandits started well for Wisconsin Timber Rattlers pitcher Del Howell. No runs, two walks and a single was all the River Bandits got in the first three innings in what ...","Date":"2011-06-27T08:48:35Z","BreakingNews":0,"NewsCollections":[{"Name":"RelatedTextArticles","NewsArticles":[{"Title":"WISCONSIN WALKS OFF","Url":"http:\/\/web.minorleaguebaseball.com\/app\/news\/article.jsp?ymd=20110624&content_id=20966844&vkey=news_t565&fext=.jsp&sid=t565","Source":"MiLB.com","Snippet":"Carlos Martinez pitched his sixth consecutive quality start, allowing just one run on three hits in six innings of work. Martinez struck out seven batters and issued just two free passes, but the Bandits lost late as they allowed two runs to Wisconsin in ...","Date":"2011-06-25T03:14:31Z"},{"Title":"River Bandits score five in 10th to beat Rattlers","Url":"http:\/\/www.postcrescent.com\/article\/20110626\/APC02\/110626046\/River-Bandits-score-five-10th-beat-Rattlers?odyssey=tab|topnews|img|FRONTPAGE|p","Source":"Post-Crescent","Snippet":"GRAND CHUTE - Quad Cities scored five times in the top of the 10th inning to beat the Wisconsin Timber Rattlers 8-3 in a Midwest League game Sunday at Time Warner Cable Field at Fox Cities Stadium. The Timber Rattlers scored twice in the bottom of the ninth inning on home runs by TJ Mittelstaedt and"}]}]}]}}}
@@ -0,0 +1 @@
1
+ {"SearchResponse":{"Version":"2.2","Query":{"SearchTerms":"sfjhsdfkjhsdf kjsdf kjhsdfjkhsdf"}}}
@@ -0,0 +1,8 @@
1
+ HTTP/1.1 200 OK
2
+ Server: nginx/0.6.35
3
+ Date: Tue, 15 Jun 2010 21:50:08 GMT
4
+ Content-Type: application/json; charset=utf-8
5
+ Connection: close
6
+ Vary: Authorization
7
+
8
+ {"people":[{"osid":"N00013846","name":"Rep. Jeff Miller [R, FL-1]","abstains_percentage":0.284900284900285,"person_stat":{"entered_top_viewed":"2007-02-27T10:57:23Z","party_votes_percentage":91.5714285714286,"votes_most_often_with_id":400175,"abstains_percentage":[0.284900284900285,0.284900284900285],"entered_top_blog":null,"sponsored_bills_passed_rank":50,"abstains_percentage_rank":209,"cosponsored_bills_passed_rank":170,"votes_least_often_with_id":400237,"party_votes_percentage_rank":243,"abstains":2,"sponsored_bills":9,"cosponsored_bills":124,"person_id":400279,"cosponsored_bills_rank":140,"same_party_votes_least_often_with_id":400209,"sponsored_bills_passed":0,"entered_top_news":"2007-08-31T09:49:48Z","sponsored_bills_rank":373,"cosponsored_bills_passed":1,"opposing_party_votes_most_often_with_id":400645},"votes_democratic_position":120,"recent_news":[{"average_rating":null,"commentariable_id":400279,"created_at":"2011-06-21T02:59:08Z","title":"Lawsuit Challenges Army Corps&#39; Program to Cut Trees From Levees","contains_term":"representative","excerpt":" \u201cThe Corps adopted a new standard requiring removal of all vegetation from levees without environmental review, consideration of regional differences or scientific support,\u201d said Jeff Miller with the Center for Biological Diversity. ... ","url":"http://www.biologicaldiversity.org/news/press_releases/2011/california-levees-06-20-2011.html","weight":null,"source_url":null,"date":"2011-06-20T05:00:00Z","id":11011907,"type":"Commentary","scraped_from":"google news","is_news":true,"source":"Center for Biological Diversity (press release)","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-06-21T02:59:08Z","title":"Letter: Suicide among veterans is an epidemic","contains_term":"rep\\.","excerpt":" Recently, I spoke with Rep. Jeff Miller, R-Chumuckla, chairman of the House Committee on Veterans Affairs, regarding this epidemic. The Veterans Administration is working diligently to address the problem. However, I believe it will take a village. ... ","url":"http://www.tcpalm.com/news/2011/jun/20/letter-suicide-among-veterans-is-an-epidemic/","weight":null,"source_url":null,"date":"2011-06-20T05:00:00Z","id":11011906,"type":"Commentary","scraped_from":"google news","is_news":true,"source":"TCPalm","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-06-21T02:59:07Z","title":"Educator honored for work with pregnant teenagers","contains_term":"representative","excerpt":" US Rep Jeff Miller, R-Chumuckla, also offered accolades to Barrow on her retirement. Miller&#39;s district representative, Helen Hunt Rigdon, who is a member of the Healthy Woman Advisory Council, presented Barrow with a certificate of achievement. ... ","url":"http://www.crestviewbulletin.com/news/okaloosa-14526-district-school.html","weight":null,"source_url":null,"date":"2011-06-20T05:00:00Z","id":11011905,"type":"Commentary","scraped_from":"google news","is_news":true,"source":"Crestview News Bulletin","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-06-21T02:59:07Z","title":"Student visa program: New rules, same problems","contains_term":"rep\\.","excerpt":" The Thai students complained to US Rep. Jeff Miller, R-Fla., saying they were afraid of a third-party labor broker, Ivan Lukin, who arranged for their housing and jobs. They said Lukin threatened them with deportation when they complained, ... ","url":"http://www.google.com/hostednews/ap/article/ALeqM5gLZ9n3eKjceRZHuupRqXMPab3VmQ?docId=a9f51d9a10ef4b69bc51bfc73e36fae6","weight":null,"source_url":null,"date":"2011-06-20T05:00:00Z","id":11011904,"type":"Commentary","scraped_from":"google news","is_news":true,"source":"The Associated Press","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-06-21T02:59:07Z","title":"A tribute to courage and sacrifice","contains_term":"congress","excerpt":" By Jeff Miller In what was surely a solemn occasion, an estimated 1000 friends, family and even strangers gathered at the Cohocton Sports Complex Saturday to honor and mourn their fallen hero. Sgt. Devin Snyder, 20, was laid to rest June 18, ... ","url":"http://www.dansvilleonline.com/news/x898075902/A-tribute-to-courage-and-sacrifice","weight":null,"source_url":null,"date":"2011-06-20T05:00:00Z","id":11011903,"type":"Commentary","scraped_from":"google news","is_news":true,"source":"Dansville-Genesee Country Express (blog)","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-06-20T03:02:44Z","title":"Riverside County supervisors: Donations won&#39;t impact quarry vote","contains_term":"senate","excerpt":" ... Mayor Marsha Swanson ($200); Corona Councilmen Eugene Montanez ($198) and Steve Nolan ($500) and Riverside Mayor Ron Loveridge ($125). Other local recipients are Assemblymen Kevin Jeffries, R-Lake Elsinore, ($2000) and Jeff Miller, R-Corona, ($1000). ","url":"http://www.pe.com/localnews/stories/PE_News_Local_D_campaign19.3dbdb33.html","weight":null,"source_url":null,"date":"2011-06-19T05:00:00Z","id":11009999,"type":"Commentary","scraped_from":"google news","is_news":true,"source":"Press-Enterprise","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-06-20T03:02:43Z","title":"Dohner tosses no-hitter Lions fall in Wood Bat classic","contains_term":"republican","excerpt":" Showcase players include: Jeff Miller, Fleetwood; Jared Degler and Matt Bensinger, Hamburg; Andrew Gernert and Dustin Smith, Kutztown; Cole Weachock and Ryan King, Minersville; Jordan Jeter and AJ Pizzo, Muhlenberg; Austin Hornberger, Zachary Weist and ..","url":"http://republicanherald.com/sports/dohner-tosses-no-hitter-lions-fall-in-wood-bat-classic-1.1164063","weight":null,"source_url":null,"date":"2011-06-19T05:00:00Z","id":11009998,"type":"Commentary","scraped_from":"google news","is_news":true,"source":"Republican &amp; Herald","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-06-20T03:02:37Z","title":"New law targets head injuries","contains_term":"rep\\.","excerpt":" Jeff Miller, senior vice president of government affairs for the National Football League, which has sponsored this bill and others like it across the country, said that the key part of the North Carolina bill is protecting students and coaches by ... ","url":"http://www2.journalnow.com/news/2011/jun/19/1/wsmet01-new-law-targets-head-injuries-ar-1133932/","weight":null,"source_url":null,"date":"2011-06-19T05:00:00Z","id":11009997,"type":"Commentary","scraped_from":"google news","is_news":true,"source":"Winston-Salem Journal","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-06-20T03:02:35Z","title":"Weak in Review","contains_term":"congress","excerpt":" RivCo Supe John Tavaglione and Corona Assemblyman Jeff Miller are GOP candidates for Congress in a new (tentative) district that ropes in Riverside, MoVal and Norco. The citizen commish that drew these congressional boundaries killed the Calvert Cobra, ..","url":"http://www.pe.com/columns/danbernstein/stories/PE_News_Local_D_dan19.3dc0656.html","weight":null,"source_url":null,"date":"2011-06-19T05:00:00Z","id":11009996,"type":"Commentary","scraped_from":"google news","is_news":true,"source":"Press-Enterprise","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-06-19T03:01:14Z","title":"Lynn Visits World War I American Cemetery in France","contains_term":"congress","excerpt":"...in Belleau Wood honoring the U.S. Marines who fought there as part of the U.S. 2nd Division. \tTwo members of Congress \u2013 U.S. Rep. Jeff Miller of Florida and U.S. Rep. Devin Nunes of California \u2013 also were on hand for the visit, which included a stop","url":"http://www.defense.gov//news/newsarticle.aspx?id=64371","weight":null,"source_url":"http://www.defenselink.mil/","date":"2011-06-18T05:00:00Z","id":11007951,"type":"Commentary","scraped_from":"daylife","is_news":true,"source":"U.S. Department of Defense","status":"OK","is_ok":true,"commentariable_type":"Person"}],"with_party_percentage":91.5714285714286,"title":"Rep.","votes_republican_position":641,"youtube_id":"RepJeffMiller","nickname":null,"district":"1","url":null,"middlename":null,"watchdog_id":null,"recent_blogs":[{"average_rating":null,"commentariable_id":400279,"created_at":"2011-06-02T15:45:29Z","title":"The Scottcarp Dream: My Memorial Day","contains_term":"congress","excerpt":"I sat in stunned silence yesterday as I watched two incompetent boobs in Congress (Rep. Jeff Miller-R, and Rep. Filner-D) patting each other on the back for letting a few more veterans through the door to review their ...","url":"http://thescottcarpdream.blogspot.com/2011/06/my-memorial-day.html","weight":null,"source_url":"http://thescottcarpdream.blogspot.com/","date":"2011-06-01T05:00:00Z","id":10964742,"type":"Commentary","scraped_from":"google blog","is_news":false,"source":"Scott","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-06-02T15:45:29Z","title":"One Old Vet \u00bb American Veteran News 06.02.11","contains_term":"rep\\.","excerpt":"Rep. Jeff Miller, R-Fla., announced an ambitious goal Wednesday of finding jobs for 400000 veterans within two years, the Military Times reported. The move would reduce the unemployment rate for vets from 7.7 percent to ...","url":"http://oneoldvet.com/?p=29224","weight":null,"source_url":"http://oneoldvet.com/","date":"2011-06-01T05:00:00Z","id":10964741,"type":"Commentary","scraped_from":"google blog","is_news":false,"source":"One Old Vet","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-06-02T02:55:36Z","title":"Jewish Ledger | Serving Connecticut&#39;s Jewish Communities \u00bb New ...","contains_term":"rep\\.","excerpt":"Charles Schumer, both of New York, and Rep. Jeff Miller of Florida, introduced those resolutions. The memorial must now be approved by the U.S. Commission of Fine Arts. JWB Jewish Chaplains Council hopes to dedicate the ...","url":"http://www.jewishledger.com/2011/06/new-d-c-memorial-to-include-w-hartford-native/","weight":null,"source_url":"http://www.jewishledger.com/","date":"2011-06-01T05:00:00Z","id":10962361,"type":"Commentary","scraped_from":"google blog","is_news":false,"source":"CindyMindell","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-06-01T15:50:04Z","title":"Advertising Sales Representative in Phoenix AZ Resume Jeff Miller ...","contains_term":"representative","excerpt":"advertising sales representative in phoenix az resume jeff miller. Jeff Miller has an extensive record of initiative and leadership resulting in measurable contributions to business profitability, efficiency, ... - ","url":"http://bineh.com/advertising-sales-representative-in-phoenix-az-resume-jeff-miller","weight":null,"source_url":"http://bineh.com/","date":"2011-06-01T05:00:00Z","id":10961040,"type":"Commentary","scraped_from":"google blog","is_news":false,"source":"admin","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-06-01T02:48:56Z","title":"Goia Blog Spot: Honor and Remember","contains_term":"rep\\.","excerpt":"Rep. Jeff Miller is the chairman of the House Committee on Veterans&#39; Affairs. Source: http://www.nationalreview.com/articles/268334/honor-and-remember-rep-jeff-miller &middot; Carl Levin Carolyn B. Maloney Carolyn McCarthy ...","url":"http://goiarichmond.blogspot.com/2011/05/honor-and-remember.html","weight":null,"source_url":"http://goiarichmond.blogspot.com/","date":"2011-05-31T05:00:00Z","id":10957624,"type":"Commentary","scraped_from":"google blog","is_news":false,"source":"goiarichmond","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-05-30T15:43:23Z","title":"Has your congressman committed to supporting House bill HCR40 ...","contains_term":"congress","excerpt":"Rep. Marcy Kaptur [D-OH] Rep. Steven LaTourette [R-OH] Rep. Frank Lucas [R-OK] Rep. Kenny Marchant [R-TX] Rep. James Marshall [D-GA] Rep. Thaddeus McCotter [R-MI] Rep. Gary Miller [R-CA] Rep. Jeff Miller [R-FL] Rep. ...","url":"http://jonesnewyork.info/2011/05/has-your-congressman-committed-to-supporting-house-bill-hcr40-north-american-union.html","weight":null,"source_url":"http://jonesnewyork.info/","date":"2011-05-30T05:00:00Z","id":10952792,"type":"Commentary","scraped_from":"google blog","is_news":false,"source":"hooveredwards","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-05-28T02:54:26Z","title":"GA) | The MBL Market News","contains_term":"rep\\.","excerpt":"U.S. Rep. Jeff Miller (FL-01), the chairman of the House Committee on Veterans&#39; Affairs, introduced an identical resolution in the House. H.Con.Res.45 also passed unanimously in that chamber. ...","url":"http://mblmarket.com/wordpress/2011/05/ga-12/","weight":null,"source_url":"http://mblmarket.com/wordpress/","date":"2011-05-27T05:00:00Z","id":10932597,"type":"Commentary","scraped_from":"google blog","is_news":false,"source":"admin","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-05-27T15:45:37Z","title":"US Congress Approves Jewish Chaplains Memorial at Arlington | New ...","contains_term":"congress","excerpt":"... Jewish War Chaplains than the passage of this resolution during Jewish American Heritage Month, and a week before Memorial Day,\u201d Congressman Jeff Miller, chairman of the House Committee on Veterans&#39; Affairs, said. ...","url":"http://nmen.org/us-congress-approves-jewish-chaplains-memorial-at-arlington/","weight":null,"source_url":"http://nmen.org/","date":"2011-05-27T05:00:00Z","id":10930986,"type":"Commentary","scraped_from":"google blog","is_news":false,"source":"admin","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-05-29T03:11:42Z","title":"LexisNexis News - Latest News from over 4000 sources, including ...","contains_term":"rep\\.","excerpt":"U.S. Rep. Jeff Miller (FL-01), the chairman of the House Committee on Veterans&#39; Affairs, introduced an identical resolution in the House. H.Con.Res.45 also passed unanimously in that chamber. May 26, 2011 ...","url":"http://www6.lexisnexis.com/publisher/EndUser?Action=UserDisplayFullDocument&orgId=574&topicId=100007188&docId=l:1425163709&start=4","weight":null,"source_url":"http://www6.lexisnexis.com/publisher/EndUser?Action=UserDisplayCiteList&orgId=574&topicId=100007188&isRss=true","date":"2011-05-26T05:00:00Z","id":10938680,"type":"Commentary","scraped_from":"google blog","is_news":false,"source":"http://www6.lexisnexis.com/publisher/EndUser?Action=UserDisplayCiteList&amp;orgId=574&amp;topicId=100007188&amp;isRss=true","status":"OK","is_ok":true,"commentariable_type":"Person"},{"average_rating":null,"commentariable_id":400279,"created_at":"2011-05-29T03:11:42Z","title":"Indiana Student Veterans \u00bb Rep Stutzman Introduces Restoring GI ...","contains_term":"legislation","excerpt":"The Truman Project is launching a new initiative this summer... Rep Stutzman Introduces Restoring GI Bill Fairness Act of 2011. WASHINGTON, DC\u2013Chairman Jeff Miller (FL-01) of the House C.. ...","url":"http://www.indianastudentveterans.org/2011/05/rep-stutzman-introduces-restoring-gi-bill-fairness-act-of-2011/","weight":null,"source_url":"http://www.indianastudentveterans.org/","date":"2011-05-26T05:00:00Z","id":10938679,"type":"Commentary","scraped_from":"google blog","is_news":false,"source":"Russell Silver, Indiana Student Veterans","status":"OK","is_ok":true,"commentariable_type":"Person"}],"oc_users_tracking":143,"contact_webform":"http://jeffmiller.house.gov/index.cfm?FuseAction=Contact.Home","lastname":"Miller","id":400279,"gender":"M","metavid_id":"Jeff_Miller","user_approval":4.83333333333333,"page_views_count":15734,"congress_office":"2416 Rayburn House Office Building","bioguideid":"M001144","total_session_votes":700,"website":"http://jeffmiller.house.gov/","phone":"202-225-4136","firstname":"Jeff","fax":"202-225-3414","birthday":"1959-06-27","sunlight_nickname":null,"oc_user_comments":5,"religion":"Methodist","party":"Republican","news_article_count":2646,"blog_article_count":5483,"unaccented_name":"Jeff Miller","state":"FL","email":null,"biography":null}]}
@@ -1,6 +1,10 @@
1
1
  HTTP/1.1 401 UNAUTHORIZED
2
- Server: nginx/0.6.35
3
- Date: Tue, 15 Jun 2010 22:34:56 GMT
4
- Content-Type: text/plain
2
+ Server: nginx/0.9.6
3
+ Date: Thu, 21 Apr 2011 22:02:36 GMT
4
+ Content-Type: text/html; charset=utf-8
5
+ Transfer-Encoding: chunked
5
6
  Connection: close
6
- Vary: Authorization
7
+ Vary: Authorization
8
+
9
+ Authorization Required:
10
+ obtain a key at http://services.sunlightlabs.com/accounts/register/
@@ -0,0 +1,9 @@
1
+ HTTP/1.1 404 NOT FOUND
2
+ Server: nginx/0.9.6
3
+ Date: Thu, 21 Apr 2011 21:34:05 GMT
4
+ Content-Type: text/html; charset=utf-8
5
+ Transfer-Encoding: chunked
6
+ Connection: close
7
+
8
+ 404 not found
9
+
@@ -0,0 +1,53 @@
1
+ HTTP/1.1 200 OK
2
+ Server: nginx/1.0.0
3
+ Date: Fri, 29 Apr 2011 21:05:59 GMT
4
+ Content-Type: application/json; charset=utf-8
5
+ Connection: keep-alive
6
+ Authorization:
7
+
8
+ {
9
+ "members": [
10
+ {
11
+ "leg_id": "MDL000194",
12
+ "role": "member",
13
+ "name": "Joan Carter Conway"
14
+ },
15
+ {
16
+ "leg_id": "MDL000226",
17
+ "role": "member",
18
+ "name": "Paul G. Pinsky"
19
+ },
20
+ {
21
+ "leg_id": "MDL000379",
22
+ "role": "member",
23
+ "name": "Bill Ferguson"
24
+ },
25
+ {
26
+ "leg_id": "MDL000381",
27
+ "role": "member",
28
+ "name": "J. B. Jennings"
29
+ },
30
+ {
31
+ "leg_id": "MDL000384",
32
+ "role": "member",
33
+ "name": "Karen S. Montgomery"
34
+ },
35
+ {
36
+ "leg_id": "MDL000387",
37
+ "role": "member",
38
+ "name": "Ronald N. Young"
39
+ }
40
+ ],
41
+ "updated_at": "2011-04-29 01:19:52",
42
+ "parent_id": "MDC000009",
43
+ "state": "md",
44
+ "sources": [
45
+ {
46
+ "url": "http://www.msa.md.gov/msa/mdmanual/05sen/html/com/02eco.html"
47
+ }
48
+ ],
49
+ "subcommittee": "ENVIRONMENT SUBCOMMITTEE",
50
+ "committee": "EDUCATION, HEALTH & ENVIRONMENTAL AFFAIRS COMMITTEE",
51
+ "chamber": "upper",
52
+ "id": "MDC000012"
53
+ }