subtitle_it 2.1.0 → 2.2.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.
- checksums.yaml +4 -4
- data/lib/subtitle_it/movie.rb +4 -0
- data/lib/subtitle_it/subdown.rb +5 -5
- data/lib/subtitle_it/subtitle.rb +21 -9
- data/lib/subtitle_it/version.rb +1 -1
- data/subtitle_it.gemspec +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e7e689a69c1ee1db901aa8c97651f1eaae2d40a0
|
4
|
+
data.tar.gz: b74b880955817937099c773f69bde83b5f61ff8e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16c219776a8c22a05f9d4e14c0e6ccb4391b33d8323a6ff159058174f0171673f66ad227a45385a08b374985f15d35dcf5ecf5b57a690b722e5193934b67665b
|
7
|
+
data.tar.gz: 952cead4beaee7653cb729c26f7b53dbb51bda920f1b44348fe7cf4540f7f6dfcf3f69d157040b805c777b2b1c424b272d9e0c832e63eab807556ccacc1684a7
|
data/lib/subtitle_it/movie.rb
CHANGED
data/lib/subtitle_it/subdown.rb
CHANGED
@@ -44,12 +44,12 @@ module SubtitleIt
|
|
44
44
|
args = {
|
45
45
|
'sublanguageid' => lang_name || '',
|
46
46
|
'moviehash' => movie.haxx,
|
47
|
-
'moviebytesize' => movie.size
|
47
|
+
# 'moviebytesize' => movie.size
|
48
48
|
}
|
49
49
|
|
50
50
|
result = request('SearchSubtitles', [args])
|
51
51
|
return [] unless result['data'] # if no results result['data'] == false
|
52
|
-
result['data'].
|
52
|
+
result['data'].reduce([]) do |subs, sub_info|
|
53
53
|
subs << Subtitle.new(info: sub_info)
|
54
54
|
subs
|
55
55
|
end
|
@@ -95,7 +95,7 @@ module SubtitleIt
|
|
95
95
|
|
96
96
|
def request(method, *args)
|
97
97
|
unless NO_TOKEN.include? method
|
98
|
-
|
98
|
+
raise 'Need to be logged in for this.' unless logged_in?
|
99
99
|
args = [@token, *args]
|
100
100
|
end
|
101
101
|
|
@@ -103,8 +103,8 @@ module SubtitleIt
|
|
103
103
|
|
104
104
|
unless self.class.result_status_ok?(result)
|
105
105
|
# 'status' of the form 'XXX Message'
|
106
|
-
|
107
|
-
|
106
|
+
raise XMLRPC::FaultException.new(result['status'].to_i,
|
107
|
+
result['status'][4..-1])
|
108
108
|
end
|
109
109
|
|
110
110
|
result
|
data/lib/subtitle_it/subtitle.rb
CHANGED
@@ -9,20 +9,32 @@ require 'subtitle_it/formats/mpl'
|
|
9
9
|
# http://www.opensubtitles.org/addons/export_languages.php
|
10
10
|
|
11
11
|
module SubtitleIt
|
12
|
-
MOVIE_EXTS = %w(3g2 3gp 3gp2 3gpp 60d ajp asf asx avchd avi bik bix box cam
|
13
|
-
|
12
|
+
MOVIE_EXTS = %w(3g2 3gp 3gp2 3gpp 60d ajp asf asx avchd avi bik bix box cam
|
13
|
+
dat divx dmf dv dvr-ms evo flc fli flic flv flx gvi gvp h264
|
14
|
+
m1v m2p m2ts m2v m4e m4v mjp mjpeg mjpg mkv moov mov movhd
|
15
|
+
movie movx mp4 mpe mpeg mpg mpv mpv2 mxf nsv nut ogg ogm omf
|
16
|
+
ps qt ram rm rmvb swf ts vfw vid video viv vivo vob vro wm
|
17
|
+
wmv wmx wrap wvx wx x264 xvid).freeze
|
14
18
|
|
19
|
+
SUB_EXTS = %w(srt sub smi txt ssa ass mpl xml yml rsb).freeze
|
20
|
+
|
21
|
+
#
|
22
|
+
# Le Subtitle pour le Movie
|
23
|
+
#
|
15
24
|
class Subtitle
|
16
25
|
include Comparable
|
17
26
|
include Formats
|
18
|
-
|
19
|
-
|
27
|
+
|
28
|
+
attr_reader :id, :raw, :format, :lines, :style, :info, :filename, :rating,
|
29
|
+
:language, :user, :release_name, :osdb_id, :original_filename,
|
30
|
+
:download_count, :download_url
|
31
|
+
|
20
32
|
attr_writer :style, :lines, :fps
|
21
33
|
|
22
34
|
def initialize(args = {})
|
23
35
|
# Looks like opensubtitle is the only provider around..
|
24
36
|
# If a second one comes need big refactor...
|
25
|
-
if @info = args[:info]
|
37
|
+
if (@info = args[:info])
|
26
38
|
# @osdb_info = info
|
27
39
|
@osdb_id = @info['IDSubtitleFile'].to_s
|
28
40
|
@original_filename = @info['SubFileName'].to_s
|
@@ -32,11 +44,11 @@ module SubtitleIt
|
|
32
44
|
@release_name = @info['MovieReleaseName'].to_s
|
33
45
|
@download_count = @info['SubDownloadsCnt'].to_i
|
34
46
|
@rating = @info['SubRating'].to_f
|
35
|
-
@uploaded_at = @info['SubAddDate'].to_s # TODO: convert to
|
47
|
+
@uploaded_at = @info['SubAddDate'].to_s # TODO: convert to Date?
|
36
48
|
@download_url = @info['SubDownloadLink'].to_s
|
37
49
|
end
|
38
50
|
@fps = args[:fps] || 23.976
|
39
|
-
return unless
|
51
|
+
return unless args[:dump]
|
40
52
|
parse_dump(args[:dump], args[:format])
|
41
53
|
end
|
42
54
|
|
@@ -52,7 +64,7 @@ module SubtitleIt
|
|
52
64
|
|
53
65
|
# Force subtitles to be UTF-8
|
54
66
|
def encode_dump(dump)
|
55
|
-
dump = dump.read unless dump.
|
67
|
+
dump = dump.read unless dump.is_a?(String)
|
56
68
|
|
57
69
|
enc = CharlockHolmes::EncodingDetector.detect(dump)
|
58
70
|
if enc[:encoding] != 'UTF-8'
|
@@ -63,7 +75,7 @@ module SubtitleIt
|
|
63
75
|
end
|
64
76
|
|
65
77
|
def parse_dump(dump, format)
|
66
|
-
|
78
|
+
raise unless SUB_EXTS.include?(format)
|
67
79
|
@raw = encode_dump(dump)
|
68
80
|
@format = format
|
69
81
|
parse_lines!
|
data/lib/subtitle_it/version.rb
CHANGED
data/subtitle_it.gemspec
CHANGED
@@ -6,10 +6,10 @@ Gem::Specification.new do |s|
|
|
6
6
|
s.version = SubtitleIt::VERSION
|
7
7
|
s.platform = Gem::Platform::RUBY
|
8
8
|
|
9
|
-
s.authors = [
|
9
|
+
s.authors = ['Marcos Piccinini']
|
10
10
|
s.email = 'x@nofxx.com'
|
11
11
|
|
12
|
-
s.date = Time.now.strftime(
|
12
|
+
s.date = Time.now.strftime('%Y-%m-%d')
|
13
13
|
s.default_executable = 'subtitle_it'
|
14
14
|
|
15
15
|
s.homepage = 'http://github.com/nofxx/subtitle_it'
|
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
22
22
|
s.require_paths = ['lib']
|
23
23
|
|
24
|
-
s.executables
|
24
|
+
s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
25
25
|
# s.extra_rdoc_files = s.files.grep(%r{^(rdoc)/})
|
26
26
|
|
27
27
|
s.add_dependency 'colorize'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: subtitle_it
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marcos Piccinini
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03
|
11
|
+
date: 2017-04-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|