Skip to content

Commit 661f2cf

Browse files
authored
Merge pull request #589 from DataIntegrationGroup/ngwmn-fix
ngwmn-fix
2 parents 6b493c4 + 2384f11 commit 661f2cf

1 file changed

Lines changed: 31 additions & 18 deletions

File tree

services/ngwmn_helper.py

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@
1717

1818
from sqlalchemy import text
1919

20+
21+
def _as_text(v):
22+
return "" if v is None else str(v)
23+
24+
2025
# NSMAP = dict(xsi="http://www.w3.org/2001/XMLSchema-instance", xsd="http://www.w3.org/2001/XMLSchema")
2126

2227

@@ -32,12 +37,19 @@ def make_xml_response(db, sql, point_id, func):
3237

3338

3439
def make_lithology_response(point_id, db):
35-
sql = 'select * from "NMA_view_NGWMN_Lithology" where "PointID"=:point_id'
40+
sql = (
41+
'select "PointID", "StratTop", "StratBottom", "TERM" '
42+
'from "NMA_view_NGWMN_Lithology" where "PointID"=:point_id'
43+
)
3644
return make_xml_response(db, sql, point_id, lithology_xml)
3745

3846

3947
def make_well_construction_response(point_id, db):
40-
sql = 'select * from "NMA_view_NGWMN_WellConstruction" where "PointID"=:point_id'
48+
sql = (
49+
'select "PointID", "CasingTop", "CasingBottom", "CasingDepthUnits", '
50+
'"ScreenTop", "ScreenBottom", "ScreenBottomUnit", "ScreenDescription", "CasingDescription" '
51+
'from "NMA_view_NGWMN_WellConstruction" where "PointID"=:point_id'
52+
)
4153
return make_xml_response(db, sql, point_id, well_construction_xml)
4254

4355

@@ -184,7 +196,7 @@ def make_continuous_water_level(root, r):
184196
("WaterLevelAccuracy", "0.02 ft"),
185197
):
186198
e = etree.SubElement(elem, attr)
187-
e.text = str(val)
199+
e.text = _as_text(val)
188200

189201

190202
def make_water_level(root, r):
@@ -206,59 +218,60 @@ def make_water_level(root, r):
206218
("WaterLevelAccuracy", r[5]),
207219
):
208220
e = etree.SubElement(elem, attr)
209-
e.text = str(val)
221+
e.text = _as_text(val)
210222

211223

212224
def make_well_construction(root, r):
213225
"""
214-
0 1 2 3 4 5 6, 7, 8
215-
pointid, castop, casbottom, cadepthunits, screentop, screenbotom, units,screen description, casing description
226+
0 1 2 3 4 5 6 7 8
227+
pointid, castop, casbottom, cadepthunits, screentop, screenbottom, screenbottomunit, screen description, casing description
216228
:param root:
217229
:param r:
218230
:return:
219231
"""
220232
elem = etree.SubElement(root, "Casing")
221-
make_point_id(elem, r)
233+
make_point_id(elem, r, idx=0)
222234

223235
e = etree.SubElement(elem, "CasingTop")
224-
e.text = str(r[1])
236+
e.text = _as_text(r[1])
225237

226238
e = etree.SubElement(elem, "CasingBottom")
227-
e.text = str(r[2])
239+
e.text = _as_text(r[2])
228240

229241
e = etree.SubElement(elem, "CasingDepthUnits")
230-
e.text = str(r[3])
242+
e.text = _as_text(r[3])
231243

232244
e = etree.SubElement(elem, "ScreenTop")
233-
e.text = str(r[4])
245+
e.text = _as_text(r[4])
234246

235247
e = etree.SubElement(elem, "ScreenBottom")
236-
e.text = str(r[5])
248+
e.text = _as_text(r[5])
237249

238250
e = etree.SubElement(elem, "ScreenDescription")
239-
e.text = str(r[7])
251+
e.text = _as_text(r[7])
240252

241253
e = etree.SubElement(elem, "ScreenMaterial")
242254
e.text = "steel"
243255

244256

245257
def make_lithology(root, r):
246258
elem = etree.SubElement(root, "Lithology")
247-
make_point_id(elem, r)
259+
make_point_id(elem, r, idx=0)
248260

249261
e = etree.SubElement(elem, "TopDepth")
250-
e.text = str(r[1])
262+
e.text = _as_text(r[1])
251263

252264
e = etree.SubElement(elem, "BottomDepth")
253-
e.text = str(r[2])
265+
e.text = _as_text(r[2])
254266

255267
e = etree.SubElement(elem, "Units")
256268
e.text = "feet"
257269

258270
e = etree.SubElement(elem, "Description")
259-
e.text = str(r[3])
271+
e.text = _as_text(r[3])
260272

261273

262274
def make_point_id(elem, r, idx=0):
263275
e = etree.SubElement(elem, "PointID")
264-
e.text = r[idx]
276+
v = r[idx]
277+
e.text = _as_text(v)

0 commit comments

Comments
 (0)