Skip to main content

Upload HTML document to telegra.ph

Project description

build PyPI - Downloads

Python html to telegra.ph poster V2

Forked from html-telegraph-poster by mercuree.

Added async support and fixed some bugs (Because my projects need it). New features will be added soon.

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

Installation

pip install html-telegraph-poster-v2

Usage

>> > from html_telegraph_poster_v2 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_v2.create_account "Elon Musk" "Elon" "https://www.spacex.com/"

Uploading images

Since telegra.ph is not support media uploading anymore, you can configure an image/video storage service.

Current supported services:

  • AWS S3
  • GitHub
## 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

```python
from html_telegraph_poster_v2.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() 

Roadmap

  • rewrite the command line interface for simple usage
  • add automated test pipeline
  • add more services for media uploading
    • imgur
    • google drive

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_v2-0.2.4.tar.gz (38.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

html_telegraph_poster_v2-0.2.4-py3-none-any.whl (44.8 kB view details)

Uploaded Python 3

File details

Details for the file html_telegraph_poster_v2-0.2.4.tar.gz.

File metadata

  • Download URL: html_telegraph_poster_v2-0.2.4.tar.gz
  • Upload date:
  • Size: 38.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.11.11 Linux/6.8.0-1017-azure

File hashes

Hashes for html_telegraph_poster_v2-0.2.4.tar.gz
Algorithm Hash digest
SHA256 baff5d147b996765a7f52d0955a716387a47a00911bfc2f6c88e545c17b223e1
MD5 c1fc9c3dae913a8b2b2571180d5adf82
BLAKE2b-256 0bab561f7c4743c52129705acfda663bc5c96e320eea4c6d9b2339e76e9477b5

See more details on using hashes here.

File details

Details for the file html_telegraph_poster_v2-0.2.4-py3-none-any.whl.

File metadata

File hashes

Hashes for html_telegraph_poster_v2-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4b91ba00e5f9745f9e8481221e876dcffd3c397cab32ba289cae67a5eeb98511
MD5 df0d33bad9e36c6b403ae23a914bf231
BLAKE2b-256 cb925de5bd91db5cbac436438f5a89ec503a5bdc95843b408d4666323f07a01c

See more details on using hashes here.

Supported by

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