cubicweb/rtags.py
changeset 12567 26744ad37953
parent 12212 f2e6fb5ddf68
equal deleted inserted replaced
12566:6b3523f81f42 12567:26744ad37953
    37 """
    37 """
    38 
    38 
    39 
    39 
    40 import logging
    40 import logging
    41 
    41 
    42 from six import string_types
       
    43 
       
    44 from logilab.common.logging_ext import set_log_methods
    42 from logilab.common.logging_ext import set_log_methods
    45 from logilab.common.registry import RegistrableInstance, yes
    43 from logilab.common.registry import RegistrableInstance, yes
    46 
    44 
    47 
    45 
    48 def _ensure_str_key(key):
    46 def _ensure_str_key(key):
   180                     tag, self._allowed_values)
   178                     tag, self._allowed_values)
   181         self._tagdefs[_ensure_str_key(key)] = tag
   179         self._tagdefs[_ensure_str_key(key)] = tag
   182         return tag
   180         return tag
   183 
   181 
   184     def _tag_etype_attr(self, etype, attr, desttype='*', *args, **kwargs):
   182     def _tag_etype_attr(self, etype, attr, desttype='*', *args, **kwargs):
   185         if isinstance(attr, string_types):
   183         if isinstance(attr, str):
   186             attr, role = attr, 'subject'
   184             attr, role = attr, 'subject'
   187         else:
   185         else:
   188             attr, role = attr
   186             attr, role = attr
   189         if role == 'subject':
   187         if role == 'subject':
   190             self.tag_subject_of((etype, attr, desttype), *args, **kwargs)
   188             self.tag_subject_of((etype, attr, desttype), *args, **kwargs)