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 +4 -4
- data/CHANGELOG.md +9 -0
- data/LICENSE.md +1 -1
- data/Rakefile +37 -264
- data/bcl.gemspec +3 -3
- data/lib/bcl/base_xml.rb +2 -32
- data/lib/bcl/component.rb +2 -32
- data/lib/bcl/component_from_spreadsheet.rb +2 -32
- data/lib/bcl/component_methods.rb +61 -441
- data/lib/bcl/core_ext.rb +2 -32
- data/lib/bcl/tar_ball.rb +2 -66
- data/lib/bcl/version.rb +3 -33
- data/lib/bcl.rb +2 -32
- data/schemas/v3/measure_v3.xsd +1 -6
- metadata +24 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d846e29ef5a83888943eb997326d38e40cf6ba17288a17f610b722f2ebfcfe0
|
4
|
+
data.tar.gz: 570843a08e8a90c8ecf0d5c31120c274ad49a2279ac82132529451448a84781d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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-
|
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)
|
3
|
-
#
|
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
|
72
|
-
task :
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
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.
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
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
|
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
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
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
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
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.
|
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.
|
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)
|
3
|
-
#
|
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)
|
3
|
-
#
|
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)
|
3
|
-
#
|
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
|