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'
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'
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'