bug fix ...

This commit is contained in:
Steve Nyemba 2021-02-12 18:00:41 -06:00
parent 5b6ee889bd
commit 0bbcff95dc
2 changed files with 26 additions and 14 deletions

View File

@ -376,15 +376,20 @@ class Parser (Process):
label = _info['label'] label = _info['label']
if type(tmp) == list : if type(tmp) == list :
value[label] = tmp if label not in value else value[label] + tmp value[label] = tmp if label not in value else value[label] + tmp
else: else:
if label not in value: # if 'DTM' in row :
# print ([label,tmp,label in value])
if label not in value :
value[label] = []
value[label].append(tmp)
# if label not in value:
value[label] = [tmp] # value[label] = [tmp]
else: # else:
value[label].append(tmp) # value[label].append(tmp)
tmp['_index'] = len(value[label]) -1 tmp['_index'] = len(value[label]) -1
elif 'field' in _info : elif 'field' in _info :
@ -394,7 +399,7 @@ class Parser (Process):
value = jsonmerge.merge(value,{name:tmp}) value = jsonmerge.merge(value,{name:tmp})
else: else:
value = dict(value,**tmp) value = dict(value,**tmp)
pass pass
@ -490,7 +495,8 @@ class Parser (Process):
if _claim : if _claim :
_claim['index'] = index #len(claims) _claim['index'] = index #len(claims)
claims.append(dict(DEFAULT_VALUE,**_claim)) # claims.append(dict(DEFAULT_VALUE,**_claim))
claims.append( jsonmerge.merge(DEFAULT_VALUE,_claim))
segment = [row] segment = [row]
index += 1 index += 1
@ -503,13 +509,19 @@ class Parser (Process):
claim = self.apply(segment,_code) claim = self.apply(segment,_code)
if claim : if claim :
claim['index'] = len(claims) claim['index'] = len(claims)
# for _row_ in _toprows : schema = [key for key in claim.keys() if type(claim[key]) == list]
if schema :
# claim = jsonmerge.merge(claim,self.apply([_row_],_code)) schema = {"properties":dict.fromkeys(schema,{"mergeStrategy":"append"})}
claim = jsonmerge.merge(claim,self.apply(_toprows,_code)) print (schema)
claims.append(dict(DEFAULT_VALUE,**claim)) else:
schema = {}
merger = jsonmerge.Merger(schema)
top_row_claim = self.apply(_toprows,_code)
claim = merger.merge(claim,self.apply(_toprows,_code))
# claims.append(dict(DEFAULT_VALUE,**claim))
claims.append(merger.merge(DEFAULT_VALUE,claim))
if type(file) != list : if type(file) != list :
file.close() file.close()

View File

@ -8,7 +8,7 @@ import sys
def read(fname): def read(fname):
return open(os.path.join(os.path.dirname(__file__), fname)).read() return open(os.path.join(os.path.dirname(__file__), fname)).read()
args = { args = {
"name":"healthcareio","version":"1.6.2.1", "name":"healthcareio","version":"1.6.2.2",
"author":"Vanderbilt University Medical Center", "author":"Vanderbilt University Medical Center",
"author_email":"steve.l.nyemba@vumc.org", "author_email":"steve.l.nyemba@vumc.org",
"include_package_data":True, "include_package_data":True,