def getShortcutIcon(pkgname):
try:
return getShortcutIcon.cache[pkgname]
except AttributeError:
getShortcutIcon.cache = {}
except KeyError:
try:
packageUrl = parsePackage(getPackageInfo(pkgname))[3]
pool = PoolManager(cert_reqs='CERT_REQUIRED', ca_certs=where())
pageRequest = pool.request('GET', packageUrl, timeout=3.0)
pageContent = pageRequest.data
pageSoup = BeautifulSoup(pageContent, 'html.parser')
iconLink = pageSoup.find('link', rel='icon')['href']
getShortcutIcon.cache[pkgname] = urljoin(packageUrl, iconLink)
except:
try:
getShortcutIcon.cache[pkgname] = urljoin(packageUrl, '/favicon.ico')
except:
getShortcutIcon.cache[pkgname] = None
return getShortcutIcon(pkgname)
评论列表
文章目录