Posts your html to telegra.ph blogging service
Project description
Python html to telegra.ph poster
Simple python function to post plain html text to https://telegra.ph/.
Telegra.ph allows <a>, <blockquote>, <br>, <em>, <figure>, <h3>, <h4>, <img>, <p>, <strong>,
elements.
It also supports embedded youtube and vimeo iframe tags.
About telegram telegra.ph service https://telegram.org/blog/instant-view
Requirements
- lxml
- requests
- requests_toolbelt
Installation
pip install html-telegraph-poster
Usage
>>> from html_telegraph_poster import TelegraphPoster
>>> t = TelegraphPoster(use_api=True)
>>> t.create_api_token('Elon Musk', 'Elon', 'https://www.spacex.com/') # second and third params are optional
{'access_token': '9f3bab568f*************', 'auth_url': 'https://edit.telegra.ph/auth/HFYo***********', 'author_name': 'Elon', 'short_name': 'Elon Musk', 'author_url': 'https://www.spacex.com/'}
>>> t.post(title='Just another funny joke', author='by me', text='<blockquote>Really hard way</blockquote>')
{'path': 'Just-another-funny-joke-06-05-4', 'url': 'http://telegra.ph/Just-another-funny-joke-06-05-4'}
Use graph.org instead of telegra.ph
>>> t = TelegraphPoster(use_api=True, telegraph_api_url='https://api.graph.org')
We can modify this article later:
>>> t.edit(text=t.text + '<p>some text at the end</p>')
{'path': 'Just-another-funny-joke-06-05-4', 'url': 'http://telegra.ph/Just-another-funny-joke-06-05-4'}
Modify page created earlier:
>>> t.edit(text="<p>new text</p>", path='/Another-one-page-06-05')
{'path': 'Another-one-page-06-05', 'url': 'http://telegra.ph/Another-one-page-06-05'}
Generate persistent access token
Actually it's a good idea to generate access token and put it inside environment variables.
This command will generate .env file or append TELEGRAPH_ACCESS_TOKEN at the end of it.
Note: script will not set environment variable. You can use python-dotenv,
set it manually or hardcode it when call TelegraphPoster(access_token='access_token_string')
python -m html_telegraph_poster.create_account "Elon Musk" "Elon" "https://www.spacex.com/"
Uploading images
from html_telegraph_poster.upload_images import upload_image
# upload file
upload_image("file_path.jpg")
# upload url
upload_image("http://example.com/img.png")
# setting request and response timeout
upload_image("http://example.com/img.png", get_timeout=(5, 5), upload_timeout=(5, 5))
Utils module
Utils module provides ability to make some pre-process steps before document is passed to the converter.
Uploading all images to the telegra.ph
from html_telegraph_poster.utils import DocumentPreprocessor
dp = DocumentPreprocessor(html_string)
dp.upload_all_images()
dp.get_processed_html() # this should return html string with uploaded and replaced image urls
Optionally you can pass base_url if the document contains images with relative paths
dp.upload_all_images(base_url='https://example.com')
dp.get_processed_html()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for html-telegraph-poster-0.5.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01f4d120e2085e08c95adfc77ca8bfa07315c5784faa55478970e82c2518826a |
|
MD5 | 1cf182748031d94fc8d8943d9769201f |
|
BLAKE2b-256 | 46b30debb9489a47796a81a5d79c644cfb3cd85d6d74fc9691cbf0be0edeb99e |
Hashes for html_telegraph_poster-0.5.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a59d8ff2a17821de74e4c6753fb8501b6a60cc5dd632a624c8036e6639f1a597 |
|
MD5 | 628695c0ce856954057653a9ae228921 |
|
BLAKE2b-256 | 07afe953376f15dda76d54021302b7fbaca78fb5ae14caa4424e81ac0f0da6e2 |