bcl 0.7.1 → 0.9.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: 6a9c714a1d731180ba6a697a3f945d0269ea258d381b31d83c91752415e60603
4
- data.tar.gz: f86719936cbb27b79dd812174d5dc1707fa4426439879a16cfc78f9cb8f2666b
3
+ metadata.gz: 61a7c2afa12738551beb2541d001da9e5546d495f0af2c0dd4a20c0703c72c46
4
+ data.tar.gz: d1a4fb84aed153d8f4b52f020a0f44b0e6a2d1997afd6d5cb1a9d58541d7bc15
5
5
  SHA512:
6
- metadata.gz: 9d0fa86c270c26fd224153d5a8179ff24c46b9f27373879c7a1c140279100098da8c83167345f5518c72f14fd6a7c5c22e50506d9fec8ed258f74afa72dfaade
7
- data.tar.gz: 713bfd1a0e94a4a4c7b5cdd702ab250c82cd64e1b8188d810a0879fc9b513ec138c8168988cb0242fedfc9deb1d0e58e61a6e5154fea159c88439d9e2eae1743
6
+ metadata.gz: a68a154b8848cd553c96f58b9a0c91ce7ac55ec63d5b5e646e95c015cf1cc7a5d2ebd7172ed943412d73cd01d92262a16aa8ca48fba4f2ecf0e736a5c9db513d
7
+ data.tar.gz: 621671bce39d3f7acfccc556e9395e2cd6f1b1da939f58f7e358dde1d7c7978ef9f8b99f6549897fd00b7154c540f0bb4743a8e9fa55f2cbf9ca159458da21da
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Change Log
2
2
 
3
+ ## Version 0.9.0
4
+ * measure tester gem 0.5.0
5
+
6
+ ## Version 0.8.0
7
+ * BCLXML validation: adjust schemas
8
+ * removed staging, pushing, updating of components
9
+ * removed login
10
+ * simplified config file to only contain server URL
11
+ * removed test to download component via POST (was that needed?)
12
+ * code clean-up and test clean-up
13
+ * updated dependencies to support Ruby 3.2.2 & OpenStudio 3.8.0
14
+
3
15
  ## Version 0.7.1
4
16
  * Update license to standard OpenStudio 4-clause BSD license
5
17
  * Upgrade dependencies for security
data/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC. All rights reserved.
1
+ OpenStudio(R), Copyright (c) 2008-2024, Alliance for Sustainable Energy, LLC. All rights reserved.
2
2
 
3
3
  Redistribution and use in source and binary forms, with or without modification, are permitted
4
4
  provided that the following conditions are met:
data/Rakefile CHANGED
@@ -1,36 +1,6 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
3
- # All rights reserved.
4
- # Redistribution and use in source and binary forms, with or without
5
- # modification, are permitted provided that the following conditions are met:
6
- #
7
- # (1) Redistributions of source code must retain the above copyright notice,
8
- # this list of conditions and the following disclaimer.
9
- #
10
- # (2) Redistributions in binary form must reproduce the above copyright notice,
11
- # this list of conditions and the following disclaimer in the documentation
12
- # and/or other materials provided with the distribution.
13
- #
14
- # (3) Neither the name of the copyright holder nor the names of any contributors
15
- # may be used to endorse or promote products derived from this software without
16
- # specific prior written permission from the respective party.
17
- #
18
- # (4) Other than as required in clauses (1) and (2), distributions in any form
19
- # of modifications or other derivative works may not use the "OpenStudio"
20
- # trademark, "OS", "os", or any other confusingly similar designation without
21
- # specific prior written permission from Alliance for Sustainable Energy, LLC.
22
- #
23
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY CONTRIBUTORS
24
- # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
25
- # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26
- # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S), ANY CONTRIBUTORS, THE
27
- # UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF
28
- # THEIR EMPLOYEES, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29
- # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
30
- # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31
- # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
32
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33
- # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
34
4
  # *******************************************************************************
35
5
 
36
6
  require 'bundler'
@@ -60,43 +30,36 @@ namespace :test do
60
30
  # search with all=false
61
31
  # ensure the same a) and b) as above
62
32
  bcl = BCL::ComponentMethods.new
63
- bcl.login
64
33
  results = bcl.search('Add', 'show_rows=10', false)
65
- puts "there are #{results[:result].count} results"
34
+ puts "there are #{results[:result].count} results returned in this response"
35
+ puts "there are #{results[:complete_results_count]} total results available for this query"
66
36
  results[:result].each do |res|
67
37
  puts (res[:measure][:name]).to_s
68
38
  end
69
39
  end
70
40
 
