Permite valores vazios para OptionForm. master
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.info>
Mon, 24 Mar 2014 02:56:32 +0000 (23:56 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.info>
Mon, 24 Mar 2014 02:56:32 +0000 (23:56 -0300)
Quando um novo item é criado, os valores dos atributos não existem e a
classe Item retorna None. Testando este valor em OptionForm, não há mais
exceção causada por index(self.value) em find_index.

src/form.py

index 118a1e5..d1dc4ba 100644 (file)
@@ -45,6 +45,8 @@ class OptionsForm(BaseForm):
         self.value = value
         self.index = self.find_index()
     def find_index(self):
+        if self.value == None:
+            return -1
         return map(lambda x: x[0], self.options).index(self.value)
     def get_length(self):
         return len(self.options)
@@ -53,6 +55,8 @@ class OptionsForm(BaseForm):
     def get_value(self, index):
         return self.options[index][0]
     def get_cur_display(self):
+        if self.index < 0:
+            return ""
         return self.options[self.index][1]
     def get_cur_value(self):
         return self.value