reddit_image_downloader 0.0.1 → 0.1.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.
- data/CHANGELOG.md +10 -0
- data/README.md +9 -0
- data/bin/reddit_image_downloader +7 -3
- data/lib/reddit_image_downloader/option_parser.rb +30 -10
- data/lib/reddit_image_downloader/version.rb +1 -1
- metadata +3 -2
data/CHANGELOG.md
ADDED
data/README.md
CHANGED
@@ -72,6 +72,15 @@ the help message:
|
|
72
72
|
|
73
73
|
$ reddit_image_downloader -h
|
74
74
|
|
75
|
+
## Automation
|
76
|
+
|
77
|
+
If you're using this to maintain a library of images for use as wallpapers, you
|
78
|
+
probably don't want to have to run the command every day to get the freshest
|
79
|
+
images. If you're on OS X, I wrote a `launchd` plist which can run the command
|
80
|
+
every few hours.
|
81
|
+
|
82
|
+
https://gist.github.com/bloudermilk/6943858
|
83
|
+
|
75
84
|
## Contributing
|
76
85
|
|
77
86
|
1. Fork it
|
data/bin/reddit_image_downloader
CHANGED
@@ -2,6 +2,10 @@
|
|
2
2
|
|
3
3
|
require "reddit_image_downloader"
|
4
4
|
|
5
|
-
RedditImageDownloader::
|
6
|
-
|
7
|
-
|
5
|
+
parser = RedditImageDownloader::OptionParser.parse!(ARGV)
|
6
|
+
|
7
|
+
case parser.options[:subcommand]
|
8
|
+
when :help then puts parser.docs
|
9
|
+
when :version then puts RedditImageDownloader::VERSION
|
10
|
+
when :download then RedditImageDownloader::Processor.process!(parser.options)
|
11
|
+
end
|
@@ -1,15 +1,15 @@
|
|
1
1
|
module RedditImageDownloader
|
2
|
-
|
2
|
+
class OptionParser
|
3
3
|
PAGES = %W[top new controversial]
|
4
4
|
|
5
5
|
DEFAULT_OPTIONS = {
|
6
|
-
show_help: false,
|
7
6
|
subreddits: [],
|
8
7
|
min_width: 0,
|
9
8
|
min_height: 0,
|
10
9
|
destination: Dir.pwd,
|
11
10
|
max_age: nil,
|
12
11
|
page: :top,
|
12
|
+
subcommand: :download,
|
13
13
|
}
|
14
14
|
|
15
15
|
BANNER = "Usage: reddit_image_downloader [options]"
|
@@ -32,13 +32,33 @@ module RedditImageDownloader
|
|
32
32
|
DAYS_FORMATS = %W[-a --max-age=DAYS]
|
33
33
|
DAYS_DESC = "Purge files in destination folder older than DAYS days"
|
34
34
|
|
35
|
+
VERSION_FORMATS = %W[-v --version]
|
36
|
+
VERSION_DESC = "Print the version of reddit_image_downloader"
|
37
|
+
|
35
38
|
HELP_FORMATS = %W[-h --help]
|
36
39
|
HELP_DESC = "Show this message"
|
37
40
|
|
38
|
-
|
39
|
-
|
41
|
+
attr_accessor :options, :args
|
42
|
+
|
43
|
+
def self.parse!(*args)
|
44
|
+
new(*args).tap(&:parse!)
|
45
|
+
end
|
46
|
+
|
47
|
+
def initialize(args)
|
48
|
+
@args = args
|
49
|
+
@options = DEFAULT_OPTIONS.dup
|
50
|
+
end
|
51
|
+
|
52
|
+
def parse!
|
53
|
+
parser.parse!(args)
|
54
|
+
end
|
40
55
|
|
41
|
-
|
56
|
+
def docs
|
57
|
+
parser.to_s
|
58
|
+
end
|
59
|
+
|
60
|
+
def parser
|
61
|
+
@parser ||= ::OptionParser.new do |parser|
|
42
62
|
parser.banner = BANNER
|
43
63
|
|
44
64
|
parser.on(*SUBREDDIT_FORMATS, Array, SUBREDDIT_DESC) do |subreddits|
|
@@ -65,14 +85,14 @@ module RedditImageDownloader
|
|
65
85
|
options[:max_age] = days
|
66
86
|
end
|
67
87
|
|
88
|
+
parser.on_tail(*VERSION_FORMATS, VERSION_DESC) do
|
89
|
+
options[:subcommand] = :version
|
90
|
+
end
|
91
|
+
|
68
92
|
parser.on_tail(*HELP_FORMATS, HELP_DESC) do
|
69
|
-
options[:
|
93
|
+
options[:subcommand] = :help
|
70
94
|
end
|
71
95
|
end
|
72
|
-
|
73
|
-
parser.parse!(args)
|
74
|
-
|
75
|
-
options
|
76
96
|
end
|
77
97
|
end
|
78
98
|
end
|
metadata
CHANGED
@@ -2,14 +2,14 @@
|
|
2
2
|
name: reddit_image_downloader
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0
|
5
|
+
version: 0.1.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Brendan Loudermilk
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-10-
|
12
|
+
date: 2013-10-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
prerelease: false
|
@@ -116,6 +116,7 @@ extensions: []
|
|
116
116
|
extra_rdoc_files: []
|
117
117
|
files:
|
118
118
|
- .gitignore
|
119
|
+
- CHANGELOG.md
|
119
120
|
- Gemfile
|
120
121
|
- LICENSE.txt
|
121
122
|
- README.md
|