entities/lib.py
branchtls-sprint
changeset 1477 b056a49c16dc
parent 1398 5fe84a5f7035
parent 1410 dc22b5461850
child 1780 7549509ce0e6
equal deleted inserted replaced
1476:f94b41709ce6 1477:b056a49c16dc
    28 
    28 
    29     def dc_title(self):
    29     def dc_title(self):
    30         if self.alias:
    30         if self.alias:
    31             return '%s <%s>' % (self.alias, self.display_address())
    31             return '%s <%s>' % (self.alias, self.display_address())
    32         return self.display_address()
    32         return self.display_address()
    33     
    33 
    34     @property
    34     @property
    35     def email_of(self):
    35     def email_of(self):
    36         return self.reverse_use_email and self.reverse_use_email[0]
    36         return self.reverse_use_email and self.reverse_use_email[0]
    37     
    37 
    38     @cached
    38     @cached
    39     def canonical_form(self):
    39     def canonical_form(self):
    40         if self.canonical:
    40         if self.canonical:
    41             return self
    41             return self
    42         rql = 'EmailAddress X WHERE X identical_to Y, X canonical TRUE, Y eid %(y)s'
    42         rql = 'EmailAddress X WHERE X identical_to Y, X canonical TRUE, Y eid %(y)s'
    89 
    89 
    90 
    90 
    91 class CWProperty(AnyEntity):
    91 class CWProperty(AnyEntity):
    92     id = 'CWProperty'
    92     id = 'CWProperty'
    93 
    93 
    94     fetch_attrs, fetch_order = fetch_config(['pkey', 'value'])    
    94     fetch_attrs, fetch_order = fetch_config(['pkey', 'value'])
    95     rest_attr = 'pkey'
    95     rest_attr = 'pkey'
    96 
    96 
    97     def typed_value(self):
    97     def typed_value(self):
    98         return self.vreg.typed_value(self.pkey, self.value)
    98         return self.vreg.typed_value(self.pkey, self.value)
    99         
    99 
   100     def dc_description(self):
   100     def dc_description(self):
   101         try:
   101         try:
   102             return self.req._(self.vreg.property_info(self.pkey)['help'])
   102             return self.req._(self.vreg.property_info(self.pkey)['help'])
   103         except UnknownProperty:
   103         except UnknownProperty:
   104             return u''
   104             return u''
   106     def after_deletion_path(self):
   106     def after_deletion_path(self):
   107         """return (path, parameters) which should be used as redirect
   107         """return (path, parameters) which should be used as redirect
   108         information when this entity is being deleted
   108         information when this entity is being deleted
   109         """
   109         """
   110         return 'view', {}
   110         return 'view', {}
   111         
   111 
   112 
   112 
   113 class Bookmark(AnyEntity):
   113 class Bookmark(AnyEntity):
   114     """customized class for Bookmark entities"""
   114     """customized class for Bookmark entities"""
   115     id = 'Bookmark'
   115     id = 'Bookmark'
   116     fetch_attrs, fetch_order = fetch_config(['title', 'path'])
   116     fetch_attrs, fetch_order = fetch_config(['title', 'path'])
   128 
   128 
   129     def action_url(self):
   129     def action_url(self):
   130         return self.absolute_url() + '/follow'
   130         return self.absolute_url() + '/follow'
   131 
   131 
   132 
   132 
   133 class Card(AnyEntity):
       
   134     """customized class for Card entities"""
       
   135     id = 'Card'
       
   136     rest_attr = 'wikiid'
       
   137     
       
   138     fetch_attrs, fetch_order = fetch_config(['title'])
       
   139 
       
   140     def dc_title(self):
       
   141         return self.title
       
   142 
       
   143     def dc_description(self, format='text/plain'):
       
   144         return self.synopsis or u''
       
   145 
       
   146 
       
   147 class CWCache(AnyEntity):
   133 class CWCache(AnyEntity):
   148     """Cache"""
   134     """Cache"""
   149     id = 'CWCache'
   135     id = 'CWCache'
   150     
       
   151     fetch_attrs, fetch_order = fetch_config(['name'])
   136     fetch_attrs, fetch_order = fetch_config(['name'])
   152 
   137 
   153     def touch(self):
   138     def touch(self):
   154         self.req.execute('SET X timestamp %(t)s WHERE X eid %(x)s',
   139         self.req.execute('SET X timestamp %(t)s WHERE X eid %(x)s',
   155                          {'t': datetime.now(), 'x': self.eid}, 'x')
   140                          {'t': datetime.now(), 'x': self.eid}, 'x')