'Get lpaths for the named blob.
We get it from the blob\'s "lpaths" cache key (calculating that
if necessary).'

def lpaths_from_lang_and_blobname(self, lang, blobname):

    blob = self.get_blob(lang, blobname, look_in_cache_only=True)
    if (blob is not None):
        if ('lpaths' in blob.cache):
            return blob.cache['lpaths']
    else:
        blob = self.get_blob(lang, blobname)
        if (blob is None):
            raise NotFoundInDatabase(("%s    '%s'    blob    not    found    in    catalogs" % (lang, blobname)))
        if ('lpaths' in blob.cache):
            return blob.cache['lpaths']
    log.debug("calc    symbol    info    for    %s    '%s'    catalog    blob", lang, blobname)
    langintel = self.mgr.langintel_from_lang(lang)
    lpaths = langintel.lpaths_from_blob(blob)
    blob.cache['lpaths'] = lpaths
    (dbfile, res_id) = self.blob_index[lang][blobname]
    self._lock.acquire()
    try:
        self._dbsubpaths_and_lpaths_to_save.append((join(safe_lang_from_lang(lang), (dbfile + '.lpaths')), lpaths))
    finally:
        self._lock.release()
    return lpaths
