Mercurial > hg > webaudioevaluationtool
changeset 2988:d5c20bd0eb62
Preliminary fixes re robustness against 'repeated pages' (repeatCount)
author | Brecht De Man <brecht.deman@bcu.ac.uk> |
---|---|
date | Wed, 25 Apr 2018 15:19:46 +0200 |
parents | 1a1d37f2b4e5 |
children | 543f28dea505 |
files | python/score_parser.py python/timeline_view_movement.py |
diffstat | 2 files changed, 20 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/python/score_parser.py Mon Apr 23 16:45:05 2018 +0200 +++ b/python/score_parser.py Wed Apr 25 15:19:46 2018 +0200 @@ -4,6 +4,7 @@ import os import sys import csv +import re # COMMAND LINE ARGUMENTS @@ -60,9 +61,12 @@ if storage.get(page_name) == None: storage[page_name] = {'header':[], 'axis':{}} # add to the store + # strip repetitions + page_name_root = re.sub('-repeat-.$', '', page_name) + # Get the axis names - pageConfig = root.find('./waet/page/[@id="'+page_name+'"]') - for interface in pageConfig.findall('./interface'): # Get the <interface> noeds + pageConfig = root.find('./waet/page/[@id="'+page_name_root+'"]') + for interface in pageConfig.findall('./interface'): # Get the <interface> nodes interfaceName = interface.get("name"); # Get the axis name if interfaceName == None: interfaceName = "default" # If name not set, make name 'default'
--- a/python/timeline_view_movement.py Mon Apr 23 16:45:05 2018 +0200 +++ b/python/timeline_view_movement.py Wed Apr 25 15:19:46 2018 +0200 @@ -5,7 +5,7 @@ import sys # command line arguments import matplotlib.pyplot as plt # plots import matplotlib.patches as patches # rectangles - +import re # regular expressions # COMMAND LINE ARGUMENTS @@ -113,11 +113,17 @@ if initial_position_temp is None: print("Skipping "+page_name+" from "+subject_id+": does not have initial positions specified.") break - - # get move events, initial and eventual position - initial_position = float(initial_position_temp.text) - move_events = audioelement.findall("./metric/metricresult/[@name='elementTrackerFull']/movement") - final_position = float(audioelement.find("./value").text) + + # if reference, only display 'listen' events + if audioelement.get('type')=="outside-reference": + initial_position = 1.0 + move_events = [] + final_position = 1.0 + else: + # get move events, initial and eventual position + initial_position = float(initial_position_temp.text) + move_events = audioelement.findall("./metric/metricresult/[@name='elementTrackerFull']/movement") + final_position = float(audioelement.find("./value").text) # get listen events start_times_global = [] @@ -292,7 +298,8 @@ # Y axis title and tick labels as specified in 'setup' # for corresponding page - page_setup = root.find("./waet/page[@id='"+page_name+"']") + page_name_root = re.sub('-repeat-.$', '', page_name) + page_setup = root.find("./waet/page[@id='"+page_name_root+"']") # 'ref' of page is 'id' in page setup # Different plots for different axes