SurveyEngine是一个可自定义的Survey Web用户界面。
surveyengine的Python项目详细描述
可自定义的调查Web用户界面。
您可以通过
pip install --user surveyengine
并通过以下方式运行:
python -m surveyengine spec.json output/
其中,output是结果的输出文件夹,spec.json是 测量规范:
{"title":"Survey Title Here",// the survey title "pages":[// a sequence of pages {"lines":["first line",// plain text that will be displayed "second line {foo}"// displays: second line bar ],"vars":{// defines local variables "foo":"bar"},"pid":"start"// the id for the page (used as prefix in the result file) "continue":"next",// creates a single button at the bottom -- default ("next") can be omitted "type":"plain"// the type of page -- default ("plain") can be omitted },{"type":"each",// repeats a sequence of pages "name":"ix",// the iteration variable name -- it can be used via {ix} in fields "name_next":"ix_next",// "name_next" and "name_prev" are optional variables containing the next / previous iteration "vars":{// defines local variables "img_len":25// we define the range as variable so we can use it in the text },"to":"{img_len}",// iterate until this number "pages":[// ... pages to repeat ... {"lines":["image {ix_next} / {img_len}",// displays: image 1 / 25 ["img","path/to/image{ix}.png",""]// the image to display ],"pid":"question:{ix}"// the id for the page "continue":"choice",// creates a collection of buttons at the bottom "values":[// the values to choose from "yes","no"]}]// this page type does not have a "continue" field },{"lines":[// other special lines // [ question_type, display_text, question_id ] ["text","just text",""],// simple text -- equivalent to "just text" ["likert","fun","fun"],// likert scale ["likert","confidence","conf"]],"pid":"specials"},{"lines":["Thanks! {_token}"// _token is a special variable containing the user id ],"continue":"end",// indicates the end of the survey -- this page must exist "pid":"end"}]}
每个用户在输出文件夹中创建一个带有其唯一标记的结果文件。 结果文件是一个包含所有答案的JSON文件