miga-base 1.3.3.1 → 1.3.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bbde5de18171f236e86625c6220a26243a66540fd27194c29541be12c1d89682
4
- data.tar.gz: 99a9d4aabfb239cc456e1d118809e5f843c0908f1a395457d8f97af82732d621
3
+ metadata.gz: 59178742e814265d104b1921808f01a55d4bd2a5021b644209875fcd54afb1e7
4
+ data.tar.gz: 2bbf5a39c825a76578f7f5b9572fcd96ba8616f54204d6006a8dc8a43a1ed574
5
5
  SHA512:
6
- metadata.gz: 6efbbc1082e92dee7611a7b42d573012a652a84343cb0778081bc2c2ed5aeb81089d2fadecbe3dd8f88538187a6d57fb57ad6b7ee0822c0e2b986ad261768b1c
7
- data.tar.gz: d524db7505c561128605a3773a384482383addee341d5769acd053f88721e4160ebc1c5f25fcf4ab55d435a42ef9a29c78bcefb419b8e09d81b4765b95dfa0c8
6
+ metadata.gz: 064ce8a7c49c0df03360cbbdd080074f87d197264994d36d0a18767ce8061e09c1cb65975bfceffe8f8ae96112ec245561af49a60da04d91867ea93f8408039f
7
+ data.tar.gz: 2302337cb23527049bda0d411f85d258b1ba4958ac17f5b26e0da2e46057254085b46a01eded94a053857674af4ad23b807f022a440a29ad5d53259b5aeb1ace
@@ -9,7 +9,7 @@ end
9
9
  module MiGA::Cli::Action::Download::Base
10
10
  def cli_base_flags(opt)
11
11
  opt.on(
12
- '--max INT', Integer,
12
+ '--max-download INT', Integer,
13
13
  'Maximum number of datasets to download (by default: unlimited)'
14
14
  ) { |v| cli[:max_datasets] = v }
15
15
  opt.on(
@@ -37,6 +37,11 @@ module MiGA::Cli::Action::Download::Base
37
37
  opt, 'get-metadata',
38
38
  'Only download and update metadata for existing datasets', :get_md
39
39
  )
40
+ opt.on(
41
+ '--updated-before DATE',
42
+ 'Only download metadata for datasets last updated before the given date',
43
+ 'Requires --get-metadata, supports date or date-time'
44
+ ) { |v| cli[:updated_before] = DateTime.parse(v) }
40
45
  end
41
46
 
42
47
  def cli_save_actions(opt)
@@ -79,6 +84,7 @@ module MiGA::Cli::Action::Download::Base
79
84
  p = cli.load_project
80
85
  ds = remote_list
81
86
  ds = discard_excluded(ds)
87
+ ds = exclude_newer(ds)
82
88
  ds = impose_limit(ds)
83
89
  [p, ds]
84
90
  end
@@ -110,6 +116,16 @@ module MiGA::Cli::Action::Download::Base
110
116
  ds
111
117
  end
112
118
 
119
+ def exclude_newer(ds)
120
+ return ds unless cli[:updated_before]
121
+
122
+ project = cli.load_project
123
+ ds.select do |name|
124
+ d = project.dataset(name)
125
+ d && DateTime.parse(d.metadata[:updated]) < cli[:updated_before]
126
+ end
127
+ end
128
+
113
129
  def impose_limit(ds)
114
130
  max = cli[:max_datasets].to_i
115
131
  if !max.zero? && max < ds.size
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, 3, 1].freeze
15
+ VERSION = [1.3, 4, 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, 3, 29)
23
+ VERSION_DATE = Date.new(2023, 3, 30)
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.3.3.1
4
+ version: 1.3.4.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-03-29 00:00:00.000000000 Z
11
+ date: 2023-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: daemons