entities/adapters.py
changeset 5895 6a3f776292a5
parent 5877 0c7b7b76a84f
child 5981 3472c051da77
equal deleted inserted replaced
5894:7510cc3bbdbb 5895:6a3f776292a5
   154         maindict.setdefault(weight, []).extend(words)
   154         maindict.setdefault(weight, []).extend(words)
   155 
   155 
   156 class IDownloadableAdapter(EntityAdapter):
   156 class IDownloadableAdapter(EntityAdapter):
   157     """interface for downloadable entities"""
   157     """interface for downloadable entities"""
   158     __regid__ = 'IDownloadable'
   158     __regid__ = 'IDownloadable'
   159     __select__ = implements(IDownloadable) # XXX for bw compat, else should be abstract
   159     __select__ = implements(IDownloadable, warn=False) # XXX for bw compat, else should be abstract
   160 
   160 
   161     @implements_adapter_compat('IDownloadable')
   161     @implements_adapter_compat('IDownloadable')
   162     def download_url(self): # XXX not really part of this interface
   162     def download_url(self): # XXX not really part of this interface
   163         """return an url to download entity's content"""
   163         """return an url to download entity's content"""
   164         raise NotImplementedError
   164         raise NotImplementedError
   184     """This adapter has to be overriden to be configured using the
   184     """This adapter has to be overriden to be configured using the
   185     tree_relation, child_role and parent_role class attributes to
   185     tree_relation, child_role and parent_role class attributes to
   186     benefit from this default implementation
   186     benefit from this default implementation
   187     """
   187     """
   188     __regid__ = 'ITree'
   188     __regid__ = 'ITree'
   189     __select__ = implements(ITree) # XXX for bw compat, else should be abstract
   189     __select__ = implements(ITree, warn=False) # XXX for bw compat, else should be abstract
   190 
   190 
   191     child_role = 'subject'
   191     child_role = 'subject'
   192     parent_role = 'object'
   192     parent_role = 'object'
   193 
   193 
   194     @property
   194     @property
   341 
   341 
   342     You should at least override progress_info an in_progress methods on concret
   342     You should at least override progress_info an in_progress methods on concret
   343     implementations.
   343     implementations.
   344     """
   344     """
   345     __regid__ = 'IProgress'
   345     __regid__ = 'IProgress'
   346     __select__ = implements(IProgress) # XXX for bw compat, should be abstract
   346     __select__ = implements(IProgress, warn=False) # XXX for bw compat, should be abstract
   347 
   347 
   348     @property
   348     @property
   349     @implements_adapter_compat('IProgress')
   349     @implements_adapter_compat('IProgress')
   350     def cost(self):
   350     def cost(self):
   351         """the total cost"""
   351         """the total cost"""
   409         return ''
   409         return ''
   410 
   410 
   411 
   411 
   412 class IMileStoneAdapter(IProgressAdapter):
   412 class IMileStoneAdapter(IProgressAdapter):
   413     __regid__ = 'IMileStone'
   413     __regid__ = 'IMileStone'
   414     __select__ = implements(IMileStone) # XXX for bw compat, should be abstract
   414     __select__ = implements(IMileStone, warn=False) # XXX for bw compat, should be abstract
   415 
   415 
   416     parent_type = None # specify main task's type
   416     parent_type = None # specify main task's type
   417 
   417 
   418     @implements_adapter_compat('IMileStone')
   418     @implements_adapter_compat('IMileStone')
   419     def get_main_task(self):
   419     def get_main_task(self):