Commit 3f0b10f39413035370ebc5fc691902518775e84a

Authored by Miguel Barao
1 parent 7649945c
Exists in master and in 1 other branch dev

- added show_ref flag so that question ref and filename are shown.

@@ -95,7 +95,10 @@ A test is a file in `yaml` format that can reside anywhere on the filesystem. It @@ -95,7 +95,10 @@ A test is a file in `yaml` format that can reside anywhere on the filesystem. It
95 practice_mode: True 95 practice_mode: True
96 96
97 # Show the data structures obtained from the test and the questions 97 # Show the data structures obtained from the test and the questions
98 - debug: True 98 + debug: False
  99 +
  100 + # Show the file and ref field of each question
  101 + show_ref: True
99 102
100 # ------------------------------------------------------------------------- 103 # -------------------------------------------------------------------------
101 # This are the questions database to be imported. 104 # This are the questions database to be imported.
@@ -146,6 +146,8 @@ def parse_arguments(): @@ -146,6 +146,8 @@ def parse_arguments():
146 argparser.add_argument('--server', default='conf/server.conf', type=str, help='server configuration file') 146 argparser.add_argument('--server', default='conf/server.conf', type=str, help='server configuration file')
147 argparser.add_argument('--debug', action='store_true', 147 argparser.add_argument('--debug', action='store_true',
148 help='Show datastructures when rendering questions') 148 help='Show datastructures when rendering questions')
  149 + argparser.add_argument('--show_ref', action='store_true',
  150 + help='Show filename and ref field for each question')
149 argparser.add_argument('--show_points', action='store_true', 151 argparser.add_argument('--show_points', action='store_true',
150 help='Show normalized points for each question') 152 help='Show normalized points for each question')
151 argparser.add_argument('--show_hints', action='store_true', 153 argparser.add_argument('--show_hints', action='store_true',
@@ -161,7 +163,7 @@ def parse_arguments(): @@ -161,7 +163,7 @@ def parse_arguments():
161 if __name__ == '__main__': 163 if __name__ == '__main__':
162 # --- parse command line arguments and build base test 164 # --- parse command line arguments and build base test
163 arg = parse_arguments() 165 arg = parse_arguments()
164 - testconf = test.read_configuration(arg.testfile[0], debug=arg.debug, show_points=arg.show_points, show_hints=arg.show_hints, save_answers=arg.save_answers, practice=arg.practice) 166 + testconf = test.read_configuration(arg.testfile[0], debug=arg.debug, show_points=arg.show_points, show_hints=arg.show_hints, save_answers=arg.save_answers, practice=arg.practice, show_ref=arg.show_ref)
165 167
166 print('=' * 79) 168 print('=' * 79)
167 print('- Title: %s' % testconf['title']) 169 print('- Title: %s' % testconf['title'])
templates/test.html
@@ -157,7 +157,7 @@ @@ -157,7 +157,7 @@
157  Classificar 157  Classificar
158 </div> 158 </div>
159 <div class="panel-body" id="example${i}"> 159 <div class="panel-body" id="example${i}">
160 - <h4> ${i+1}.</h4> 160 + <h4> ${i+1}. </h4>
161 161
162 <p class="question"> 162 <p class="question">
163 ${pretty(q['text'])} 163 ${pretty(q['text'])}
@@ -253,11 +253,24 @@ @@ -253,11 +253,24 @@
253 % endif 253 % endif
254 254
255 </div> <!-- panel-body --> 255 </div> <!-- panel-body -->
256 - % if t['debug']: 256 + % if t['debug'] or t['show_ref']:
257 <div class="panel-footer"> 257 <div class="panel-footer">
258 - <pre>  
259 - ${yaml.dump(q)}  
260 - </pre> 258 +
  259 + % if t['debug']:
  260 + <pre>
  261 + ${yaml.dump(q)}
  262 + </pre>
  263 + % endif
  264 +
  265 + % if t['show_ref']:
  266 + <dl class="dl-horizontal">
  267 + <dt>filename:</dt>
  268 + <dd>${q['filename']}</dd>
  269 + <dt>ref:</dt>
  270 + <dd>${q['ref']}</dd>
  271 + </dl>
  272 + % endif
  273 +
261 </div> 274 </div>
262 % endif 275 % endif
263 </div> <!-- panel --> 276 </div> <!-- panel -->
@@ -11,7 +11,7 @@ import questions @@ -11,7 +11,7 @@ import questions
11 import database 11 import database
12 12
13 # =========================================================================== 13 # ===========================================================================
14 -def read_configuration(filename, debug=False, show_points=False, show_hints=False, practice=False, save_answers=False): 14 +def read_configuration(filename, debug=False, show_points=False, show_hints=False, practice=False, save_answers=False, show_ref=False):
15 # FIXME validar se ficheiros e directorios existem??? 15 # FIXME validar se ficheiros e directorios existem???
16 if not os.path.isfile(filename): 16 if not os.path.isfile(filename):
17 print('Cannot find file "%s"' % filename) 17 print('Cannot find file "%s"' % filename)
@@ -31,6 +31,7 @@ def read_configuration(filename, debug=False, show_points=False, show_hints=Fals @@ -31,6 +31,7 @@ def read_configuration(filename, debug=False, show_points=False, show_hints=Fals
31 test['show_points'] = bool(test.get('show_points', show_points)) 31 test['show_points'] = bool(test.get('show_points', show_points))
32 test['practice'] = bool(test.get('practice', practice)) 32 test['practice'] = bool(test.get('practice', practice))
33 test['debug'] = bool(test.get('debug', debug)) 33 test['debug'] = bool(test.get('debug', debug))
  34 + test['show_ref'] = bool(test.get('show_ref', show_ref))
34 test['save_answers'] = bool(test.get('save_answers', save_answers)) 35 test['save_answers'] = bool(test.get('save_answers', save_answers))
35 if test['save_answers']: 36 if test['save_answers']:
36 if 'answers_dir' not in test: 37 if 'answers_dir' not in test: