miga-base 1.2.14.2 → 1.2.15.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/miga/cli/action/download/base.rb +16 -1
- data/lib/miga/common/errors.rb +10 -0
- data/lib/miga/remote_dataset/download.rb +6 -0
- data/lib/miga/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9de962d747353644dddff05181f74c87a3f401df14e81d1810f125c9d1843351
|
4
|
+
data.tar.gz: 3dd90251f07976c36adfdabaa603e399bc046f68c14ff83680eb6a6de4219159
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 68f3c9616c1d2ad0fed1f03fc6b1054d428fa8b61999febcf6394d34c261550e203b108d2399a43077d95980b6c623e40799e0bf233cfcc130ff5ef97fdc4e47
|
7
|
+
data.tar.gz: e95d549756ad10f86f4abf1761fb763e8ee218ff81d1cf8f6b597c831227482b6e90871800eb38863a8a12ed622b3222385b5f730e3e4103de06aa24753e8a3a
|
@@ -17,6 +17,10 @@ module MiGA::Cli::Action::Download::Base
|
|
17
17
|
'--ignore-until STRING',
|
18
18
|
'Ignores all datasets until a name is found (useful for large reruns)'
|
19
19
|
) { |v| cli[:ignore_until] = v }
|
20
|
+
opt.on(
|
21
|
+
'--ignore-removed',
|
22
|
+
'Ignores entries removed from NCBI (by default fails on removed entries)'
|
23
|
+
) { |v| cli[:ignore_removed] = v }
|
20
24
|
cli.opt_flag(
|
21
25
|
opt, 'get-metadata',
|
22
26
|
'Only download and update metadata for existing datasets', :get_md
|
@@ -84,7 +88,11 @@ module MiGA::Cli::Action::Download::Base
|
|
84
88
|
|
85
89
|
downloaded += 1
|
86
90
|
unless cli[:dry]
|
87
|
-
save_entry(name, body, p)
|
91
|
+
unless save_entry(name, body, p)
|
92
|
+
downloaded -= 1
|
93
|
+
d.pop
|
94
|
+
next
|
95
|
+
end
|
88
96
|
p.save! if cli[:save_every] > 1 && (downloaded % cli[:save_every]).zero?
|
89
97
|
end
|
90
98
|
end
|
@@ -93,6 +101,9 @@ module MiGA::Cli::Action::Download::Base
|
|
93
101
|
[d, downloaded]
|
94
102
|
end
|
95
103
|
|
104
|
+
##
|
105
|
+
# Saves the (generic remote) entry identified by +name+ with +body+ into the
|
106
|
+
# project +p+, and returns +true+ on success and +false+ otherwise
|
96
107
|
def save_entry(name, body, p)
|
97
108
|
cli.say ' Locating remote dataset'
|
98
109
|
body[:md][:metadata_only] = true if cli[:only_md]
|
@@ -105,5 +116,9 @@ module MiGA::Cli::Action::Download::Base
|
|
105
116
|
rd.save_to(p, name, !cli[:query], body[:md])
|
106
117
|
cli.add_metadata(p.add_dataset(name))
|
107
118
|
end
|
119
|
+
true
|
120
|
+
rescue MiGA::RemoteDataMissingError => e
|
121
|
+
raise(e) unless cli[:ignore_removed]
|
122
|
+
false
|
108
123
|
end
|
109
124
|
end
|
data/lib/miga/common/errors.rb
CHANGED
@@ -9,4 +9,14 @@ module MiGA
|
|
9
9
|
# An error with a system call
|
10
10
|
class SystemCallError < Error
|
11
11
|
end
|
12
|
+
|
13
|
+
##
|
14
|
+
# An error with remote data
|
15
|
+
class RemoteDataError < Error
|
16
|
+
end
|
17
|
+
|
18
|
+
##
|
19
|
+
# An error caused by missing remote data
|
20
|
+
class RemoteDataMissingError < RemoteDataError
|
21
|
+
end
|
12
22
|
end
|
@@ -43,6 +43,12 @@ class MiGA::RemoteDataset
|
|
43
43
|
# +format+: String, passed to download
|
44
44
|
def ncbi_asm_rest(opts)
|
45
45
|
url_dir = opts[:obj].ncbi_asm_json_doc['ftppath_genbank']
|
46
|
+
if url_dir.nil? || url_dir.empty?
|
47
|
+
raise MiGA::RemoteDataMissingError.new(
|
48
|
+
"Missing ftppath_genbank in NCBI Assembly JSON"
|
49
|
+
)
|
50
|
+
end
|
51
|
+
|
46
52
|
url = "#{url_dir}/#{File.basename url_dir}_genomic.fna.gz"
|
47
53
|
download(
|
48
54
|
:web, :assembly_gz, url,
|
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.2,
|
15
|
+
VERSION = [1.2, 15, 0].freeze
|
16
16
|
|
17
17
|
##
|
18
18
|
# Nickname for the current major.minor version.
|
@@ -20,7 +20,7 @@ module MiGA
|
|
20
20
|
|
21
21
|
##
|
22
22
|
# Date of the current gem relese.
|
23
|
-
VERSION_DATE = Date.new(2023, 1,
|
23
|
+
VERSION_DATE = Date.new(2023, 1, 17)
|
24
24
|
|
25
25
|
##
|
26
26
|
# References of MiGA
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: miga-base
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luis M. Rodriguez-R
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-01-
|
11
|
+
date: 2023-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: daemons
|