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()
Metadata
Release files for html-telegraph-poster 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| html-telegraph-poster-0.5.0.tar.gz | 14.7 kB | Without provenance | Details for html-telegraph-poster-0.5.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| html_telegraph_poster-0.5.0-py3-none-any.whl | Python 3 | none | any | Details for html_telegraph_poster-0.5.0-py3-none-any.whl |
Total release size: 30.3 kB
Release files / html-telegraph-poster-0.5.0.tar.gz
| Download URL | html-telegraph-poster-0.5.0.tar.gz |
|---|---|
| Size | 14.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
01f4d120e2085e08c95adfc77ca8bfa07315c5784faa55478970e82c2518826a
|
|
BLAKE2b-256 checksum How to use checksums |
46b30debb9489a47796a81a5d79c644cfb3cd85d6d74fc9691cbf0be0edeb99e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.0
|
Release files / html_telegraph_poster-0.5.0-py3-none-any.whl
| Download URL | html_telegraph_poster-0.5.0-py3-none-any.whl |
|---|---|
| Size | 15.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a59d8ff2a17821de74e4c6753fb8501b6a60cc5dd632a624c8036e6639f1a597
|
|
BLAKE2b-256 checksum How to use checksums |
07afe953376f15dda76d54021302b7fbaca78fb5ae14caa4424e81ac0f0da6e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.0
|
Security for html-telegraph-poster 0.5.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.