rest-ftp-daemon 1.0.2 → 1.0.3

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: 600fd270b56ee28655dc53f4d26ea36a981ce12d
4
- data.tar.gz: 0cfdedcc42952c16ea033e9bef0038b9c2d7e512
3
+ metadata.gz: db11803efd6d48d4e7aff83543e9ff091e7a4d61
4
+ data.tar.gz: 1460828d4e7b088ac1324b89f6b72e128dc310f8
5
5
  SHA512:
6
- metadata.gz: 17ab1d9fd9b525c45960bfce72444d4bd74d1fd5776651509fa0d27049a220405750eb5187a76e77263df79050303ba9cc75249497ac7619bbaca88410beab44
7
- data.tar.gz: f129e25039898082cea1368f5e29a6b23ce830e7bfd21a41c0939f76fdcf0ea143ccb17cdd3940bca55f3eeb66bd752d02b2b004968574adf38ef82a56134f62
6
+ metadata.gz: 89fd7fe8e10cb110b4ce02ca0f87e7fb47a2255fa18022e550da05fdaadebaf6a4d833715ce9fd1cff6ec5a30e21839e1ba297771c25930343c039085b43e883
7
+ data.tar.gz: 918633eac9d2fbe931de4b4ca41225ac08a8bf58a6b54eaf19d4e1bcbebb211c74ac9320902f88d5c256dbfdf8d4a597f34276d251afe565f69c7a06bafa8826
data/Dockerfile CHANGED
@@ -1,6 +1,6 @@
1
1
  # Docker headers
2
2
  FROM ruby:2.3.0-slim
3
- MAINTAINER Bruno MEDICI <opensource@bmconseil.com>
3
+ MAINTAINER Bruno MEDICI <rest-ftp-daemon@bmconseil.com>
4
4
 
5
5
 
6
6
  # Environment
@@ -18,7 +18,7 @@ RUN gem install bundler --no-rdoc --no-ri
18
18
  WORKDIR $INSTALL_PATH
19
19
  ADD Gemfile $INSTALL_PATH
20
20
  ADD Gemfile.lock $INSTALL_PATH
21
- ADD *.gemspec $INSTALL_PATH
21
+ ADD rest-ftp-daemon.gemspec $INSTALL_PATH
22
22
  RUN bundle install --system --without="development test" -j4
23
23
 
24
24
 
@@ -29,4 +29,4 @@ ADD . $INSTALL_PATH
29
29
 
30
30
  # App run
31
31
  EXPOSE 3000
32
- CMD ["bin/*", "-c", "/etc/rftpd.yml", "-f", "start"]
32
+ CMD ["bin/rest-ftp-daemon", "-c", "/etc/rftpd.yml", "-f", "start"]
data/Gemfile.lock CHANGED
@@ -1,11 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rest-ftp-daemon (1.1.0)
4
+ rest-ftp-daemon (1.0.3)
5
5
  activesupport (~> 4.2)
6
6
  api-auth
7
7
  aws-sdk-resources (~> 2)
8
- bmc-daemon-lib (~> 0.6.0)
8
+ bmc-daemon-lib (~> 0.7)
9
9
  double-bag-ftps
10
10
  facter
11
11
  get_process_mem
@@ -36,21 +36,21 @@ GEM
36
36
  tzinfo (~> 1.1)
37
37
  addressable (2.5.0)
38
38
  public_suffix (~> 2.0, >= 2.0.2)
39
- api-auth (2.0.1)
39
+ api-auth (2.1.0)
40
40
  ast (2.3.0)
41
- aws-sdk-core (2.6.38)
41
+ aws-sdk-core (2.6.46)
42
42
  aws-sigv4 (~> 1.0)
43
43
  jmespath (~> 1.0)
44
- aws-sdk-resources (2.6.38)
45
- aws-sdk-core (= 2.6.38)
44
+ aws-sdk-resources (2.6.46)
45
+ aws-sdk-core (= 2.6.46)
46
46
  aws-sigv4 (1.0.0)
47
47
  axiom-types (0.1.1)
48
48
  descendants_tracker (~> 0.0.4)
49
49
  ice_nine (~> 0.11.0)
50
50
  thread_safe (~> 0.3, >= 0.3.1)
51
- bmc-daemon-lib (0.6.0)
51
+ bmc-daemon-lib (0.7.3)
52
52
  chamber (~> 2.9.1)
53
- builder (3.2.2)
53
+ builder (3.2.3)
54
54
  chamber (2.9.1)
55
55
  hashie (~> 3.3)
56
56
  thor (~> 0.19.1)
@@ -70,9 +70,9 @@ GEM
70
70
  eventmachine (1.2.1)
71
71
  facter (2.4.6)
72
72
  CFPropertyList (~> 2.2.6)
73
- ffi (1.9.14)
73
+ ffi (1.9.17)
74
74
  get_process_mem (0.2.1)
75
- grape (0.18.0)
75
+ grape (0.19.1)
76
76
  activesupport
77
77
  builder
78
78
  hashie (>= 2.1.0)
@@ -85,8 +85,8 @@ GEM
85
85
  grape-entity (0.6.0)
86
86
  activesupport
87
87
  multi_json (>= 1.3.2)
88
- grape-swagger (0.25.2)
89
- grape (>= 0.12.0)
88
+ grape-swagger (0.26.0)
89
+ grape (>= 0.16.2)
90
90
  grape-swagger-entity (0.1.5)
91
91
  grape-entity
92
92
  grape-swagger (>= 0.20.4)
@@ -108,7 +108,7 @@ GEM
108
108
  i18n (0.7.0)
109
109
  ice_nine (0.11.2)
110
110
  jmespath (1.3.1)
111
- json (1.8.3)
111
+ json (1.8.6)
112
112
  method_source (0.8.2)
113
113
  mime-types (2.99.3)
114
114
  minitest (5.10.1)
@@ -120,7 +120,7 @@ GEM
120
120
  mustermann (= 0.4.0)
121
121
  net-sftp (2.1.2)
122
122
  net-ssh (>= 2.6.5)
123
- net-ssh (3.2.0)
123
+ net-ssh (4.0.1)
124
124
  netrc (0.11.0)
125
125
  newrelic_rpm (3.17.2.327)
126
126
  parser (2.3.3.1)
@@ -130,11 +130,11 @@ GEM
130
130
  coderay (~> 1.1.0)
131
131
  method_source (~> 0.8.1)
132
132
  slop (~> 3.4)
133
- public_suffix (2.0.4)
133
+ public_suffix (2.0.5)
134
134
  rack (2.0.1)
135
135
  rack-accept (0.4.5)
136
136
  rack (>= 0.4)
137
- rainbow (2.1.0)
137
+ rainbow (2.2.1)
138
138
  rake (12.0.0)
139
139
  representable (3.0.2)
140
140
  declarative (~> 0.0.5)
@@ -143,7 +143,7 @@ GEM
143
143
  http-cookie (>= 1.0.2, < 2.0)
144
144
  mime-types (>= 1.16, < 3.0)
145
145
  netrc (~> 0.7)
146
- rollbar (2.13.3)
146
+ rollbar (2.14.0)
147
147
  multi_json
148
148
  rspec (3.5.0)
149
149
  rspec-core (~> 3.5.0)
@@ -158,8 +158,8 @@ GEM
158
158
  diff-lcs (>= 1.2.0, < 2.0)
159
159
  rspec-support (~> 3.5.0)
160
160
  rspec-support (3.5.0)
161
- rubocop (0.46.0)
162
- parser (>= 2.3.1.1, < 3.0)
161
+ rubocop (0.47.0)
162
+ parser (>= 2.3.3.1, < 3.0)
163
163
  powerpack (~> 0.1)
164
164
  rainbow (>= 1.99.1, < 3.0)
165
165
  ruby-progressbar (~> 1.7)
@@ -185,7 +185,7 @@ GEM
185
185
  unf (0.1.4)
186
186
  unf_ext
187
187
  unf_ext (0.0.7.2)
188
- unicode-display_width (1.1.2)
188
+ unicode-display_width (1.1.3)
189
189
  virtus (1.0.5)
190
190
  axiom-types (~> 0.1)
191
191
  coercible (~> 1.0)
@@ -16,6 +16,7 @@ module RestFtpDaemon
16
16
  expose :dir
17
17
  expose :name
18
18
  expose :path
19
+ expose :filepath
19
20
 
20
21
  expose :aws_region ,unless: Proc.new {|obj| obj.aws_region.nil?}
21
22
  expose :aws_bucket, unless: Proc.new {|obj| obj.aws_bucket.nil?}
@@ -25,7 +25,7 @@ module RestFtpDaemon
25
25
  class TargetPermissionError < BaseException; end
26
26
 
27
27
  class VideoMissingBinary < BaseException; end
28
+ class VideoNotFound < BaseException; end
28
29
  class VideoMovieError < BaseException; end
29
30
 
30
-
31
- end
31
+ end
@@ -304,14 +304,15 @@ module RestFtpDaemon
304
304
  include_backtrace = true
305
305
  end
306
306
 
307
- # Log backtrace ?
308
- message = "oops signal[#{signal}] exception[#{exception.class}] error[#{error}] #{exception.message}"
309
- if include_backtrace
310
- log_error message, exception.backtrace
311
- else
312
- log_error message
313
- end
314
-
307
+ # Log message and backtrace ?
308
+ log_error "OOPS: #{exception.class}", {
309
+ exception: exception.class.to_s,
310
+ message: exception.message,
311
+ error: error,
312
+ signal: signal,
313
+ }
314
+ log_debug "OOPS: backtrace below", exception.backtrace if include_backtrace
315
+
315
316
  # Log to Rollbar
316
317
  Rollbar.warning exception, "oops [#{error}]: #{exception.class.name}: #{exception.message}"
317
318
 
@@ -347,4 +348,4 @@ module RestFtpDaemon
347
348
  add_transaction_tracer :initialize, category: :task
348
349
 
349
350
  end
350
- end
351
+ end
@@ -64,8 +64,9 @@ module RestFtpDaemon
64
64
  s3_error: Aws::S3::Errors::ServiceError,
65
65
 
66
66
  video_missing_binary: RestFtpDaemon::VideoMissingBinary,
67
+ video_not_found: RestFtpDaemon::VideoNotFound,
67
68
  video_movie_error: RestFtpDaemon::VideoMovieError,
68
- video_ffmpeg_error: FFMPEG::Error,
69
+ video_ffmpeg_error: FFMPEG::Error,
69
70
 
70
71
  # rescue Encoding::UndefinedConversionError => exception
71
72
  # return oops :ended, exception, "encoding_error", true
@@ -12,12 +12,12 @@ module RestFtpDaemon
12
12
 
13
13
  # Process job
14
14
  def do_before
15
- log_info "JobVideo.before source_loc.path: #{@source_loc.path}"
16
- log_info "JobVideo.before target_loc.path: #{@target_loc.path}"
15
+ log_info "JobVideo.before source_loc.filepath: #{@source_loc.filepath}"
16
+ log_info "JobVideo.before target_loc.filepath: #{@target_loc.filepath}"
17
17
 
18
18
  # Ensure FFMPEG lib is available
19
- check_ffmpeg_binary :ffmpeg_binary
20
19
  check_ffmpeg_binary :ffprobe_binary
20
+ check_ffmpeg_binary :ffmpeg_binary
21
21
 
22
22
  # Ensure source and target are FILE
23
23
  raise RestFtpDaemon::AssertionFailed unless @video_options.is_a? Hash
@@ -35,7 +35,7 @@ module RestFtpDaemon
35
35
  # Add the source file name if none found in the target path
36
36
  target_final = @target_loc.clone
37
37
  target_final.name = @source_loc.name unless target_final.name
38
- log_info "JobVideo.work target_final.path [#{target_final.path}]"
38
+ log_info "JobVideo.work target_final.filepath [#{target_final.filepath}]"
39
39
 
40
40
  # Ensure target directory exists
41
41
  t_dir = @target_loc.filedir
@@ -60,7 +60,10 @@ module RestFtpDaemon
60
60
  set_info INFO_SOURCE_CURRENT, source.name
61
61
  begin
62
62
  movie = FFMPEG::Movie.new(source.path)
63
+ rescue Errno::ENOENT => exception
64
+ raise RestFtpDaemon::VideoNotFound, exception.message
63
65
  rescue StandardError => exception
66
+ log_error "FFMPEG Error [#{exception.class}] : #{exception.message}"
64
67
  raise RestFtpDaemon::VideoMovieError, exception.message
65
68
  else
66
69
  set_info :ffmpeg_size, movie.size
@@ -117,12 +120,3 @@ module RestFtpDaemon
117
120
 
118
121
  end
119
122
  end
120
-
121
- # require "stringio"
122
- # def capture_stderr
123
- # real_stderr, $stderr = $stderr, StringIO.new
124
- # yield
125
- # $stderr.string
126
- # ensure
127
- # $stderr = real_stderr
128
- # end
@@ -60,13 +60,14 @@ module RestFtpDaemon
60
60
  def path
61
61
  File.join(@dir.to_s, name.to_s)
62
62
  end
63
+ def filepath
64
+ # "/#{path}"
65
+ File.join('/', @dir.to_s, name.to_s)
66
+ end
63
67
 
64
68
  def filedir
65
69
  "/#{@dir}"
66
70
  end
67
- def filepath
68
- "/#{path}"
69
- end
70
71
 
71
72
  def local_files
72
73
  Dir.glob("/#{path}").collect do |file|
@@ -2,7 +2,7 @@
2
2
  Gem::Specification.new do |spec|
3
3
 
4
4
  # Project version
5
- spec.version = "1.0.2"
5
+ spec.version = "1.0.3"
6
6
 
7
7
  # Project description
8
8
  spec.name = "rest-ftp-daemon"
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
32
32
  spec.add_development_dependency "ruby-prof"
33
33
 
34
34
  # Runtime dependencies
35
- spec.add_runtime_dependency "bmc-daemon-lib", "~> 0.6.0"
35
+ spec.add_runtime_dependency "bmc-daemon-lib", "~> 0.7"
36
36
  spec.add_runtime_dependency "json", "~> 1.8"
37
37
  spec.add_runtime_dependency "thin", "~> 1.7"
38
38
  spec.add_runtime_dependency "activesupport", "~> 4.2"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rest-ftp-daemon
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bruno MEDICI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-18 00:00:00.000000000 Z
11
+ date: 2017-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 0.6.0
117
+ version: '0.7'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 0.6.0
124
+ version: '0.7'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: json
127
127
  requirement: !ruby/object:Gem::Requirement