71
- desc 'test measure upload'
72
- task :measure_upload do
73
- bcl = BCL::ComponentMethods.new
74
- bcl.login
75
- filename = "#{File.dirname(__FILE__)}/spec/api/resources/measure_original.tar.gz"
76
- valid, res = bcl.push_content(filename, false, 'nrel_measure')
77
- end
78
-
79
- desc 'test the BCL login credentials defined in .bcl/config.yml'
80
- task :bcl_login do
41
+ desc 'test search and return ALL versions functionality'
42
+ task :search_all_versions do
43
+ # search with all=true
44
+ # ensure that a) results are returned (> 0) and b) [:measure][:name] is a string
45
+ # search with all=false
46
+ # ensure the same a) and b) as above
81
47
  bcl = BCL::ComponentMethods.new
82
- bcl.login
83
- end
84
-
85
- desc 'test component spreadsheet'
86
- task :spreadsheet do
87
- bclcomponents = BCL::ComponentFromSpreadsheet.new(File.expand_path('lib/files/Components.xls', __dir__), ['Roofing'])
88
- bclcomponents.save(File.expand_path('lib/files/staged', __dir__))
48
+ results = bcl.search('Add', 'show_rows=10&all_content_versions=1', false)
49
+ puts "there are #{results[:result].count} results returned in this response"
50
+ puts "there are #{results[:complete_results_count]} total results available for this query"
51
+ results[:result].each do |res|
52
+ puts (res[:measure][:name]).to_s
53
+ end
89
54
  end
90
55
 
91
56
  desc 'test measure download'
92
57
  task :measure_download do
93
58
  # find a component with keyword 'Ashrae'
94
59
  query = 'ashrae'
95
- filter = 'fq[]=bundle:nrel_component&show_rows=3'
60
+ filter = 'fq=bundle:nrel_component&show_rows=3'
96
61
 
97
62
  bcl = BCL::ComponentMethods.new
98
- bcl.login
99
-
100
63
  results = bcl.search(query, filter)
101
64
  uids = []
102
65
  results[:result].each do |result|
@@ -111,223 +74,33 @@ namespace :test do
111
74
  f = File.open("#{download_path}/#{uids[0]}.tar.gz", 'wb')
112
75
  f.write(content)
113
76
  end
114
- end
115
-
116
- namespace :bcl do
117
- STAGED_PATH = Pathname.new(Dir.pwd + '/staged')
118
-
119
- # initialize BCL and login
120
- bcl = BCL::ComponentMethods.new
121
- bcl.login
122
-
123
- # to call: rake "bcl:stage_and_upload[/path/to/your/content/directory, true]"
124
- # content_path arg: path to components or measures to upload
125
- # reset flag:
126
- # If TRUE: content in the staged directory will be re-generated and receipt files will be deleted.
127
- # If FALSE, content that already exists in the staged directory will remain and content with receipt files will not be re-uploaded.
128
- desc 'stage and push/update all content in a repo'
129
- task :stage_and_upload, [:content_path, :reset] do |t, args|
130
- options = { reset: false }
131
- options[:content_path] = Pathname.new args[:content_path]
132
- if args[:reset].to_s == 'true'
133
- options[:reset] = true
134
- end
135
-
136
- current_dir = Dir.pwd
137
-
138
- # stage content
139
- Rake.application.invoke_task("bcl:stage_content[#{options[:content_path]}, #{options[:reset]}]")
140
- Dir.chdir(current_dir)
141
-
142
- # upload (new and updated). pass in skip flag
143
- Rake.application.invoke_task("bcl:upload_content[#{options[:reset]}]")
144
- end
145
77
 
146
- # to call: rake "bcl:upload_content[true]"
147
- # TODO: catch errors and continue
148
- desc 'upload/update BCL content'
149
- task :upload_content, [:reset] do |t, args|
150
- # process options
151
- options = { reset: false }
152
- if args[:reset].to_s == 'true'
153
- options[:reset] = true
154
- end
155
-
156
- total_count = 0
157
- successes = 0
158
- errors = 0
159
- skipped = 0
160
-
161
- # grab all the new measure and component tar files and push to bcl
162
- ['measure', 'component'].each do |content_type|
163
- items = []
164
- paths = Pathname.glob(STAGED_PATH.to_s + "/push/#{content_type}/*.tar.gz")
165
- paths.each do |path|
166
- # puts path
167
- items << path.to_s
168
- end
169
-
170
- items.each do |item|
171
- puts item.split('/').last
172
- total_count += 1
173
-
174
- receipt_file = File.dirname(item) + '/' + File.basename(item, '.tar.gz') + '.receipt'
175
- if !options[:reset] && File.exist?(receipt_file)
176
- skipped += 1
177
- puts 'SKIP: receipt file found'
178
- next
179
- end
180
-
181
- valid, res = bcl.push_content(item, true, "nrel_#{content_type}")
182
- if valid
183
- successes += 1
184
- else
185
- errors += 1
186
- if res.key?(:error)
187
- puts " ERROR MESSAGE: #{res[:error]}"
188
- else
189
- puts "ERROR: #{res.inspect.chomp}"
190
- end
191
- end
192
- puts '', '---'
193
- end
194
- end
78
+ desc 'test measure download - legacy syntax'
79
+ task :measure_download do
80
+ # find a component with keyword 'Ashrae'
81
+ query = 'ashrae'
82
+ filter = 'fq[]=bundle:nrel_component&show_rows=3'
195
83
 
