fetcher 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 930c43d21e2b74f6d413e59aef2cbdff621d9c54
4
- data.tar.gz: abeb5fc3593a9f13beaba961d1fcc8c30a0cd0d3
3
+ metadata.gz: ef1b964e3b4a79b13b008147f894244610851bb9
4
+ data.tar.gz: 84815891771fe636ecf09891451dca80bb4fd83f
5
5
  SHA512:
6
- metadata.gz: 6ceebb4318870c02805cdf52c53ae8b9ff35c0adb004638adc0082a954662ea05201390888aaaeac3e8b60efb05cb0f1de08308087a87606f5a93fce1f5f8652
7
- data.tar.gz: e3100ec244e84a23798c38b895ce5017d99582462d064f07b198e18b88cd695c8ff6752834e02275be4a6ad6404ae00e198112411557107eddc9202f2c9dc35a
6
+ metadata.gz: 01df88051ef004d00c25e9dcbdb1fb363737f1862106af02c4f74ad6712894960eb47c152853be0a29689c41aa47db7ebb57b00ef9154ff8564e92dafb4d213e
7
+ data.tar.gz: 13a9c6a495483b07a0fc4b693cec8cc205aa7de48333f95884535d4ac2ab61cd3e4d5e85b4b24c41f477fcee3a971d125381bae36d872b319d12a18dfb240d3c
data/Manifest.txt CHANGED
@@ -4,5 +4,7 @@ README.markdown
4
4
  Rakefile
5
5
  bin/fetch
6
6
  lib/fetcher.rb
7
- lib/fetcher/runner.rb
7
+ lib/fetcher/cli/opts.rb
8
+ lib/fetcher/cli/runner.rb
9
+ lib/fetcher/version.rb
8
10
  lib/fetcher/worker.rb
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
1
  require 'hoe'
2
- require './lib/fetcher.rb'
2
+ require './lib/fetcher/version.rb'
3
3
 
4
4
  Hoe.spec 'fetcher' do
5
5
 
data/bin/fetch CHANGED
@@ -9,7 +9,7 @@
9
9
  #
10
10
  # Set the executable bit in Linux. Example:
11
11
  #
12
- # % chmod a+x bin/markdown
12
+ # % chmod a+x bin/fetch
13
13
  #
14
14
 
15
15
  require 'fetcher'
data/lib/fetcher.rb CHANGED
@@ -1,7 +1,8 @@
1
+ # encoding: utf-8
2
+
1
3
  ###
2
4
  # NB: for local testing run like:
3
5
  #
4
- # 1.8.x: ruby -Ilib -rrubygems lib/fetcher.rb
5
6
  # 1.9.x: ruby -Ilib lib/fetcher.rb
6
7
 
7
8
  # core and stlibs
@@ -9,7 +10,6 @@
9
10
  require 'yaml'
10
11
  require 'pp'
11
12
  require 'logger'
12
- require 'optparse'
13
13
  require 'fileutils'
14
14
  require 'uri'
15
15
  require 'net/http'
@@ -25,20 +25,22 @@ require 'logutils'
25
25
 
26
26
  # our own code
27
27
 
28
- require 'fetcher/runner'
28
+ require 'fetcher/version'
29
29
  require 'fetcher/worker'
30
30
 
31
31
 
32
32
  module Fetcher
33
33
 
34
- VERSION = '0.2.0'
35
-
36
34
  # version string for generator meta tag (includes ruby version)
37
35
  def self.banner
38
- "Fetcher #{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
36
+ "fetcher #{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
39
37
  end
40
38
 
41
39
  def self.main
40
+
41
+ ## NB: only load (require) cli code if called
42
+
43
+ require 'fetcher/cli/runner'
42
44
 
43
45
  # allow env variable to set RUBYOPT-style default command line options
44
46
  # e.g. -o site
@@ -64,4 +66,9 @@ module Fetcher
64
66
  end # module Fetcher
65
67
 
66
68
 
