Skip to main content

build PyPI - Downloads

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)

Source distribution for html-telegraph-poster 0.5.0
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)

Table of built distributions (wheels) for html-telegraph-poster 0.5.0
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page