miga-base 1.3.12.0 → 1.3.12.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/lib/miga/cli/action/download/base.rb +19 -5
- data/lib/miga/common/net.rb +2 -1
- data/lib/miga/remote_dataset.rb +1 -0
- data/lib/miga/version.rb +1 -1
- data/test/net_test.rb +7 -9
- metadata +1 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: cf660d951441269a671b7fb57d3e91a572fdb62d5ffbaeda9ff412042798759b
         | 
| 4 | 
            +
              data.tar.gz: 1721194dcce4a70e4cad66ca4cea5db88f521323022b62c2c93740458a1b0bea
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: ff0b9c3a8db37fa9b0d75a0b884154b416669e068eab9f22f406facf9822345a38baccc224138a15fb5e9e1dff786e55e2ebc0d870573b892f056bf7e18e275a
         | 
| 7 | 
            +
              data.tar.gz: af7dcea647e3ead8fdbde6f917264efd93335cc9c7878bd7a4b43b8dbb27434882dff76728fa984c5724802a581421ddd333f6cfe46ab1d6c75fb4bb953bc378
         | 
| @@ -69,9 +69,10 @@ module MiGA::Cli::Action::Download::Base | |
| 69 69 | 
             
                  'Path to an output file with the list of all datasets listed remotely'
         | 
| 70 70 | 
             
                ) { |v| cli[:remote_list] = v }
         | 
| 71 71 | 
             
                opt.on(
         | 
| 72 | 
            -
                  '--ncbi-taxonomy-dump  | 
| 73 | 
            -
                  'Path to an NCBI Taxonomy dump directory to query instead of API calls'
         | 
| 74 | 
            -
             | 
| 72 | 
            +
                  '--ncbi-taxonomy-dump [path]',
         | 
| 73 | 
            +
                  'Path to an NCBI Taxonomy dump directory to query instead of API calls',
         | 
| 74 | 
            +
                  'If the path is not passed, the dump is automatically downloaded'
         | 
| 75 | 
            +
                ) { |v| cli[:ncbi_taxonomy_dump] = v || true }
         | 
| 75 76 | 
             
              end
         | 
| 76 77 |  | 
| 77 78 | 
             
              def generic_perform
         | 
| @@ -97,8 +98,21 @@ module MiGA::Cli::Action::Download::Base | |
| 97 98 | 
             
              def load_ncbi_taxonomy_dump
         | 
| 98 99 | 
             
                return unless cli[:ncbi_taxonomy_dump]
         | 
| 99 100 |  | 
| 100 | 
            -
                 | 
| 101 | 
            -
             | 
| 101 | 
            +
                if cli[:ncbi_taxonomy_dump] == true
         | 
| 102 | 
            +
                  cli.say 'Downloading and reading NCBI Taxonomy dump'
         | 
| 103 | 
            +
                  Dir.mktmpdir do |dir|
         | 
| 104 | 
            +
                    file = 'taxdump.tar.gz'
         | 
| 105 | 
            +
                    path = File.join(dir, file)
         | 
| 106 | 
            +
                    url  = 'https://ftp.ncbi.nih.gov/pub/taxonomy/%s' % file
         | 
| 107 | 
            +
                    
         | 
| 108 | 
            +
                    File.open(path, 'wb') { |fh| fh.print MiGA::MiGA.net_method(:get, url) }
         | 
| 109 | 
            +
                    MiGA::MiGA.run_cmd('cd "%s" && tar -zxf "%s"' % [dir, file])
         | 
| 110 | 
            +
                    MiGA::RemoteDataset.use_ncbi_taxonomy_dump(dir, cli)
         | 
| 111 | 
            +
                  end
         | 
| 112 | 
            +
                else
         | 
| 113 | 
            +
                  cli.say "Reading NCBI Taxonomy dump: #{cli[:ncbi_taxonomy_dump]}"
         | 
| 114 | 
            +
                  MiGA::RemoteDataset.use_ncbi_taxonomy_dump(cli[:ncbi_taxonomy_dump], cli)
         | 
| 115 | 
            +
                end
         | 
| 102 116 | 
             
              end
         | 
| 103 117 |  | 
| 104 118 |  | 
    
        data/lib/miga/common/net.rb
    CHANGED
    
    | @@ -123,10 +123,11 @@ module MiGA::Common::Net | |
| 123 123 |  | 
| 124 124 | 
             
              def net_method(method, uri, *opts)
         | 
| 125 125 | 
             
                attempts ||= 0
         | 
| 126 | 
            +
                uri = URI.parse(uri) if uri.is_a? String
         | 
| 126 127 | 
             
                DEBUG "#{method.to_s.upcase}: #{uri} #{opts}"
         | 
| 127 128 | 
             
                case method.to_sym
         | 
| 128 129 | 
             
                when :ftp
         | 
| 129 | 
            -
                  download_file_ftp(uri)
         | 
| 130 | 
            +
                  download_file_ftp(uri, *opts)
         | 
| 130 131 | 
             
                else
         | 
| 131 132 | 
             
                  http_request(method, uri, *opts)
         | 
| 132 133 | 
             
                end
         | 
    
        data/lib/miga/remote_dataset.rb
    CHANGED
    
    | @@ -67,6 +67,7 @@ class MiGA::RemoteDataset < MiGA::MiGA | |
| 67 67 | 
             
                # Get the MiGA::Taxonomy object for the lineage of the taxon with TaxID
         | 
| 68 68 | 
             
                # +id+ using the local NCBI Taxonomy dump.
         | 
| 69 69 | 
             
                def taxonomy_from_ncbi_dump(id)
         | 
| 70 | 
            +
                  id = id.to_i unless id.is_a? Integer
         | 
| 70 71 | 
             
                  MiGA::Taxonomy.new(ns: 'ncbi').tap do |tax|
         | 
| 71 72 | 
             
                    while @ncbi_taxonomy_names[id]
         | 
| 72 73 | 
             
                      tax << { @ncbi_taxonomy_names[id][1] => @ncbi_taxonomy_names[id][0] }
         | 
    
        data/lib/miga/version.rb
    CHANGED
    
    | @@ -12,7 +12,7 @@ module MiGA | |
| 12 12 | 
             
              # - String indicating release status:
         | 
| 13 13 | 
             
              #   - rc* release candidate, not released as gem
         | 
| 14 14 | 
             
              #   - [0-9]+ stable release, released as gem
         | 
| 15 | 
            -
              VERSION = [1.3, 12,  | 
| 15 | 
            +
              VERSION = [1.3, 12, 2].freeze
         | 
| 16 16 |  | 
| 17 17 | 
             
              ##
         | 
| 18 18 | 
             
              # Nickname for the current major.minor version.
         | 
    
        data/test/net_test.rb
    CHANGED
    
    | @@ -37,15 +37,13 @@ class FormatTest < Test::Unit::TestCase | |
| 37 37 | 
             
                f = tmpfile('t/test.txt')
         | 
| 38 38 | 
             
                d = File.dirname(f)
         | 
| 39 39 | 
             
                assert(!Dir.exist?(d))
         | 
| 40 | 
            -
                 | 
| 41 | 
            -
                 | 
| 42 | 
            -
                 | 
| 43 | 
            -
                 | 
| 44 | 
            -
                 | 
| 45 | 
            -
                 | 
| 46 | 
            -
                 | 
| 47 | 
            -
                ### m.download_file_ftp(:miga_db, '../api_test.txt', f)
         | 
| 48 | 
            -
                ### assert_equal('miga', File.read(f).chomp)
         | 
| 40 | 
            +
                m = MiGA::MiGA
         | 
| 41 | 
            +
                m.download_file_ftp(:miga_online_ftp, 'api_test.txt', f)
         | 
| 42 | 
            +
                assert(Dir.exist?(d))
         | 
| 43 | 
            +
                assert_equal('miga', File.read(f).chomp)
         | 
| 44 | 
            +
                File.unlink(f)
         | 
| 45 | 
            +
                m.download_file_ftp(:miga_db, '../api_test.txt', f)
         | 
| 46 | 
            +
                assert_equal('miga', File.read(f).chomp)
         | 
| 49 47 | 
             
              end
         | 
| 50 48 |  | 
| 51 49 | 
             
              def test_encoding
         |