67
- Fetcher.main if __FILE__ == $0
69
+ if __FILE__ == $0
70
+ Fetcher.main
71
+ else
72
+ # say hello
73
+ puts Fetcher.banner
74
+ end
@@ -0,0 +1,20 @@
1
+
2
+ module Fetcher
3
+
4
+ class Opts
5
+
6
+ def initialize
7
+ @output_path = ''
8
+ end
9
+
10
+ def output_path=( value )
11
+ @output_path = value
12
+ end
13
+
14
+ def output_path
15
+ @output_path
16
+ end
17
+
18
+ end # class Opts
19
+
20
+ end # module Fetcher
@@ -1,42 +1,36 @@
1
+ # encoding: utf-8
1
2
 
2
- module Fetcher
3
3
 
4
- class Opts
5
-
6
- def initialize
7
- @hash = {}
8
- end
9
-
10
- def put( key, value )
11
- @hash[ key.to_s ] = value
12
- end
13
-
14
- def output_path
15
- @hash.fetch( 'output', '.' )
16
- end
4
+ # more core and stlibs
5
+
6
+ require 'optparse'
17
7
 
18
- end # class Opts
8
+ # our own code (for command line interface/cli)
19
9
 
10
+ require 'fetcher/cli/opts'
11
+
12
+
13
+ module Fetcher
20
14
 
21
15
  class Runner
22
16
 
23
17
  include LogUtils::Logging
24
-
18
+
25
19
  attr_reader :opts
26
-
20
+
27
21
  def initialize
28
- @opts = Opts.new
22
+ @opts = Opts.new
29
23
  end
30
24
 
31
25
  def run( args )
32
26
  opt=OptionParser.new do |cmd|
33
-
27
+
34
28
  cmd.banner = "Usage: fetch [options] uri"
35
-
36
- cmd.on( '-o', '--output PATH', 'Output Path' ) { |s| opts.put( 'output', s ) }
29
+
30
+ cmd.on( '-o', '--output PATH', "Output Path (default is '#{opts.output_path}')" ) { |s| opts.output_path = s }
37
31
 
38
32
  # todo: find different letter for debug trace switch (use v for version?)
39
- cmd.on( "-v", "--verbose", "Show debug trace" ) do
33
+ cmd.on( '-v', '--verbose', 'Show debug trace' ) do
40
34
  # todo/fix: use/change to logutils settings for level
41
35
  # logger.datetime_format = "%H:%H:%S"
42
36
  # logger.level = Logger::DEBUG
@@ -57,7 +51,7 @@ Further information:
57
51
 
58
52
  EOS
59
53
 
60
- cmd.on_tail( "-h", "--help", "Show this message" ) do
54
+ cmd.on_tail( '-h', '--help', 'Show this message' ) do
61
55
  puts usage
62
56
  exit
63
57
  end
@@ -0,0 +1,7 @@
1
+
2
+ module Fetcher
3
+
4
+ VERSION = '0.3.0'
5
+
6
+ end # module Fetcher
7
+
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  module Fetcher
2
4
 
3
5
  class Worker
@@ -85,7 +87,7 @@ module Fetcher
85
87
 
86
88
  logger.debug "GET #{uri.request_uri} uri=#{uri}, redirect_limit=#{redirect_limit}"
87
89
 
88
- request = Net::HTTP::Get.new( uri.request_uri, { 'User-Agent'=> 'slideshow'} )
90
+ request = Net::HTTP::Get.new( uri.request_uri, { 'User-Agent' => "fetcher gem v#{VERSION}" } )
89
91
  if uri.instance_of? URI::HTTPS
90
92
  http.use_ssl = true
91
93
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fetcher
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-26 00:00:00.000000000 Z
11
+ date: 2013-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logutils
@@ -66,7 +66,9 @@ files:
66
66
  - Rakefile
67
67
  - bin/fetch
68
68
  - lib/fetcher.rb
69
- - lib/fetcher/runner.rb
69
+ - lib/fetcher/cli/opts.rb
70
+ - lib/fetcher/cli/runner.rb
71
+ - lib/fetcher/version.rb
70
72
  - lib/fetcher/worker.rb
71
73
  homepage: https://github.com/geraldb/fetcher
72
74
  licenses: