Ejemplo n.º 1
0
 def _get_parent_slug(self, slug):
     '''
     Takes a slug and returns the slug of its parent. Returns 'root' if
     a slug has no parent.
     '''
     cache_key = self.mem_cache_obj.make_memory_cache_key('par-slug', slug)
     parent_slug = self.mem_cache_obj.get_cache_object(cache_key)
     if parent_slug is None:
         contain_obj = Containment()
         contain_obj.use_cache = False  # because it seems to introduce memory errors
         parent_slug = contain_obj.get_parent_slug_by_slug(slug)
         self.mem_cache_obj.save_cache_object(cache_key, parent_slug)
     if parent_slug:
         return parent_slug
     else:
         return 'root'
Ejemplo n.º 2
0
 def _get_parent_slug(self, slug):
     '''
     Takes a slug and returns the slug of its parent. Returns 'root' if
     a slug has no parent.
     '''
     cache_key = self.m_cache.make_cache_key('par-slug', slug)
     parent_slug = self.m_cache.get_cache_object(cache_key)
     if parent_slug is None:
         contain_obj = Containment()
         contain_obj.use_cache = False  # because it seems to introduce memory errors
         parent_slug = contain_obj.get_parent_slug_by_slug(slug)
         self.m_cache.save_cache_object(cache_key, parent_slug)
     if parent_slug:
         return parent_slug
     else:
         return 'root'
Ejemplo n.º 3
0
def get_containment_parent_slug(slug):
    '''Takes a slug and returns the slug of its parent. Returns 'root'
    if a slug has no parent.
        
    :param str slug: Slug identifying a subjects item.
    '''
    m_cache = MemoryCache()
    cache_key = m_cache.make_cache_key('contain-par-slug', slug)
    parent_slug = m_cache.get_cache_object(cache_key)
    if parent_slug is None:
        contain_obj = Containment()
        # Because it seems to introduce memory errors, turn off
        # caching for this class instance.
        contain_obj.use_cache = False
        parent_slug = contain_obj.get_parent_slug_by_slug(slug)
        m_cache.save_cache_object(cache_key, parent_slug)
    if parent_slug:
        return parent_slug
    return 'root'