tasks.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:nzhuts 作者: jordij 项目源码 文件源码
def fetch_hut(hut_id):
    assert hut_id
    headers = {'x-api-key': settings.API_KEY}
    huts_index = HutIndexPage.objects.first()
    try:
        rh = requests.get('%s/%s/detail' % (settings.API_HUTS_BASE_URL, hut_id), headers=headers, timeout=settings.API_TIMEOUT)
    except requests.exceptions.RequestException as e:
        logger.exception(str(e))
    else:
        if rh.status_code == 200:
            rh_json = rh.json()
            try:
                hut = HutPage.objects.get(asset_id=rh_json['assetId'])
            except HutPage.DoesNotExist:
                hut = HutPage(title=rh_json['name'], seo_title=rh_json['name'], asset_id=rh_json['assetId'])
            for key, value in HutPage.API_FIELDS_MAPPING.items():
                setattr(hut, value, rh_json[key])
            if hut.pk is None:
                huts_index.add_child(instance=hut)
            else:
                hut.save()
        else:
            logger.error("Failed hut details request with status %s, %s", str(rh.status_code), rh.json()['message'])
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号