nokaya 0.0.7 → 0.0.8

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8c1c8545782a4967ed49ae24e36af26da579d3f2
4
- data.tar.gz: b9e882f85dfa3d2d5a04c79473b7028e6241660b
3
+ metadata.gz: 9f31b2704253ab50e0843244c13b03c6c0610a20
4
+ data.tar.gz: 5813f6bf4336a993604b8bcdb3e3ae7d1b0ed173
5
5
  SHA512:
6
- metadata.gz: f7e0c47f94bd19ab9eed7a04e84b732ae4e8118bcf6e47ff385f68164efcd67549d0c17f2d874ad78338a84e5bd017073b116ba0cb3df80f6d7b2a8fe9464d61
7
- data.tar.gz: d22521d67712ecc3e6d178f01662c9306a591e1ea4aea36d8836f409325e74b8954c14f178431fa4dd057487fe931bc2de57f2233f9750daa49f79e327e1f4c6
6
+ metadata.gz: 993d92e4409efc6f832109092737213023ae367a4fc5c969de362c8db2101bf70a3828ea29119149118f9623e1479eb0cf59abfb95106271ede1805e64f5e0af
7
+ data.tar.gz: 7d64dac6459b889d3e2dbeeda91f9466dd00b3ccc2a6a4e9768490bb14e16cba5c506ce0c01ffdc0b26cfb9a0cac7d29bd86df34f4bd9c5fb286aaa451a0a1ca
@@ -1,3 +1,7 @@
1
+ # 0.0.8
2
+
3
+ - Option: specify an output path
4
+
1
5
  # 0.0.7
2
6
 
3
7
  - Download each album in a unique folder
data/README.md CHANGED
@@ -127,3 +127,29 @@ Example:
127
127
  `nokaya adn https://photos.app.net/30055986/1`
128
128
 
129
129
  `nokaya adn https://photos.app.net/30055986/1 -n random`
130
+
131
+ ## Options
132
+
133
+ ### Name
134
+
135
+ `--name` or `-n`
136
+
137
+ Specify a name (without extension).
138
+
139
+ `nokaya -i http://instagram.com/p/noANAfjJ7B/ -n happy_dog`
140
+
141
+ ### Output
142
+
143
+ `--output` or `-o`
144
+
145
+ Specify an output path.
146
+
147
+ `nokaya -i http://instagram.com/p/noANAfjJ7B/ -o ~/Pics`
148
+
149
+ The picture(s) will be downloaded in '~/Downloads' if no output specified.
150
+
151
+ ### Both
152
+
153
+ Specify both.
154
+
155
+ `nokaya -i http://instagram.com/p/noANAfjJ7B/ -o ~/Pics -n happy_dog`
@@ -9,6 +9,7 @@ module Nokaya
9
9
  desc "instagram", "Get the original picture from an Instagram page (nokaya -i url)"
10
10
  map "-i" => :instagram
11
11
  option :name, aliases: "-n", type: :string, desc: "Specify a file name without extension"
12
+ option :output, aliases: "-o", type: :string, desc: "Specify an output path"
12
13
  def instagram *args
13
14
  check_args args
14
15
  nokaya = Getter.new options, :instagram, args
@@ -17,6 +18,7 @@ module Nokaya
17
18
 
18
19
  desc "favd", 'Get the picture from a Favd page (nokaya favd url)'
19
20
  option :name, aliases: "-n", type: :string, desc: "Specify a file name without extension"
21
+ option :output, aliases: "-o", type: :string, desc: "Specify an output path"
20
22
  def favd *args
21
23
  check_args args
22
24
  nokaya = Getter.new options, :favd, args
@@ -27,6 +29,7 @@ module Nokaya
27
29
 
28
30
  desc "adn", "Get the picture from a photos.app.net page (nokaya adn url)"
29
31
  option :name, aliases: "-n", type: :string, desc: "Specify a file name without extension"
32
+ option :output, aliases: "-o", type: :string, desc: "Specify an output path"
30
33
  def adn *args
31
34
  check_args args
32
35
  nokaya = Getter.new options, :adn, args
@@ -36,6 +39,7 @@ module Nokaya
36
39
  desc "tumblr", "Get the picture from a Tumblr post (nokaya -tu url)"
37
40
  map "-tu" => :tumblr
38
41
  option :name, aliases: "-n", type: :string, desc: "Specify a file name without extension"
42
+ option :output, aliases: "-o", type: :string, desc: "Specify an output path"
39
43
  def tumblr *args
40
44
  check_args args
41
45
  nokaya = Getter.new options, :tumblr, args
@@ -44,6 +48,7 @@ module Nokaya
44
48
 
45
49
  desc "tumblr_album", "Get all pictures from a Tumblr page (nokaya -tal url)"
46
50
  map "-tal" => :tumblr_album
51
+ option :output, aliases: "-o", type: :string, desc: "Specify an output path"
47
52
  def tumblr_album *args
48
53
  check_args args
49
54
  nokaya = Getter.new options, :tumblr_album, args
@@ -54,6 +59,7 @@ module Nokaya
54
59
 
55
60
  desc "imgur_album", "Get all pictures from an Imgur album (nokaya -ial url)"
56
61
  map "-ial" => :imgur_album
62
+ option :output, aliases: "-o", type: :string, desc: "Specify an output path"
57
63
  def imgur_album *args
58
64
  check_args args
59
65
  nokaya = Getter.new options, :imgur_album, args
@@ -64,6 +70,7 @@ module Nokaya
64
70
 
65
71
  desc "flickr_album", "Get all pictures from a Flickr album (nokaya -fal url)"
66
72
  map "-fal" => :flickr_album
73
+ option :output, aliases: "-o", type: :string, desc: "Specify an output path"
67
74
  def flickr_album *args
68
75
  check_args args
69
76
  nokaya = Getter.new options, :flickr_album, args
@@ -74,6 +81,7 @@ module Nokaya
74
81
 
75
82
  desc "photonet", "Get all pictures from a Photo.net page (nokaya -pnet url)"
76
83
  map "-pnet" => :photonet
84
+ option :output, aliases: "-o", type: :string, desc: "Specify an output path"
77
85
  def photonet *args
78
86
  check_args args
79
87
  nokaya = Getter.new options, :photonet, args
@@ -84,6 +92,7 @@ module Nokaya
84
92
 
85
93
  desc "deviantart", "Get all pictures from a Deviantart gallery (nokaya -dart url)"
86
94
  map "-dart" => :deviantart
95
+ option :output, aliases: "-o", type: :string, desc: "Specify an output path"
87
96
  def deviantart *args
88
97
  check_args args
89
98
  nokaya = Getter.new options, :deviantart, args
@@ -94,6 +103,7 @@ module Nokaya
94
103
 
95
104
  desc "imageshack_user", "Get all pictures from an Imageshack user gallery (nokaya -ishu url)"
96
105
  map "-ishu" => :imageshack_user
106
+ option :output, aliases: "-o", type: :string, desc: "Specify an output path"
97
107
  def imageshack_user *args
98
108
  check_args args
99
109
  nokaya = Getter.new({name: "#{args[0].split("/").last}"}, :imageshack_user, args)
@@ -1,33 +1,42 @@
1
1
  # encoding: utf-8
2
2
  module Nokaya
3
3
  class Getter
4
+
4
5
  def initialize *args
5
6
  @args = OpenStruct.new options: args[0], type: args[1], url: args[2][0]
6
7
  end
8
+
7
9
  def args
8
10
  @args.inspect
9
11
  end
12
+
10
13
  def options
11
14
  @args.options
12
15
  end
16
+
13
17
  def type
14
18
  @args.type
15
19
  end
20
+
16
21
  def url
17
22
  @args.url
18
23
  end
24
+
19
25
  def get_basic page
20
26
  page.xpath("//meta[@property='og:image']/@content").first
21
27
  end
28
+
22
29
  def get_favd page
23
30
  page.css('#largeImage')[0]['src']
24
31
  end
32
+
25
33
  def get_deviantart page
26
34
  refs = page.css('a.thumb')
27
35
  links = []
28
36
  refs.each {|li| links << li['data-super-img']}
29
37
  links
30
38
  end
39
+
31
40
  def get_imageshack_user page
32
41
  refs = page.css('a.hero-wrapper')
33
42
  temp = []
@@ -42,12 +51,14 @@ module Nokaya
42
51
  end
43
52
  links
44
53
  end
54
+
45
55
  def get_imgur_album page
46
56
  refs = page.css('#imagelist .posts .post a')
47
57
  links = []
48
58
  refs.each {|l| links << "http:#{l['href']}"}
49
59
  links
50
60
  end
61
+
51
62
  def get_tumblr_album page
52
63
  queries = ['img.photo', '.post .photo a img', '.entry img', 'article img', '.image img', '.item_content img', 'img.post-image', '.box img', '#allposts img', '.media img', '.wide img', '.big img', '.large img', '.gallery img', '.photos img', '.content img', 'img']
53
64
  queries.each do |query|
@@ -64,12 +75,14 @@ module Nokaya
64
75
  end
65
76
  links
66
77
  end
78
+
67
79
  def get_flickr_album page
68
80
  refs = page.css('.pc_img')
69
81
  links = []
70
82
  refs.each {|l| links << l['data-defer-src']}
71
83
  links
72
84
  end
85
+
73
86
  def get_photonet_album page
74
87
  refs = page.css '.trp-top a'
75
88
  links = []
@@ -78,8 +91,10 @@ module Nokaya
78
91
  end
79
92
  links
80
93
  end
94
+
81
95
  def parse_page
82
96
  Nokogiri::HTML(open @args.url)
83
97
  end
98
+
84
99
  end
85
100
  end
@@ -1,19 +1,23 @@
1
1
  # encoding: utf-8
2
2
  module Nokaya
3
3
  class Image
4
+
4
5
  def self.photo_name nokaya
5
- unless nokaya.options[:name]
6
- Dir.home + "/Downloads/#{nokaya.type.to_s}-#{Time.now.to_i}.jpg"
6
+ path = self.out nokaya
7
+ if nokaya.options[:name]
8
+ "#{path}/#{nokaya.type.to_s}-#{nokaya.options[:name]}.jpg"
7
9
  else
8
- Dir.home + "/Downloads/#{nokaya.type.to_s}-#{nokaya.options[:name]}.jpg"
10
+ "#{path}/#{nokaya.type.to_s}-#{Time.now.to_i}.jpg"
9
11
  end
10
12
  end
13
+
11
14
  def self.save_image path, link
12
15
  content = self.get_image link
13
16
  f = File.new(path, "wb")
14
17
  f.puts(content)
15
18
  f.close
16
19
  end
20
+
17
21
  def self.get_image img_link
18
22
  begin
19
23
  open(img_link).read
@@ -21,5 +25,16 @@ module Nokaya
21
25
  abort Status.no_can_do
22
26
  end
23
27
  end
28
+
29
+ private
30
+
31
+ def self.out nokaya
32
+ if nokaya.options[:output]
33
+ nokaya.options[:output]
34
+ else
35
+ Dir.home + "/Downloads"
36
+ end
37
+ end
38
+
24
39
  end
25
40
  end
@@ -1,3 +1,3 @@
1
1
  module Nokaya
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nokaya
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Dejonckheere
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-09 00:00:00.000000000 Z
11
+ date: 2014-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor