web/formfields.py
changeset 5916 36206e846a27
parent 5911 47216d37bb3d
child 5955 67dfe437bf25
equal deleted inserted replaced
5915:e6cc50932720 5916:36206e846a27
   213         self.init_widget(widget)
   213         self.init_widget(widget)
   214         # ordering number for this field instance
   214         # ordering number for this field instance
   215         self.creation_rank = Field.__creation_rank
   215         self.creation_rank = Field.__creation_rank
   216         Field.__creation_rank += 1
   216         Field.__creation_rank += 1
   217 
   217 
       
   218     def as_string(self, repr=True):
       
   219         l = [u'<%s' % self.__class__.__name__]
       
   220         for attr in ('name', 'eidparam', 'role', 'id', 'value'):
       
   221             value = getattr(self, attr)
       
   222             if value is not None and value is not _MARKER:
       
   223                 l.append('%s=%r' % (attr, value))
       
   224         if repr:
       
   225             l.append('@%#x' % id(self))
       
   226         return u'%s>' % ' '.join(l)
       
   227 
   218     def __unicode__(self):
   228     def __unicode__(self):
   219         return u'<%s name=%r eidparam=%s role=%r id=%r value=%r visible=%r @%x>' % (
   229         return self.as_string(False)
   220             self.__class__.__name__, self.name, self.eidparam, self.role,
   230 
   221             self.id, self.value, self.is_visible(), id(self))
   231     def __str__(self):
       
   232         return self.as_string(False).encode('UTF8')
   222 
   233 
   223     def __repr__(self):
   234     def __repr__(self):
   224         return self.__unicode__().encode('utf-8')
   235         return self.as_string(True).encode('UTF8')
   225 
   236 
   226     def init_widget(self, widget):
   237     def init_widget(self, widget):
   227         if widget is not None:
   238         if widget is not None:
   228             self.widget = widget
   239             self.widget = widget
   229         elif self.choices and not self.widget.vocabulary_widget:
   240         elif self.choices and not self.widget.vocabulary_widget: