Skip to main content

Posts your html to telegra.ph blogging service

Project description

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() 

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

html-telegraph-poster-0.5.0.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

html_telegraph_poster-0.5.0-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file html-telegraph-poster-0.5.0.tar.gz.

File metadata

  • Download URL: html-telegraph-poster-0.5.0.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.0

File hashes

Hashes for html-telegraph-poster-0.5.0.tar.gz
Algorithm Hash digest
SHA256 01f4d120e2085e08c95adfc77ca8bfa07315c5784faa55478970e82c2518826a
MD5 1cf182748031d94fc8d8943d9769201f
BLAKE2b-256 46b30debb9489a47796a81a5d79c644cfb3cd85d6d74fc9691cbf0be0edeb99e

See more details on using hashes here.

File details

Details for the file html_telegraph_poster-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for html_telegraph_poster-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a59d8ff2a17821de74e4c6753fb8501b6a60cc5dd632a624c8036e6639f1a597
MD5 628695c0ce856954057653a9ae228921
BLAKE2b-256 07afe953376f15dda76d54021302b7fbaca78fb5ae14caa4424e81ac0f0da6e2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page