+from types import *
+
+
+
+def safeinput (message, valid=[]):
+ '''
+ friendlier frontend for alphainput and numinput
+ valid should be a list of 0...n values
+ '''
+
+ #if possible values are not listed we just ask for any non-null input
+ if len(valid)==0:
+ return alphainput(message, '',1,[])
+
+
+ if len(valid)>0:
+ #if valid values are string we use alphainput, if it is only one we take as default
+ if type(valid[0]) is StringType:
+ if len(valid)==1:
+ return alphainput(message, valid[0], 0,[])
+ else:
+ return alphainput(message,'', 1,valid)
+
+ #if valid values are numbers we use numinput
+ if type(valid[0]) is IntType:
+ if len(valid)==1:
+ return numinput(message,valid[0],1,[])
+ else:
+ return numinput(message,'',1,valid)
+
+
+