Mercurial > hg > webaudioevaluationtool
changeset 1893:3a43a17b430a
Quick update for scripts/score_parser.py to parse new save files.
author | Nicholas Jillings <nickjillings@users.noreply.github.com> |
---|---|
date | Tue, 15 Mar 2016 15:33:29 +0000 |
parents | d6411f7c9bc1 |
children | 3342ca63f423 |
files | scripts/score_parser.py |
diffstat | 1 files changed, 9 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/score_parser.py Mon Mar 14 13:36:43 2016 +0000 +++ b/scripts/score_parser.py Tue Mar 15 15:33:29 2016 +0000 @@ -43,12 +43,16 @@ subject_id = file_name[:-4] # file name (without extension) as subject ID # get list of all pages this subject evaluated - for audioholder in root.findall("./page"): # iterate over pages - page_name = audioholder.get('id') # get page name + for page in root.findall("./page"): # iterate over pages + page_name = page.get('ref') # get page reference ID if page_name is None: # ignore 'empty' audio_holders print "WARNING: " + file_name + " contains empty audio holder. (score_parser.py)" break + + if page.get('state') != "complete": + print "WARNING:" + file_name + " contains incomplete page " +page_name+ ". (score_parser.py)" + break; file_name = folder_name+'/ratings/'+page_name+'-ratings.csv' # score file name @@ -60,13 +64,13 @@ # go to fragment column, or create new column if it doesn't exist yet # get array of audio elements and number of audio elements - audiolist = audioholder.findall("./audioelement") + audiolist = page.findall("./audioelement") n_fragments = len(audiolist) # get alphabetical array of fragment IDs from this subject's XML fragmentnamelist = [] # make empty list for audioelement in audiolist: # iterate over all audioelements - fragmentnamelist.append(audioelement.get('id')) # add to list + fragmentnamelist.append(audioelement.get('ref')) # add to list # if file exists, get header and add any 'new' fragments not yet in the header @@ -119,7 +123,7 @@ # get scores related to fragment [id] for fragmentname in headerrow[1:]: # iterate over fragments in header (skip first empty column) - elementvalue = audioholder.find("./audioelement/[@id='" + elementvalue = page.find("./audioelement/[@ref='" + fragmentname + "']/value") if hasattr(elementvalue, 'text'): # if rating for this fragment exists