tumblrer 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 +7 -0
- data/bin/tumblrer +5 -0
- data/lib/tumblrer.rb +52 -0
- metadata +126 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 23923caafe09cb1672c26cbf2912639ad0018f2a
|
4
|
+
data.tar.gz: '08ad8e438a120835b01959b3bb623ca5986ec4a8'
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8c9b6b950ca48a5b93d3d269f29347935e8faf78510f790b8d66d9953241a51199a8ed07313ba45c16d2c6b8a15fec74369c10631948f6d67cc6e3932b55e929
|
7
|
+
data.tar.gz: 9e2380c0fd6b14c0346cc89557f813b380a8aed295188597db28815f98d016afde13ce1537818cb3784d08d33687ef6b09d1392ff8f562ff0078f2f829d1b99b
|
data/bin/tumblrer
ADDED
data/lib/tumblrer.rb
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'open-uri'
|
2
|
+
require 'nokogiri'
|
3
|
+
require 'mechanize'
|
4
|
+
|
5
|
+
class Tumblrer
|
6
|
+
def initialize(url = nil, number_of_images = nil, start_index = nil)
|
7
|
+
@url = url
|
8
|
+
@number_of_images = number_of_images || 10
|
9
|
+
@start_index = start_index || 0
|
10
|
+
@successfulls = 0
|
11
|
+
@fails = 0
|
12
|
+
@already_exists = 0
|
13
|
+
@mechanize = Mechanize.new
|
14
|
+
end
|
15
|
+
|
16
|
+
def download
|
17
|
+
unless @url.nil?
|
18
|
+
puts "download from: #{@url}"
|
19
|
+
puts "going to download #{@number_of_images} of image(s) and starting from (#{@start_index}) index of image"
|
20
|
+
puts "---------- downloading ----------"
|
21
|
+
url = "#{@url}/api/read?type=photo&num=#{@number_of_images}&start=#{@start_index}"
|
22
|
+
xml = Nokogiri::XML.parse(open(url))
|
23
|
+
images = (xml/'post photo-url').select{|post| post.content if post['max-width'].to_i == 1280}.map{|image| image.content}
|
24
|
+
pwd = FileUtils.pwd
|
25
|
+
images.each do |image|
|
26
|
+
unless File.exists?("#{pwd}/#{image.to_s.split("/").last}")
|
27
|
+
begin
|
28
|
+
@mechanize.get(image).save
|
29
|
+
puts "file saved to current directory :) - #{image}"
|
30
|
+
@successfulls += 1
|
31
|
+
rescue
|
32
|
+
puts "failed to save file to current directory :( - #{image}"
|
33
|
+
@fails += 1
|
34
|
+
end
|
35
|
+
else
|
36
|
+
puts "file already exists :( - #{image}"
|
37
|
+
@already_exists += 1
|
38
|
+
end
|
39
|
+
end
|
40
|
+
statistics
|
41
|
+
else
|
42
|
+
puts "you should give some tumblr url :( \n usage: tumblrer http://hebe.tumblr.com"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def statistics
|
47
|
+
puts "---------- statistics ----------"
|
48
|
+
puts "total number of downloaded images: #{@successfulls}"
|
49
|
+
puts "total number of failed images: #{@fails}"
|
50
|
+
puts "total number of already exist images: #{@already_exists}"
|
51
|
+
end
|
52
|
+
end
|
metadata
ADDED
@@ -0,0 +1,126 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tumblrer
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Burak KIYAK
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-07-18 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: nokogiri
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.8'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.8.0
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.8'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.8.0
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: mechanize
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '2.7'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 2.7.5
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '2.7'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 2.7.5
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: nokogiri
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '1.8'
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 1.8.0
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '1.8'
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 1.8.0
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: mechanize
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - "~>"
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '2.7'
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 2.7.5
|
83
|
+
type: :development
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2.7'
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 2.7.5
|
93
|
+
description: tumblrer gem allows you to download images from tumblr blogs
|
94
|
+
email: brkkyk@gmail.com
|
95
|
+
executables:
|
96
|
+
- tumblrer
|
97
|
+
extensions: []
|
98
|
+
extra_rdoc_files: []
|
99
|
+
files:
|
100
|
+
- bin/tumblrer
|
101
|
+
- lib/tumblrer.rb
|
102
|
+
homepage: http://rubygems.org/gems/tumblrer
|
103
|
+
licenses:
|
104
|
+
- MIT
|
105
|
+
metadata: {}
|
106
|
+
post_install_message:
|
107
|
+
rdoc_options: []
|
108
|
+
require_paths:
|
109
|
+
- lib
|
110
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
111
|
+
requirements:
|
112
|
+
- - ">="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: '0'
|
115
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - ">="
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '0'
|
120
|
+
requirements: []
|
121
|
+
rubyforge_project:
|
122
|
+
rubygems_version: 2.6.8
|
123
|
+
signing_key:
|
124
|
+
specification_version: 4
|
125
|
+
summary: tumblrer
|
126
|
+
test_files: []
|