nsrr 5.0.0.rc → 8.0.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: bede463148a3b2d49ab6cee7bb06752ea66d5fc734e0b26bcbc8196c30d1efef
4
- data.tar.gz: e06176db3eb823bd8e052d6d3270ba35ad5dc6b0eb85684026eaea2926edabdd
3
+ metadata.gz: 4b100c526a2c495b60d331025f5d41a7b42c7665483198feaf75f7cf1b02790a
4
+ data.tar.gz: 22fc81dc33d64b6bd080003269115153094fbaec519ac8f0b4cfabeb8b4a0fcf
5
5
  SHA512:
6
- metadata.gz: 6f8f81733ef8e78800bcd0cd36d676bdeefa7f937d6f2054e16affde246f66144ba6de117869a6cacef3f865d8a99b3510502cb3546d05881d87702fd3452d07
7
- data.tar.gz: 7b201b307096b4a889b1348870548f6a5f1e026ca605700cd808249891a0f9800a0e6824e3f9d31964a15fdbfbe55b5c9c9caabee69f409d481446cfe72187d0
6
+ metadata.gz: 4128e2ab10af765f53ebb7f78aa2ec1404ad3b70b66a4dccf464ca3e451ca6e6f33c08920f785a02e691b33a9455d3b49e204cc51ffa5bf609f46467b553f806
7
+ data.tar.gz: 906cacc94f180fab43e6adeafc76534dfd414b73e8c31bda2e045e2b5126b4d599114c5a1582112503b0bc3ef3fec8c10f81a69c8fc89ea8f38d9cadeecd5d29
data/CHANGELOG.md CHANGED
@@ -1,4 +1,23 @@
1
- ## 5.0.0
1
+ ## 8.0.0 (August 7, 2021)
2
+
3
+ ### Bug Fix
4
+ - Fixed a bug that prevented folders and files with spaces in their paths from
5
+ being downloaded
6
+
7
+ ## 7.0.0 (April 18, 2021)
8
+
9
+ ### Enhancements
10
+ - **General Changes**
11
+ - Added `--file` option to specify a regular expression to match a file name,
12
+ (by @k0kubun)
13
+
14
+ ## 6.0.0 (January 16, 2021)
15
+
16
+ ### Enhancements
17
+ - **General Changes**
18
+ - Added compatibility for Ruby 3.0.0
19
+
20
+ ## 5.0.0 (May 7, 2019)
2
21
 
3
22
  ### Enhancements
4
23
  - **General Changes**
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2016-2019 National Sleep Research Resource
1
+ Copyright (c) 2016-2021 National Sleep Research Resource
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -7,7 +7,7 @@ The official ruby gem built to simplify file downloads and dataset integration t
7
7
 
8
8
  ## Prerequisites
9
9
 
10
- You must have **Ruby 2.4+ installed** on your system to use the NSRR gem.
10
+ You must have **Ruby 2.7+ installed** on your system to use the NSRR gem.
11
11
 
