def _upload(title, author, text,
author_url='', tph_uuid=None, page_id=None, user_agent=default_user_agent, convert_html=True,
clean_html=True):
if not title:
raise TitleRequiredError('Title is required')
if not text:
raise TextRequiredError('Text is required')
content = convert_html_to_telegraph_format(text, clean_html) if convert_html else text
cookies = dict(tph_uuid=tph_uuid) if tph_uuid and page_id else None
fields = {
'Data': ('content.html', content, 'plain/text'),
'title': title,
'author': author,
'author_url': author_url,
'page_id': page_id or '0'
}
m = MultipartEncoder(fields, boundary='TelegraPhBoundary21')
headers = {
'Content-Type': m.content_type,
'Accept': 'application/json, text/javascript, */*; q=0.01',
'User-Agent': user_agent
}
r = requests.Session()
r.mount('https://', requests.adapters.HTTPAdapter(max_retries=3))
response = r.post(save_url, timeout=4, headers=headers, cookies=cookies, data=m.to_string())
result = json.loads(response.text)
if 'path' in result:
result['tph_uuid'] = response.cookies.get('tph_uuid') or tph_uuid
result['url'] = base_url + '/' + result['path']
return result
else:
error_msg = result['error'] if 'error' in result else ''
raise TelegraphError(error_msg)
html_to_telegraph.py 文件源码
python
阅读 27
收藏 0
点赞 0
评论 0
评论列表
文章目录