osdb 0.2.1 → 0.2.2
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/.travis.yml +4 -6
- data/Gemfile +7 -1
- data/lib/osdb/search/imdb.rb +3 -0
- data/lib/osdb/selector/movie.rb +1 -3
- data/lib/osdb/server.rb +1 -1
- data/lib/osdb/subtitle_finder.rb +8 -9
- data/lib/osdb/version.rb +1 -1
- data/osdb.gemspec +0 -6
- data/spec/spec_helper.rb +0 -1
- metadata +4 -74
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: ccd833aca59822350715a77fff9a80563abe06f8
         | 
| 4 | 
            +
              data.tar.gz: b2c7ec119cd561acdc0c91753b3a4b5e0457d960
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: b66f1b6b070f894f3e4242c839aa7a4ef36e2f69cc32edd836901604aca26609ce8ed7d2e5f7a84c3613fee48aabfca415e415d0787543bdc820399b09800f4e
         | 
| 7 | 
            +
              data.tar.gz: 75c1533ee90c02349c4f7b8649faae937e59d589074fa8829616bc190da42ac72333ce8764f6a761367ddf3c3d78339ff86c9f6f60752eaf5126599d9629e8bc
         | 
    
        data/.travis.yml
    CHANGED
    
    
    
        data/Gemfile
    CHANGED
    
    
    
        data/lib/osdb/search/imdb.rb
    CHANGED
    
    | @@ -10,6 +10,9 @@ module OSDb | |
| 10 10 |  | 
| 11 11 | 
             
                  def search_subs_for(movie, language)
         | 
| 12 12 | 
             
                    imdb_results = @server.search_imdb(:query => movie.name)
         | 
| 13 | 
            +
                    return if imdb_results.size == 0
         | 
| 14 | 
            +
                    return if imdb_results.class != Hash
         | 
| 15 | 
            +
                    return if imdb_results[:imdbid] == nil
         | 
| 13 16 | 
             
                    if imdb_result = @selector.chose(imdb_results)
         | 
