urltree.py
changeset 82 d636dfcbd519
parent 81 847da3c265b5
child 83 69312afad653
equal deleted inserted replaced
81:847da3c265b5 82:d636dfcbd519
   613                 value = None
   613                 value = None
   614 
   614 
   615             else :
   615             else :
   616                 # parse value
   616                 # parse value
   617                 value = type.parse(value)
   617                 value = type.parse(value)
   618 
   618             
       
   619             # XXX: this should set it to True or something... it's a flag, "/foo?bar"
   619             # set default?
   620             # set default?
   620             if value is None :
   621             if value is None :
   621                 if default :
       
   622                     value = default
       
   623 
       
   624                 if default == '' :
   622                 if default == '' :
   625                     # do not pass key at all
   623                     # do not pass key at all
   626                     continue
   624                     continue
   627 
   625 
   628                 # otherwise, fail
   626                 elif default is not None :
   629                 raise URLError("No value given for required argument: %r" % (key, ))
   627                     # pass default value
       
   628                     value = default
       
   629 
       
   630                 else :
       
   631                     # required arg, no default
       
   632                     raise URLError("No value given for required argument: %r" % (key, ))
   630             
   633             
   631             # already have a non-default value?
   634             # already have a non-default value?
   632             if key in kwargs and key not in default_labels :
   635             if key in kwargs and key not in default_labels :
   633                 # append to old value
   636                 # append to old value
   634                 kwargs[key] = type.append(kwargs[key], value)
   637                 kwargs[key] = type.append(kwargs[key], value)