entity.py
changeset 10612 84468b90e9c1
parent 10609 e2d8e81bfe68
child 10613 8d9fe02387e3
equal deleted inserted replaced
10611:f4dec0cca9a1 10612:84468b90e9c1
    20 __docformat__ = "restructuredtext en"
    20 __docformat__ = "restructuredtext en"
    21 
    21 
    22 from warnings import warn
    22 from warnings import warn
    23 from functools import partial
    23 from functools import partial
    24 
    24 
       
    25 from six import string_types
    25 from six.moves import range
    26 from six.moves import range
    26 
    27 
    27 from logilab.common.decorators import cached
    28 from logilab.common.decorators import cached
    28 from logilab.common.deprecation import deprecated
    29 from logilab.common.deprecation import deprecated
    29 from logilab.common.registry import yes
    30 from logilab.common.registry import yes
   279                     settype=True, ordermethod='fetch_order'):
   280                     settype=True, ordermethod='fetch_order'):
   280         if select is None:
   281         if select is None:
   281             select = Select()
   282             select = Select()
   282             mainvar = select.get_variable(mainvar)
   283             mainvar = select.get_variable(mainvar)
   283             select.add_selected(mainvar)
   284             select.add_selected(mainvar)
   284         elif isinstance(mainvar, basestring):
   285         elif isinstance(mainvar, string_types):
   285             assert mainvar in select.defined_vars
   286             assert mainvar in select.defined_vars
   286             mainvar = select.get_variable(mainvar)
   287             mainvar = select.get_variable(mainvar)
   287         # eases string -> syntax tree test transition: please remove once stable
   288         # eases string -> syntax tree test transition: please remove once stable
   288         select._varmaker = rqlvar_maker(defined=select.defined_vars,
   289         select._varmaker = rqlvar_maker(defined=select.defined_vars,
   289                                         aliases=select.aliases, index=26)
   290                                         aliases=select.aliases, index=26)
   695         html tags
   696         html tags
   696         """
   697         """
   697         attr = str(attr)
   698         attr = str(attr)
   698         if value is _marker:
   699         if value is _marker:
   699             value = getattr(self, attr)
   700             value = getattr(self, attr)
   700         if isinstance(value, basestring):
   701         if isinstance(value, string_types):
   701             value = value.strip()
   702             value = value.strip()
   702         if value is None or value == '': # don't use "not", 0 is an acceptable value
   703         if value is None or value == '': # don't use "not", 0 is an acceptable value
   703             return u''
   704             return u''
   704         if attrtype is None:
   705         if attrtype is None:
   705             attrtype = self.e_schema.destination(attr)
   706             attrtype = self.e_schema.destination(attr)