| 14 17 | 
             
                      @server.search_subtitles(
         | 
| 15 18 | 
             
                        :sublanguageid => language,
         | 
    
        data/lib/osdb/selector/movie.rb
    CHANGED
    
    | @@ -9,16 +9,14 @@ module OSDb | |
| 9 9 |  | 
| 10 10 | 
             
                  def select(subs, movie)
         | 
| 11 11 | 
             
                    subs_by_movie = group_by_movie_name(subs)
         | 
| 12 | 
            -
             | 
| 13 12 | 
             
                    return subs if subs_by_movie.length <= 1
         | 
| 14 | 
            -
             | 
| 15 13 | 
             
                    movie_names = subs_by_movie.keys
         | 
| 16 14 | 
             
                    movie_name = @movie_finder.chose(movie_names)
         | 
| 17 15 | 
             
                    subs_by_movie[movie_name] || []
         | 
| 18 16 | 
             
                  end
         | 
| 19 17 |  | 
| 20 18 | 
             
                  def group_by_movie_name(subs)
         | 
| 21 | 
            -
                    subs.inject({}) do |hash, sub| | 
| 19 | 
            +
                    subs.inject({}) do |hash, sub|
         | 
| 22 20 | 
             
                      hash[sub.movie_name] ||= []
         | 
| 23 21 | 
             
                      hash[sub.movie_name] << sub
         | 
| 24 22 | 
             
                      hash
         | 
    
        data/lib/osdb/server.rb
    CHANGED
    
    | @@ -55,7 +55,7 @@ module OSDb | |
| 55 55 | 
             
                def search_imdb(options={})
         | 
| 56 56 | 
             
                  query = options.delete(:query)
         | 
| 57 57 | 
             
                  imdb = client.call('SearchMoviesOnIMDB', token, query)['data']
         | 
| 58 | 
            -
                  imdb ? imdb.map{ |i| OpenStruct.new(:imdbid => i['id'], :title => i['title']) } : []
         | 
| 58 | 
            +
                  imdb.size > 0 ? imdb.map{ |i| OpenStruct.new(:imdbid => i['id'], :title => i['title']) } : []
         | 
| 59 59 | 
             
                end
         | 
| 60 60 |  | 
| 61 61 | 
             
                def info
         | 
    
        data/lib/osdb/subtitle_finder.rb
    CHANGED
    
    | @@ -11,16 +11,15 @@ module OSDb | |
| 11 11 | 
             
                def find_sub_for(movie, language)
         | 
| 12 12 | 
             
                  @search_engines.each do |engine|
         | 
| 13 13 | 
             
                    subs = engine.search_subs_for(movie, language)
         | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
                       | 
| 14 | 
            +
                    unless subs.nil?
         | 
| 15 | 
            +
                      subs = @selectors.inject(subs) do |subs, selector|
         | 
| 16 | 
            +
                        selector.select(subs, movie)
         | 
| 17 | 
            +
                      end
         | 
| 18 | 
            +
                      @finders.each do |finder|
         | 
| 19 | 
            +
                        sub = finder.chose(subs)
         | 
| 20 | 
            +
                        return sub if sub
         | 
| 21 | 
            +
                      end
         | 
| 22 22 | 
             
                    end
         | 
| 23 | 
            -
             | 
| 24 23 | 
             
                  end
         | 
| 25 24 |  | 
| 26 25 | 
             
                  nil
         | 
    
        data/lib/osdb/version.rb
    CHANGED
    
    
    
        data/osdb.gemspec
    CHANGED
    
    | @@ -17,10 +17,4 @@ Gem::Specification.new do |s| | |
| 17 17 | 
             
              s.executables   = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
         | 
| 18 18 | 
             
              s.require_paths = ["lib"]
         | 
| 19 19 | 
             
              s.license       = 'MIT'
         | 
| 20 | 
            -
             | 
| 21 | 
            -
              s.add_development_dependency 'rake'
         | 
| 22 | 
            -
              s.add_development_dependency 'rspec'
         | 
| 23 | 
            -
              s.add_development_dependency 'rspec-its'
         | 
| 24 | 
            -
              s.add_development_dependency 'webmock', '~> 1.8.11'
         | 
| 25 | 
            -
              s.add_development_dependency 'vcr', '~> 2.3.0'
         | 
| 26 20 | 
             
            end
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,85 +1,15 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: osdb
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.2. | 
| 4 | 
            +
              version: 0.2.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Jean Boussier
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2015- | 
| 12 | 
            -
            dependencies:
         | 
| 13 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 14 | 
            -
              name: rake
         | 
| 15 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 | 
            -
                requirements:
         | 
| 17 | 
            -
                - - ">="
         | 
| 18 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: '0'
         | 
| 20 | 
            -
              type: :development
         | 
| 21 | 
            -
              prerelease: false
         | 
| 22 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 | 
            -
                requirements:
         | 
| 24 | 
            -
                - - ">="
         | 
| 25 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version: '0'
         | 
| 27 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 28 | 
            -
              name: rspec
         | 
| 29 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 | 
            -
                requirements:
         | 
| 31 | 
            -
                - - ">="
         | 
| 32 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            -
                    version: '0'
         | 
| 34 | 
            -
              type: :development
         | 
| 35 | 
            -
              prerelease: false
         | 
| 36 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 | 
            -
                requirements:
         | 
| 38 | 
            -
                - - ">="
         | 
| 39 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            -
                    version: '0'
         | 
| 41 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 42 | 
            -
              name: rspec-its
         | 
| 43 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 | 
            -
                requirements:
         | 
| 45 | 
            -
                - - ">="
         | 
| 46 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 47 | 
            -
                    version: '0'
         | 
| 48 | 
            -
              type: :development
         | 
| 49 | 
            -
              prerelease: false
         | 
| 50 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 | 
            -
                requirements:
         | 
| 52 | 
            -
                - - ">="
         | 
| 53 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            -
                    version: '0'
         | 
| 55 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 56 | 
            -
              name: webmock
         | 
| 57 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 58 | 
            -
                requirements:
         | 
| 59 | 
            -
                - - "~>"
         | 
| 60 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 61 | 
            -
                    version: 1.8.11
         | 
| 62 | 
            -
              type: :development
         | 
| 63 | 
            -
              prerelease: false
         | 
| 64 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 65 | 
            -
                requirements:
         | 
| 66 | 
            -
                - - "~>"
         | 
| 67 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 68 | 
            -
                    version: 1.8.11
         | 
| 69 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 70 | 
            -
              name: vcr
         | 
| 71 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 72 | 
            -
                requirements:
         | 
| 73 | 
            -
                - - "~>"
         | 
| 74 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 75 | 
            -
                    version: 2.3.0
         | 
| 76 | 
            -
              type: :development
         | 
| 77 | 
            -
              prerelease: false
         | 
| 78 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 79 | 
            -
                requirements:
         | 
| 80 | 
            -
                - - "~>"
         | 
| 81 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 82 | 
            -
                    version: 2.3.0
         | 
| 11 | 
            +
            date: 2015-12-24 00:00:00.000000000 Z
         | 
| 12 | 
            +
            dependencies: []
         | 
| 83 13 | 
             
            description: 
         | 
| 84 14 | 
             
            email:
         | 
| 85 15 | 
             
            - jean.boussier @nospam@ gmail.com
         | 
| @@ -152,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 152 82 | 
             
                  version: '0'
         | 
| 153 83 | 
             
            requirements: []
         | 
| 154 84 | 
             
            rubyforge_project: osdb
         | 
| 155 | 
            -
            rubygems_version: 2.4. | 
| 85 | 
            +
            rubygems_version: 2.4.6
         | 
| 156 86 | 
             
            signing_key: 
         | 
| 157 87 | 
             
            specification_version: 4
         | 
| 158 88 | 
             
            summary: Ruby library to access OSDb services like OpenSubtitles.org
         |