Browse Source

Adding additionalVariables setup field to supply constant variables for the whole dataset

Andrej 3 days ago
parent
commit
cc09c97fa1
1 changed files with 8 additions and 0 deletions
  1. 8 0
      importXLSX.py

+ 8 - 0
importXLSX.py

@@ -324,12 +324,15 @@ def importData(pars,filename,getId=getId,modify=modify,\
 # - project - labkey project
 # - schema - labkey schema (list/study, d: study)
 # - query - labkey query
+# - additionalVars - values that are constant for the whole dataset, labeled by a valid alias for a labkey field
 
    skiprows=pars.get('skiprows',0)
    usecols=pars.get('usecols',None)
    sheet_name=pars.get('sheet_name',0)
 #set this is as sequenceNum for entries, or initial seqNum if more than a single entry is in the dataset
    seqNumOffset=pars.get('seqNumOffset',0)
+   additionalVars=pars.get('additionalVars',{})
+
    fields=getFields(pars)
    lookupVars=getVariables(fields,fieldType='LOOKUP')
    dateVars=getVariables(fields,fieldType='DATE')
@@ -388,6 +391,11 @@ def importData(pars,filename,getId=getId,modify=modify,\
          entry[f]=qv
             
 #print('{}:{}/{}'.format(f,qv,type(qv)))
+
+      for v in additionalVars:
+         f=findAlias(v,alias)
+         entry[f]=additionalVars[v]
+
       seqNum=getSequenceNum(pMap,id)
       entry['SequenceNum']=seqNum+seqNumOffset
       entries.append(entry)