reddit_media_checker 0.0.1

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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 8d1f46deb90f6d522fa2326ed422abd542873505
4
+ data.tar.gz: 7e2bdc8d94699e46e63648d10465e42f901ed033
5
+ SHA512:
6
+ metadata.gz: 12bcebc2ab30ba2c67641141d7fcb68285492cedb6ed9e5e3e163ed734df532a8cb362cfe25acbc03dcd4639903302954607f4192e5f121150f40bac9bfa4c04
7
+ data.tar.gz: 22ea5ef89269d4ec6c4eb38fd44a328f9fe768084881807d61924f44af06a580df6454d12757b5c4db8c4c10ce4747a960846084859bc44bf54486161403f486
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'reddit_media_checker'
4
+
5
+ RedditMediaChecker.new(ARGV[0], ARGV[1].to_i)
@@ -0,0 +1,50 @@
1
+ require 'uri'
2
+ require 'net/http'
3
+ require 'json'
4
+
5
+ class RedditMediaChecker
6
+
7
+ def initialize(url, pages)
8
+ if !url.end_with?(".json")
9
+ url = url + ".json"
10
+ end
11
+ if pages <= 0
12
+ puts "Must be given an integer number of pages greater than zero."
13
+ else
14
+ @url = url
15
+ @pages = pages
16
+ getJson(@url)
17
+ end
18
+ end
19
+
20
+ def getJson(url)
21
+ uri = URI.parse(url)
22
+ request = Net::HTTP::Get.new(uri)
23
+ response = Net::HTTP.new(uri.hostname, uri.port()).start { |http|
24
+ http.request(request)
25
+ }
26
+
27
+ if(response.is_a? Net::HTTPSuccess)
28
+ @pages-=1
29
+ parseJson(response.body)
30
+ else
31
+ puts "Connection Failed!"
32
+ end
33
+ end
34
+
35
+ def parseJson(redditJson)
36
+ parsed = JSON.parse(redditJson)
37
+ links = parsed["data"]["children"]
38
+
39
+ for link in links
40
+ data = link["data"]
41
+ if data["media"] != nil
42
+ puts data["domain"] + " -> " + data["permalink"]
43
+ end
44
+ end
45
+
46
+ if @pages > 0 && parsed["data"]["after"] != nil
47
+ getJson(@url + "?after=" + parsed["data"]["after"])
48
+ end
49
+ end
50
+ end
metadata ADDED
@@ -0,0 +1,48 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: reddit_media_checker
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Kenneth Baldauf
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-08-31 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: This gem fetches a list of domains and permalinks from a certain number
14
+ of pages of a Reddit feed that contain a valid media field.
15
+ email:
16
+ executables:
17
+ - reddit_media_checker
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - lib/reddit_media_checker.rb
22
+ - bin/reddit_media_checker
23
+ homepage: https://github.com/kbaldauf/RedditMediaChecker
24
+ licenses:
25
+ - Apache v2.0
26
+ metadata: {}
27
+ post_install_message:
28
+ rdoc_options: []
29
+ require_paths:
30
+ - lib
31
+ required_ruby_version: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - '>='
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ required_rubygems_version: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ requirements: []
42
+ rubyforge_project:
43
+ rubygems_version: 2.0.14
44
+ signing_key:
45
+ specification_version: 4
46
+ summary: Fetch list of Reddit links which contain a media.
47
+ test_files: []
48
+ has_rdoc: