mini_mediainfo 0.0.3 → 0.0.5

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: a054b612eafc16e913f69a508a5e15f932d95bf2
4
- data.tar.gz: 0563fe550fd0cab1ed60b9519ae3e3e5b3fd9404
3
+ metadata.gz: 70b3e1087ebb8b7c717f342f649e65a19f4911bb
4
+ data.tar.gz: beda93f5ed1ce60d30a0335ef38506aae37506ab
5
5
  SHA512:
6
- metadata.gz: 5815e600fd2529b2323ea8efd0fb044a3db467fefd0c3289624cb91cefc88a9ae58581bfcefd167c527eb85e42154a0a7337d8340df9e67c24b97f75ac038ae5
7
- data.tar.gz: be380964d8910e1fbf81050e80f4bdf25799bfdc39fe032ac99691675a117b90df3f45d893ac8962df2576e975d789fdd0eda0db11ca2884bcb5cd3f6b1fc509
6
+ metadata.gz: 7cebf85614944c555c0b8e31e8da46ed4d922a10864dddd4d8fe1ccfcf044766d300b97f7dde428bffd1e95f3aa38703e22d7ed9c1d4ab7d2fd3509dde75db2f
7
+ data.tar.gz: 4466de66e18cf61234d622162bc48290c633bb1f1d47891eb0e7d1350739deb97171196cf397c4c966e6efad90619c53ef67d270094c22e7593448a8d46945f2
data/.gitignore CHANGED
@@ -16,4 +16,5 @@ test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
18
  .DS_Store
19
- .rspec
19
+ .rspec
20
+ .byebug_history
data/Rakefile CHANGED
@@ -1,6 +1,15 @@
1
1
  require "bundler/gem_tasks"
2
2
  require 'rspec/core/rake_task'
3
+ require_relative 'lib/mini_mediainfo/media'
3
4
 
4
5
  RSpec::Core::RakeTask.new('spec')
5
6
 
6
7
  task :default => :spec
8
+
9
+ desc "Introspects a video, example: bundle exec rake introspect['http://some-site.com/video.mp4']"
10
+ task :introspect, [:url] do |t, args|
11
+ url = args[:url]
12
+ m = MiniMediainfo::Media.new(url)
13
+ m.introspect
14
+ puts m.meta
15
+ end
@@ -1,5 +1,4 @@
1
1
  require 'open3'
2
- require "net/http"
3
2
  require "uri"
4
3
 
5
4
  module MiniMediainfo
@@ -10,18 +9,6 @@ module MiniMediainfo
10
9
  attr_reader :uri
11
10
 
12
11
  def initialize(uri, options={})
13
- unless File.exists?(uri)
14
- if uri =~ URI::regexp(["ftp", "http", "https"])
15
- url = URI.parse(uri)
16
- req = Net::HTTP.new(url.host, url.port)
17
- res = req.request_head(url.path)
18
- if res.code >= "400"
19
- raise "Error: #{uri} is not accessible, status: #{res.code}"
20
- end
21
- else
22
- raise "Error: the file '#{uri}' does not exist"
23
- end
24
- end
25
12
  @uri = uri
26
13
  @introspection_data = {}
27
14
  end
@@ -1,3 +1,3 @@
1
1
  module MiniMediainfo
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -5,7 +5,7 @@ require 'open3'
5
5
  module MiniMediainfo
6
6
 
7
7
  def self.platform_supported?
8
- /(darwin|linux|unix)/ =~ RUBY_PLATFORM
8
+ %w{darwin linux unix}.any?{|os_string| RUBY_PLATFORM.include?(os_string) }
9
9
  end
10
10
 
11
11
  def self.mediainfo_version
@@ -19,7 +19,8 @@ Gem::Specification.new do |spec|
19
19
 
20
20
  spec.add_development_dependency "bundler", "~> 1.3"
21
21
  spec.add_development_dependency "rake"
22
- spec.add_development_dependency "rspec"
22
+ spec.add_development_dependency "rspec", "3.5.0"
23
23
  spec.add_development_dependency "thin"
24
24
  spec.add_development_dependency "sinatra"
25
+ spec.add_development_dependency "byebug"
25
26
  end
data/spec/media_spec.rb CHANGED
@@ -4,14 +4,13 @@ require 'rspec'
4
4
  require "mini_mediainfo/media"
5
5
  require "net/http"
6
6
 
7
-
8
7
  describe MiniMediainfo::Media do
9
8
 
10
9
  context "when introspecting files" do
11
10
 
12
11
  it "should introspect audio file" do
13
12
  media = MiniMediainfo::Media.new("spec/support/small.mp4")
14
- media.should_not be_nil
13
+ expect(media).to_not be_nil
15
14
  media.introspect
16
15
  should_have_proper_data(media.meta)
17
16
  end
@@ -31,32 +30,33 @@ describe MiniMediainfo::Media do
31
30
 
32
31
  it "should introspect video url" do
33
32
  res = Net::HTTP.start('localhost', 4567) { |http| http.get('/small.mp4') }
34
- res.code.should == '200'
33
+ expect(res.code).to eq('200')
35
34
 
36
35
  media = MiniMediainfo::Media.new("http://localhost:4567/small.mp4")
37
- media.should_not be_nil
36
+ expect(media).to_not be_nil
38
37
  media.introspect
39
38
  should_have_proper_data(media.meta)
40
39
  end
41
40
  end
42
41
 
43
42
  def should_have_proper_data(meta_data)
44
- meta_data.is_a?(Hash).should be_true
43
+ expect(meta_data).to be_a(Hash)
45
44
 
46
45
  ['General', 'Audio', 'Video'].each do |k|
47
- meta_data.has_key?(k).should be_true
48
- meta_data[k].size.should > 0
46
+ expect(meta_data).to have_key(k)
47
+ expect(meta_data[k]).to_not be_empty
49
48
  end
50
49
  # test format for a couple of key properties
51
50
  number_format = /^[\d]+(\.[\d]+){0,1}$/
52
- meta_data['General']['Duration'].should match(number_format) #ms
53
- meta_data['Video']['Codec ID'].should_not be_nil # avc1
54
- meta_data['Video']['Frame rate'].should match(number_format) # (fps)
55
- meta_data['Video']['Width'].should match(number_format) # 1280
56
- meta_data['Video']['Height'].should match(number_format) # 1280
57
- meta_data['Video']['Format profile'].should_not be_nil # Main@L3.2
58
- meta_data['Video']['Bit rate'].should match(number_format) # 1280
59
- meta_data['Audio']['Bit rate'].should match(number_format) # 1280
60
- meta_data['Audio']['Codec'].should_not be_nil # AAC
51
+
52
+ expect(meta_data['General']['Duration']).to match(number_format) #ms
53
+ expect(meta_data['Video']['Codec ID']).to_not be_nil # avc1
54
+ expect(meta_data['Video']['Frame rate']).to match(number_format) # (fps)
55
+ expect(meta_data['Video']['Width']).to match(number_format) # 1280
56
+ expect(meta_data['Video']['Height']).to match(number_format) # 1280
57
+ expect(meta_data['Video']['Format profile']).to_not be_nil # Main@L3.2
58
+ expect(meta_data['Video']['Bit rate']).to match(number_format) # 1280
59
+ expect(meta_data['Audio']['Bit rate']).to match(number_format) # 1280
60
+ expect(meta_data['Audio']['Codec']).to_not be_nil # AAC
61
61
  end
62
- end
62
+ end
@@ -3,18 +3,17 @@ require 'spec_helper'
3
3
  describe MiniMediainfo do
4
4
 
5
5
  it "should determine if the platform is supported" do
6
- subject.respond_to?(:platform_supported?).should be_true
7
- subject.platform_supported?.should be_true
6
+ expect(subject.platform_supported?).to eq(true)
8
7
  end
9
8
 
10
9
  it "should get mediainfo version" do
11
10
  version = subject.mediainfo_version
12
- version.should_not be_nil
13
- version.should match(/MediaInfoLib - v/)
11
+ expect(version).to_not be_nil
12
+ expect(version).to match(/MediaInfoLib - v/)
14
13
  end
15
14
 
16
15
  it "should tell which mediainfo binary" do
17
- subject.mediainfo_binary.should match /\/mediainfo/
16
+ expect(subject.mediainfo_binary).to match /\/mediainfo/
18
17
  end
19
18
 
20
- end
19
+ end
metadata CHANGED
@@ -1,83 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_mediainfo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karl Forsman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-20 00:00:00.000000000 Z
11
+ date: 2017-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 3.5.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 3.5.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: thin
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sinatra
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: byebug
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
74
88
  - !ruby/object:Gem::Version
75
89
  version: '0'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - '>='
94
+ - - ">="
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
83
97
  description: A Ruby wrapper for mediainfo CLI.
@@ -87,7 +101,7 @@ executables: []
87
101
  extensions: []
88
102
  extra_rdoc_files: []
89
103
  files:
90
- - .gitignore
104
+ - ".gitignore"
91
105
  - Gemfile
92
106
  - LICENSE.txt
93
107
  - README.md
@@ -117,17 +131,17 @@ require_paths:
117
131
  - lib
118
132
  required_ruby_version: !ruby/object:Gem::Requirement
119
133
  requirements:
120
- - - '>='
134
+ - - ">="
121
135
  - !ruby/object:Gem::Version
122
136
  version: '0'
123
137
  required_rubygems_version: !ruby/object:Gem::Requirement
124
138
  requirements:
125
- - - '>='
139
+ - - ">="
126
140
  - !ruby/object:Gem::Version
127
141
  version: '0'
128
142
  requirements: []
129
143
  rubyforge_project:
130
- rubygems_version: 2.0.3
144
+ rubygems_version: 2.5.1
131
145
  signing_key:
132
146
  specification_version: 4
133
147
  summary: A minimalistic gem for wrapping mediainfo commands and parsing it's output.