From 159c168786616794bc128d2f1dc872c34d5f9f8c Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Mon, 16 May 2011 13:44:42 -0400 Subject: [PATCH] NF: parsing out those ratings questions --- survey/Makefile | 11 ++++++++++- survey/makestats | 7 +++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/survey/Makefile b/survey/Makefile index e817fc8..b532301 100644 --- a/survey/Makefile +++ b/survey/Makefile @@ -18,7 +18,7 @@ results_snippet.html: results.html | tail -n$$(echo "$$(wc -l < results.html) - $$(grep -n '' \ < results.html | cut -d ':' -f 1,1) - 2" | bc ) > $@ -statfigures: oslist.txt swlist.txt datamodlist.txt employer-dd-list.txt position-dd-list.txt +statfigures: oslist.txt swlist.txt datamodlist.txt employer-dd-list.txt position-dd-list.txt ratingslist.txt # create "lockfile' @touch $@ @[ "$$(cat nsubmissions.stamp 2>/dev/null || echo)" != "$$(ls -1 data |wc -l)" ] \ @@ -49,6 +49,15 @@ datamodlist.txt: survey.rst @sed -n -e '/bg_$*/,/\/tr/p' survey.rst \ | sed -ne '/option/s,.*value="\([^"]*\)" *label=\("[^"]*"\)>.*,\1: \2,gp' >| $@ +ratingslist.txt: survey.rst + @echo "I: Extracting fields for ratings into $@" + @grep -B 6 -e 'radio.*_r.*value="3"' survey.rst \ + | grep -v -e '^\.\. raw' -e '^[ -]*$$' -e '| $@ + upload: index.html results.html results_snippet.html jquery.form.js survey.css surveycollector.cgi rsync -rvzlhp --delete \ --exclude='*.txt' --exclude=data --exclude='*.cgi' --exclude=figures \ diff --git a/survey/makestats b/survey/makestats index 69e689c..7f500d6 100755 --- a/survey/makestats +++ b/survey/makestats @@ -91,7 +91,13 @@ def load_list2dict(name): d = {} lfile = open(name) for line in lfile: + if line.strip() == "": + continue kv = line.split(':') + if kv[0] in d: + raise RuntimeError( + "Got a line %s with a duplicate key %s whenever value for it " + "is known already to be %r" % (line, kv[0], d[kv[0]])) d[kv[0]] = kv[1].strip().strip('"') return d @@ -103,6 +109,7 @@ class DB(dict): sw_dict = load_list2dict('swlist.txt') position_dict = load_list2dict('position-dd-list.txt') employer_dict = load_list2dict('employer-dd-list.txt') + ratings_dict = load_list2dict('ratingslist.txt') def __init__(self, srcdir): # eats the whole directory -- 2.39.2