196
- # grab all the updated content (measures and components) tar files and push to bcl
197
- items = []
198
- paths = Pathname.glob(STAGED_PATH.to_s + '/update/*.tar.gz')
199
- paths.each do |path|
200
- # puts path
201
- items << path.to_s
84
+ bcl = BCL::ComponentMethods.new
85
+ results = bcl.search(query, filter)
86
+ uids = []
87
+ results[:result].each do |result|
88
+ uids << result[:component][:uuid]
202
89
  end
203
- items.each do |item|
204
- puts item.split('/').last
205
- total_count += 1
206
90
 
207
- receipt_file = File.dirname(item) + '/' + File.basename(item, '.tar.gz') + '.receipt'
208
- if !options[:reset] && File.exist?(receipt_file)
209
- skipped += 1
210
- puts 'SKIP: receipt file found'
211
- next
212
- end
213
-
214
- valid, res = bcl.update_content(item, true)
215
- if valid
216
- successes += 1
217
- else
218
- errors += 1
219
- if res.key?(:error)
220
- puts " ERROR MESSAGE: #{res[:error]}"
221
- else
222
- puts "ERROR MESSAGE: #{res.inspect.chomp}"
223
- end
224
- end
225
- puts '', '---'
226
- end
91
+ content = bcl.download_component(uids[0])
227
92
 
228
- puts "****UPLOAD DONE**** #{total_count} total, #{successes} success, #{errors} failures, #{skipped} skipped"
93
+ # save as tar.gz
94
+ download_path = File.expand_path('lib/files/downloads', __dir__)
95
+ FileUtils.mkdir(download_path) if !File.exist? download_path
96
+ f = File.open("#{download_path}/#{uids[0]}.tar.gz", 'wb')
97
+ f.write(content)
229
98
  end
230
99
 
231
- # to call: rake "bcl:stage_content[/path/to/your/content/directory, true]"
232
- desc 'stage content for BCL'
233
- task :stage_content, [:content_path, :reset] do |t, args|
234
- # process options
235
- options = { reset: false }
236
- options[:content_path] = Pathname.new args[:content_path]
237
- if args[:reset].to_s == 'true'
238
- options[:reset] = true
239
- end
240
- puts "OPTIONS -- content_path: #{options[:content_path]}, reset: #{options[:reset]}"
241
-
242
- FileUtils.mkdir_p(STAGED_PATH)
243
-
244
- # delete existing tarballs if reset is true
245
- if options[:reset]
246
- FileUtils.rm_rf(Dir.glob("#{STAGED_PATH}/*"))
247
- end
248
-
249
- # create new and existing directories
250
- FileUtils.mkdir_p(STAGED_PATH.to_s + '/update')
251
- FileUtils.mkdir_p(STAGED_PATH.to_s + '/push/component')
252
- FileUtils.mkdir_p(STAGED_PATH.to_s + '/push/measure')
253
-
254
- # keep track of noop, update, push
255
- noops = 0
256
- new_ones = 0
257
- updates = 0
258
-
259
- # get all content directories to process
260
- dirs = Dir.glob("#{options[:content_path]}/*")
261
-
262
- dirs.each do |dir|
263
- next if dir.include?('Rakefile')
264
-
265
- current_d = Dir.pwd
266
- content_name = File.basename(dir)
267
- puts '', '---'
268
- puts "Generating #{content_name}"
269
-
270
- Dir.chdir(dir)
271
-
272
- # figure out whether to upload new or update existing
273
- files = Pathname.glob('**/*')
274
- uuid = nil
275
- vid = nil
276
- content_type = 'measure'
277
-
278
- paths = []
279
- files.each do |file|
280
- # don't tar tests/outputs directory
281
- next if file.to_s.start_with?('tests/output') # From measure testing process
282
- next if file.to_s.start_with?('tests/test') # From openstudio-measure-tester-gem
283
- next if file.to_s.start_with?('tests/coverage') # From openstudio-measure-tester-gem
284
- next if file.to_s.start_with?('test_results') # From openstudio-measure-tester-gem
285
-
286
- paths << file.to_s
287
- if file.to_s =~ /^.{0,2}component.xml$/ || file.to_s =~ /^.{0,2}measure.xml$/
288
- if file.to_s.match?(/^.{0,2}component.xml$/)
289
- content_type = 'component'
290
- end
291
- # extract uuid and vid
292
- uuid, vid = bcl.uuid_vid_from_xml(file)
293
- end
294
- end
295
- puts "UUID: #{uuid}, VID: #{vid}"
296
-
297
- # note: if uuid is missing, will assume new content
298
- action = bcl.search_by_uuid(uuid, vid)
299
- puts "#{content_name} ACTION TO TAKE: #{action}"
300
- # new content functionality needs to know if measure or component. update is agnostic.
301
- if action == 'noop' # ignore up-to-date content
302
- puts " - WARNING: local #{content_name} uuid and vid match BCL... no update will be performed"
303
- noops += 1
304
- next
305
- elsif action == 'update'
306
- # puts "#{content_name} labeled as update for BCL"
307
- destination = STAGED_PATH.join(action, "#{content_name}.tar.gz")
308
- updates += 1
309
- elsif action == 'push'
310
- # puts "#{content_name} labeled as new content for BCL"
311
- destination = STAGED_PATH.join(action, content_type, "#{content_name}.tar.gz")
312
- new_ones += 1
313
- end
314
-
315
- puts "destination: #{destination}"
316
-
317
- # copy over only if 'reset_receipts' is set to TRUE. otherwise ignore if file exists already
318
- if File.exist?(destination)
319
- if options[:reset]
320
- FileUtils.rm(destination)
321
- BCL.tarball(destination, paths)
322
- else
323
- puts "*** WARNING: File #{content_name}.tar.gz already exists in staged directory... keeping existing file. To overwrite, set reset_receipts arg to true ***"
324
- end
325
- else
326
- BCL.tarball(destination, paths)
327
- end
328
- Dir.chdir(current_d)
329
- end
330
- puts '', "****STAGING DONE**** #{new_ones} new content, #{updates} updates, #{noops} skipped (already up-to-date on BCL)", ''
100
+ desc 'test component spreadsheet'
101
+ task :spreadsheet do
102
+ bclcomponents = BCL::ComponentFromSpreadsheet.new(File.expand_path('lib/files/Components.xls', __dir__), ['Roofing'])
103
+ bclcomponents.save(File.expand_path('lib/files/staged', __dir__))
331
104
  end
332
105
  end
333
106
 
data/bcl.gemspec CHANGED
@@ -16,7 +16,6 @@ Gem::Specification.new do |spec|
16
16
  spec.metadata = {
17
17
  'bug_tracker_uri' => 'https://github.com/NREL/bcl-gem/issues',
18
18
  'changelog_uri' => 'https://github.com/NREL/bcl-gem/blob/develop/CHANGELOG.md',
19
- # 'documentation_uri' => 'https://www.rubydoc.info/gems/openstudio-extension-gem/#{gem.version}',
20
19
  'source_code_uri' => "https://github.com/NREL/bcl-gem/tree/v#{spec.version}"
21
20
  }
22
21
 
@@ -27,7 +26,7 @@ Gem::Specification.new do |spec|
27
26
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
27
  spec.require_paths = ['lib']
29
28
 
30
- spec.required_ruby_version = '~> 2.7.0'
29
+ spec.required_ruby_version = '~> 3.2.2'
31
30
 
32
31
  spec.add_dependency 'builder', '3.2.4'
33
32
  spec.add_dependency 'faraday', '~> 1.0.1'
@@ -35,7 +34,7 @@ Gem::Specification.new do |spec|
35
34
 
36
35
  # Measure tester is not used in this project, but this will force dependencies to match versions
37
36
  # requested by OpenStudio. This includes dependencies for running tests/CI
38
- spec.add_dependency 'openstudio_measure_tester', '~> 0.3.1'
37
+ spec.add_dependency 'openstudio_measure_tester', '~> 0.5.0'
39
38
  spec.add_dependency 'rexml', '3.2.5'
40
39
  spec.add_dependency 'rubyzip', '~> 2.3.2'
41
40
  spec.add_dependency 'spreadsheet', '1.2.9'
@@ -43,6 +42,8 @@ Gem::Specification.new do |spec|
43
42
  spec.add_dependency 'yamler', '0.1.0'