12
12
  - [Install Ruby on Windows](https://github.com/remomueller/documentation/blob/master/windows/130-ruby.md)
13
13
  - [Install Ruby on Mac](https://github.com/remomueller/documentation/blob/master/macos/130-install-rvm.md)
@@ -65,6 +65,26 @@ You can combine the file check flag with the folder depth flag as well.
65
65
  nsrr download shhs/datasets --shallow --fast
66
66
  ```
67
67
 
68
+ You can specify a regular expression to filter files that are downloaded.
69
+
70
+ ```console
71
+ nsrr download nchsdb/health_data --file="^PROCEDURE.*\.csv$"
72
+ ```
73
+
74
+ ```console
75
+ create nchsdb/health_data/
76
+ skipped DEMOGRAPHIC.csv
77
+ skipped DIAGNOSIS.csv
78
+ skipped ENCOUNTER.csv
79
+ skipped MEASUREMENT.csv
80
+ skipped MEDICATION.csv
81
+ downloaded PROCEDURE.csv
82
+ downloaded PROCEDURE_SURG_HX.csv
83
+ skipped SLEEP_ENC_ID.csv
84
+ skipped SLEEP_STUDY.csv
85
+ skipped Sleep_Study_Data_File_Format.pdf
86
+ ```
87
+
68
88
  ### Open the console and download entire datasets
69
89
 
70
90
  ```console
@@ -21,6 +21,7 @@ module Nsrr
21
21
  (@token, argv) = parse_parameter_with_value(argv, ["token"], "")
22
22
  (@file_comparison, argv) = parse_parameter(argv, ["fast", "fresh", "md5"], "md5")
23
23
  (@depth, argv) = parse_parameter(argv, ["shallow", "recursive"], "recursive")
24
+ (@file, argv) = parse_parameter_with_value(argv, ["file"], "")
24
25
  @dataset_slug = argv[1].to_s.split("/").first
25
26
  @full_path = (argv[1].to_s.split("/")[1..-1] || []).join("/")
26
27
  end
@@ -35,7 +36,7 @@ module Nsrr
35
36
  @token = Nsrr::Helpers::Authorization.get_token(@token) if @token.to_s == ""
36
37
  @dataset = Dataset.find(@dataset_slug, @token)
37
38
  if @dataset
38
- @dataset.download(@full_path, depth: @depth, method: @file_comparison)
39
+ @dataset.download(@full_path, depth: @depth, method: @file_comparison, file: Regexp.new(@file))
39
40
  else
40
41
  puts "\nThe dataset " + @dataset_slug.white + " was not found."
41
42
  datasets = all_datasets
@@ -80,7 +81,7 @@ module Nsrr
80
81
  result = default
81
82
  options.each do |option|
82
83
  argv.each do |arg|
83
- result = arg.gsub(/^--#{option}=/, "") if arg =~ /^--#{option}=\w/
84
+ result = arg.gsub(/^--#{option}=/, "") if arg =~ /^--#{option}=[^\s]/
84
85
  end
85
86
  end
86
87
  [result, argv]
@@ -17,8 +17,7 @@ module Nsrr
17
17
  attr_reader :url, :error, :file_size
18
18
 
19
19
  def initialize(url, download_folder)
20
- escaped_url = URI.escape(url)
21
- @url = URI.parse(escaped_url)
20
+ @url = URI.parse(url.gsub(/\s/, "%20"))
22
21
  @http = Net::HTTP.new(@url.host, @url.port)
23
22
  if @url.scheme == "https"
24
23
  @http.use_ssl = true
@@ -26,8 +25,6 @@ module Nsrr
26
25
  end
27
26
  @download_folder = download_folder
28
27
  @file_size = 0
29
- rescue
30
- @error = "Invalid Token"
31
28
  end
32
29
 
33
30
  # Writes file segments to disk immediately instead of storing in memory
@@ -69,6 +69,7 @@ module Nsrr
69
69
 
70
70
  begin
71
71
  puts " File Check: " + options[:method].to_s.white
72
+ puts " File Regex: " + options[:file].inspect.white
72
73
  puts " Depth: " + options[:depth].to_s.white
73
74
  puts ""
74
75
  if @download_token.nil?
@@ -100,6 +101,12 @@ module Nsrr
100
101
  create_folder_for_path(full_path)
101
102
 
102
103
  files(full_path).select(&:is_file).each do |file|
104
+ unless file.file_name.match?(options[:file])
105
+ puts " skipped".blue + " #{file.file_name}"
106
+ @files_skipped += 1
107
+ next
108
+ end
109
+
103
110
  current_folder = ::File.join(slug.to_s, file.folder.to_s)
104
111
  result = file.download(options[:method], current_folder, @download_token)
105
112
  case result
data/lib/nsrr/version.rb CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  module Nsrr
4
4
  module VERSION #:nodoc:
5
- MAJOR = 5
5
+ MAJOR = 8
6
6
  MINOR = 0
7
7
  TINY = 0
8
- BUILD = "rc" # "pre", "beta1", "beta2", "rc", "rc2", nil
8
+ BUILD = nil # "pre", "beta1", "beta2", "rc", "rc2", nil
9
9
 
10
10
  STRING = [MAJOR, MINOR, TINY, BUILD].compact.join(".")
11
11
  end
data/nsrr.gemspec CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.description = "The official ruby gem to download files and datasets from the [NSRR](https://sleepdata.org)"
22
22
  spec.homepage = "https://github.com/nsrr/nsrr-gem"
23
23
 
24
- spec.required_ruby_version = ">= 2.4.6"
24
+ spec.required_ruby_version = ">= 2.7.2"
25
25
  spec.required_rubygems_version = ">= 2.6.3"
26
26
 
27
27
  spec.license = "MIT"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nsrr
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0.rc
4
+ version: 8.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Remo Mueller
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-06 00:00:00.000000000 Z
11
+ date: 2021-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -84,7 +84,7 @@ homepage: https://github.com/nsrr/nsrr-gem
84
84
  licenses:
85
85
  - MIT
86
86
  metadata: {}
87
- post_install_message:
87
+ post_install_message:
88
88
  rdoc_options: []
89
89
  require_paths:
90
90
  - lib
@@ -92,15 +92,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - ">="
94
94
  - !ruby/object:Gem::Version
95
- version: 2.4.6
95
+ version: 2.7.2
96
96
  required_rubygems_version: !ruby/object:Gem::Requirement
97
97
  requirements:
98
98
  - - ">="
99
99
  - !ruby/object:Gem::Version
100
100
  version: 2.6.3
101
101
  requirements: []
102
- rubygems_version: 3.0.3
103
- signing_key:
102
+ rubygems_version: 3.2.16
103
+ signing_key:
104
104
  specification_version: 4
105
105
  summary: Download files easily from the NSRR website, https://sleepdata.org
106
106
  test_files: []