bcl 0.7.1 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6a9c714a1d731180ba6a697a3f945d0269ea258d381b31d83c91752415e60603
4
- data.tar.gz: f86719936cbb27b79dd812174d5dc1707fa4426439879a16cfc78f9cb8f2666b
3
+ metadata.gz: 1d846e29ef5a83888943eb997326d38e40cf6ba17288a17f610b722f2ebfcfe0
4
+ data.tar.gz: 570843a08e8a90c8ecf0d5c31120c274ad49a2279ac82132529451448a84781d
5
5
  SHA512:
6
- metadata.gz: 9d0fa86c270c26fd224153d5a8179ff24c46b9f27373879c7a1c140279100098da8c83167345f5518c72f14fd6a7c5c22e50506d9fec8ed258f74afa72dfaade
7
- data.tar.gz: 713bfd1a0e94a4a4c7b5cdd702ab250c82cd64e1b8188d810a0879fc9b513ec138c8168988cb0242fedfc9deb1d0e58e61a6e5154fea159c88439d9e2eae1743
6
+ metadata.gz: 45c82af0745dd00892220dd8b2af6606aa22619eac5790babccc3ed26d925b24166f22ce1863cce7d7a45c0358a324595ea960e1e7a8193d3f59d062bd9f1d2f
7
+ data.tar.gz: a4b11e62e52d29ff5fdf31cfd6272409631139a9fba906fb69bff4032b7095400055455b84a16f43a7faa2f5db91e027b59c6335c5325d72a68a621d15d2370c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Change Log
2
2
 
3
+ ## Version 0.8.0
4
+ * BCLXML validation: adjust schemas
5
+ * removed staging, pushing, updating of components
6
+ * removed login
7
+ * simplified config file to only contain server URL
8
+ * removed test to download component via POST (was that needed?)
9
+ * code clean-up and test clean-up
10
+ * updated dependencies to support Ruby 3.2.2 & OpenStudio 3.8.0
11
+
3
12
  ## Version 0.7.1
4
13
  * Update license to standard OpenStudio 4-clause BSD license
5
14
  * 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.4.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,7 @@ 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
48
  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