44
43
  spec.add_dependency 'zliby', '0.0.5'
45
44
 
45
+ spec.add_development_dependency 'bundler', '2.4.10'
46
46
  spec.add_development_dependency 'rake', '~> 13.0'
47
47
  spec.add_development_dependency 'rspec', '~> 3.9'
48
+ spec.add_development_dependency 'rubocop', '1.50'
48
49
  end
data/lib/bcl/base_xml.rb CHANGED
@@ -1,36 +1,6 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
3
- # All rights reserved.
4
- # Redistribution and use in source and binary forms, with or without
5
- # modification, are permitted provided that the following conditions are met:
6
- #
7
- # (1) Redistributions of source code must retain the above copyright notice,
8
- # this list of conditions and the following disclaimer.
9
- #
10
- # (2) Redistributions in binary form must reproduce the above copyright notice,
11
- # this list of conditions and the following disclaimer in the documentation
12
- # and/or other materials provided with the distribution.
13
- #
14
- # (3) Neither the name of the copyright holder nor the names of any contributors
15
- # may be used to endorse or promote products derived from this software without
16
- # specific prior written permission from the respective party.
17
- #
18
- # (4) Other than as required in clauses (1) and (2), distributions in any form
19
- # of modifications or other derivative works may not use the "OpenStudio"
20
- # trademark, "OS", "os", or any other confusingly similar designation without
21
- # specific prior written permission from Alliance for Sustainable Energy, LLC.
22
- #
23
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY CONTRIBUTORS
24
- # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
25
- # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26
- # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S), ANY CONTRIBUTORS, THE
27
- # UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF
28
- # THEIR EMPLOYEES, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29
- # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
30
- # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31
- # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
32
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33
- # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
34
4
  # *******************************************************************************
35
5
 
36
6
  # KAF 2/13/2018
data/lib/bcl/component.rb CHANGED
@@ -1,36 +1,6 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
3
- # All rights reserved.
4
- # Redistribution and use in source and binary forms, with or without
5
- # modification, are permitted provided that the following conditions are met:
6
- #
7
- # (1) Redistributions of source code must retain the above copyright notice,
8
- # this list of conditions and the following disclaimer.
9
- #
10
- # (2) Redistributions in binary form must reproduce the above copyright notice,
11
- # this list of conditions and the following disclaimer in the documentation
12
- # and/or other materials provided with the distribution.
13
- #
14
- # (3) Neither the name of the copyright holder nor the names of any contributors
15
- # may be used to endorse or promote products derived from this software without
16
- # specific prior written permission from the respective party.
17
- #
18
- # (4) Other than as required in clauses (1) and (2), distributions in any form
19
- # of modifications or other derivative works may not use the "OpenStudio"
20
- # trademark, "OS", "os", or any other confusingly similar designation without
21
- # specific prior written permission from Alliance for Sustainable Energy, LLC.
22
- #
23
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY CONTRIBUTORS
24
- # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
25
- # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26
- # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S), ANY CONTRIBUTORS, THE
27
- # UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF
28
- # THEIR EMPLOYEES, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29
- # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
30
- # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31
- # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
32
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33
- # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
34
4
  # *******************************************************************************
35
5
 
36
6
  # Provides programmatic access to the component.xsd schema needed for
@@ -1,36 +1,6 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
3
- # All rights reserved.
4
- # Redistribution and use in source and binary forms, with or without
5
- # modification, are permitted provided that the following conditions are met:
6
- #
7
- # (1) Redistributions of source code must retain the above copyright notice,
8
- # this list of conditions and the following disclaimer.
9
- #
10
- # (2) Redistributions in binary form must reproduce the above copyright notice,
11
- # this list of conditions and the following disclaimer in the documentation
12
- # and/or other materials provided with the distribution.
13
- #
14
- # (3) Neither the name of the copyright holder nor the names of any contributors
15
- # may be used to endorse or promote products derived from this software without
16
- # specific prior written permission from the respective party.
17
- #
18
- # (4) Other than as required in clauses (1) and (2), distributions in any form
19
- # of modifications or other derivative works may not use the "OpenStudio"
20
- # trademark, "OS", "os", or any other confusingly similar designation without
21
- # specific prior written permission from Alliance for Sustainable Energy, LLC.
22
- #
23
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY CONTRIBUTORS
24
- # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
25
- # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26
- # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S), ANY CONTRIBUTORS, THE
27
- # UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF
28
- # THEIR EMPLOYEES, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29
- # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
30
- # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31
- # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
32
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33
- # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
34
4
  # *******************************************************************************
35
5
 
36
6
  # Converts a custom Excel spreadsheet format to BCL components for upload