annotate helper.py @ 28:6947d8ed51cc draft

Uploaded
author bgruening
date Wed, 03 Dec 2014 14:23:27 -0500
parents aad8927093ac
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22
aad8927093ac Uploaded
bgruening
parents:
diff changeset
1
aad8927093ac Uploaded
bgruening
parents:
diff changeset
2 from galaxy.tools.parameters import DataToolParameter
aad8927093ac Uploaded
bgruening
parents:
diff changeset
3
aad8927093ac Uploaded
bgruening
parents:
diff changeset
4 def validate_input( trans, error_map, param_values, page_param_map ):
aad8927093ac Uploaded
bgruening
parents:
diff changeset
5 """
aad8927093ac Uploaded
bgruening
parents:
diff changeset
6 Validates the user input, before execution.
aad8927093ac Uploaded
bgruening
parents:
diff changeset
7 """
aad8927093ac Uploaded
bgruening
parents:
diff changeset
8 factors = param_values['rep_factorName']
aad8927093ac Uploaded
bgruening
parents:
diff changeset
9 factor_name_list = []
aad8927093ac Uploaded
bgruening
parents:
diff changeset
10 factor_duplication = False
aad8927093ac Uploaded
bgruening
parents:
diff changeset
11 level_duplication = False
aad8927093ac Uploaded
bgruening
parents:
diff changeset
12
aad8927093ac Uploaded
bgruening
parents:
diff changeset
13 for factor in factors:
aad8927093ac Uploaded
bgruening
parents:
diff changeset
14 # factor names should be unique
aad8927093ac Uploaded
bgruening
parents:
diff changeset
15 fn = factor['factorName']
aad8927093ac Uploaded
bgruening
parents:
diff changeset
16 if fn in factor_name_list:
aad8927093ac Uploaded
bgruening
parents:
diff changeset
17 factor_duplication = True
aad8927093ac Uploaded
bgruening
parents:
diff changeset
18 break
aad8927093ac Uploaded
bgruening
parents:
diff changeset
19 factor_name_list.append( fn )
aad8927093ac Uploaded
bgruening
parents:
diff changeset
20
aad8927093ac Uploaded
bgruening
parents:
diff changeset
21 level_name_list = list()
aad8927093ac Uploaded
bgruening
parents:
diff changeset
22 factor_index_list = list()
aad8927093ac Uploaded
bgruening
parents:
diff changeset
23
aad8927093ac Uploaded
bgruening
parents:
diff changeset
24 for level in factor['rep_factorLevel']:
aad8927093ac Uploaded
bgruening
parents:
diff changeset
25 # level names under one factor should be unique
aad8927093ac Uploaded
bgruening
parents:
diff changeset
26 fl = level['factorLevel']
aad8927093ac Uploaded
bgruening
parents:
diff changeset
27 if fl in level_name_list:
aad8927093ac Uploaded
bgruening
parents:
diff changeset
28 level_duplication = True
aad8927093ac Uploaded
bgruening
parents:
diff changeset
29 level_name_list.append( fl )
aad8927093ac Uploaded
bgruening
parents:
diff changeset
30
aad8927093ac Uploaded
bgruening
parents:
diff changeset
31 if level_duplication:
aad8927093ac Uploaded
bgruening
parents:
diff changeset
32 error_map['rep_factorName'] = [ dict() for t in factors ]
aad8927093ac Uploaded
bgruening
parents:
diff changeset
33 for i in range( len( factors ) ):
aad8927093ac Uploaded
bgruening
parents:
diff changeset
34 error_map['rep_factorName'][i]['rep_factorLevel'] = [ {'factorLevel': 'Factor levels for each factor need to be unique'} for t in factor['rep_factorLevel'] ]
aad8927093ac Uploaded
bgruening
parents:
diff changeset
35 break
aad8927093ac Uploaded
bgruening
parents:
diff changeset
36
aad8927093ac Uploaded
bgruening
parents:
diff changeset
37 if factor_duplication:
aad8927093ac Uploaded
bgruening
parents:
diff changeset
38 error_map['rep_factorName'] = [ dict() for t in factors ]
aad8927093ac Uploaded
bgruening
parents:
diff changeset
39 for i in range( len( factors ) ):
aad8927093ac Uploaded
bgruening
parents:
diff changeset
40 error_map['rep_factorName'][i]['factorName'] = 'Factor names need to be unique.'
aad8927093ac Uploaded
bgruening
parents:
diff changeset
41