Skip to content

Commit b6592ef

Browse files
authored
Merge pull request #146 from BuildingSync/Updated-BEDES-Mapping
Update BEDES Mapping
2 parents 4d1b9d6 + 474e5b0 commit b6592ef

File tree

7 files changed

+69132
-10
lines changed

7 files changed

+69132
-10
lines changed

bsyncviewer/lib/bedes/bedes_parser.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ def _cache_terms(self):
118118
# print("DEF: {}".format(the_def['#text'] + ' ' + the_def['a']['#text']))
119119
elif 'span' in the_def.keys():
120120
# edge case: <span>. grab span.text element
121-
assembled['Term-Definition'] = the_def['span']['#text']
121+
assembled['Term-Definition'] = the_def['span']
122122
# print("DEF: {}".format(the_def['span']['#text']))
123123
else:
124124
assembled['Term-Definition'] = the_def

bsyncviewer/lib/bedes/v2.5/bedes_online_dictionary_uuid-lo.xml

+61,141
Large diffs are not rendered by default.

bsyncviewer/lib/bedes/v2.5/bedes_online_dictionary_uuid-terms.xml

+7,902
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
BSync String,BEDES String
2+
Addresses,Address
3+
Applicable Start Time,Interval Start Date
4+
Applicable End Time,Interval End Date
5+
Asset Score,Commercial Building Energy Asset Score
6+
Billpayer,Customer
7+
Businesses,Business
8+
Calculation Method,Cost Effectiveness Screening Method
9+
Categories,Category
10+
CDD,Cooling degree days
11+
CMU,Concrete Masonry Unit
12+
DB,Dry Bulb
13+
Deliveries,Delivery
14+
Desuperheat,Desuperheater
15+
Dir,Directional
16+
ENERGYSTAR,ENERGY STAR Portfolio Manager
17+
EWT,Entering Water Temperature
18+
Funding From Incentives,Incentives
19+
Door Glazed Area Fraction,Percent Glazing
20+
HDD,Heating Degree Days
21+
HPWH,Heat Pump Water Heater
22+
Street Additional Info,Address Line 2
23+
Interruptibility,Interruptible
24+
Latest,Most Recent
25+
Clothes Washer Loader Type,Laundry Configuration
26+
Lowered,Tuning
27+
LWT,Leaving Water Temperature
28+
Maxk,Max
29+
NP,NPV
30+
Street Number Numeric,Address Number
31+
OA,Outside Air
32+
OM,Operation Maintanance
33+
Postal Code Plus4,ZIP Plus 4
34+
PM,ENERGY STAR Portfolio Manager
35+
Price Escalation Rate,Escalation Rate
36+
Program,Assessment Program
37+
Publicly,Public
38+
Pumping,Pump
39+
PV,Photovoltaic
40+
Qualification,Credential
41+
Retrocommissions,Retrocommissioning
42+
Role,Type
43+
Setup,Reset Routine
44+
Shelves,Shelf
45+
Roof Slope,Roof Shape
46+
Sourced,Source
47+
Time Stamp,Time
48+
Story,Floor
49+
Tightness,Air Infiltration Description
50+
TOU,Time Of Use
51+
Utilities,Utility
52+
Vof,of
53+
Yearof,Year Of
54+
Street Address,Address Line 1
55+
Auditor,Energy Auditor
56+
ID,Identifier
57+
Maxk Wh,Max kWh
58+
Maxk W,Max kW
59+
Energy Storage,Energy Storage Technology

bsyncviewer/management/commands/bedes.py

+10-8
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,10 @@ def handle(self, *args, **options):
4747
save_to_db = options['save_to_db']
4848

4949
if save_to_db:
50-
self.stdout.write('Reparsing BEDES data and Saving BEDES mappings to database')
50+
self.stdout.write('Saving BEDES mappings to database from already generated mapping files.')
51+
# if save_to_db is True, save CSV files to DB (no reparse)
5152
# if save_to_db is True, save CSV files to DB (always reparse just in case)
52-
self.parse(bedes_version, schema_version)
53+
# self.parse(bedes_version, schema_version)
5354
self.save_mappings_to_database(bedes_version, schema_version)
5455
else:
5556
# do the parsing (only)
@@ -720,13 +721,14 @@ def save_mappings_to_database(self, bedes_version, schema_version):
720721
# get_or_create here b/c CSV structure maps schema attributes to bedes terms
721722
# there could be multiple listings of the same bedes term.
722723
if term['distance'] != "":
723-
BedesEnumeration.objects.get_or_create(
724-
content_uuid=term['bedes_content_uuid'],
725-
term=term['bedes_term'],
726-
definition=term['bedes_definition'],
727-
url=term['bedes_url'],
728-
related_term_uuid=term['bedes_related_term_uuid']
724+
bedes_enum, _ = BedesEnumeration.objects.get_or_create(
725+
content_uuid=term['bedes_content_uuid']
729726
)
727+
bedes_enum.term = term['bedes_term']
728+
bedes_enum.definition = term['bedes_definition']
729+
bedes_enum.url = term['bedes_url']
730+
bedes_enum.related_term_uuid = term['bedes_related_term_uuid']
731+
bedes_enum.save()
730732

731733
# rewind
732734
csv_file.seek(0)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generated by Django 2.2.24 on 2021-12-28 19:04
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('bsyncviewer', '0010_schema_enumerations_file'),
10+
]
11+
12+
operations = [
13+
migrations.AlterField(
14+
model_name='bedesenumeration',
15+
name='term',
16+
field=models.CharField(max_length=100),
17+
),
18+
]

bsyncviewer/models/bedes_models.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class BedesMapping(models.Model):
2424
# Bedes Enumeration
2525
class BedesEnumeration(models.Model):
2626
content_uuid = models.CharField(max_length=100, unique=True)
27-
term = models.CharField(max_length=100, unique=True)
27+
term = models.CharField(max_length=100)
2828
url = models.CharField(max_length=300)
2929
definition = models.TextField(blank=True, null=True)
3030
related_term_uuid = models.CharField(max_length=100, unique=False)

0 commit comments

Comments
 (0)