%global _empty_manifest_terminate_build 0 Name: python-html-telegraph-poster Version: 0.5.0 Release: 1 Summary: Posts your html to telegra.ph blogging service License: MIT URL: https://github.com/mercuree/html-telegraph-poster Source0: https://mirrors.nju.edu.cn/pypi/web/packages/46/b3/0debb9489a47796a81a5d79c644cfb3cd85d6d74fc9691cbf0be0edeb99e/html-telegraph-poster-0.5.0.tar.gz BuildArch: noarch Requires: python3-lxml Requires: python3-requests Requires: python3-requests-toolbelt %description [![build](https://github.com/mercuree/html-telegraph-poster/actions/workflows/python-package.yml/badge.svg)](https://github.com/mercuree/html-telegraph-poster/actions/workflows/python-package.yml) [![PyPI - Downloads](https://img.shields.io/pypi/dm/html-telegraph-poster?master)](https://pypi.org/project/html-telegraph-poster/) # Python html to telegra.ph poster Simple python function to post plain html text to https://telegra.ph/. Telegra.ph allows `,
,
, ,
,

,

, ,

, , ` 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 ```Shell pip install html-telegraph-poster ``` ## Usage ```python >>> 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='

Really hard way
') {'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 ```python >>> t = TelegraphPoster(use_api=True, telegraph_api_url='https://api.graph.org') ``` ##### We can modify this article later: ```python >>> t.edit(text=t.text + '

some text at the end

') {'path': 'Just-another-funny-joke-06-05-4', 'url': 'http://telegra.ph/Just-another-funny-joke-06-05-4'} ``` ##### Modify page created earlier: ```python >>> t.edit(text="

new text

", 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](https://github.com/theskumar/python-dotenv), set it manually or hardcode it when call `TelegraphPoster(access_token='access_token_string')` ```Shell python -m html_telegraph_poster.create_account "Elon Musk" "Elon" "https://www.spacex.com/" ``` ## Uploading images ```python 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 ```python 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 ```python dp.upload_all_images(base_url='https://example.com') dp.get_processed_html() ``` %package -n python3-html-telegraph-poster Summary: Posts your html to telegra.ph blogging service Provides: python-html-telegraph-poster BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-html-telegraph-poster [![build](https://github.com/mercuree/html-telegraph-poster/actions/workflows/python-package.yml/badge.svg)](https://github.com/mercuree/html-telegraph-poster/actions/workflows/python-package.yml) [![PyPI - Downloads](https://img.shields.io/pypi/dm/html-telegraph-poster?master)](https://pypi.org/project/html-telegraph-poster/) # Python html to telegra.ph poster Simple python function to post plain html text to https://telegra.ph/. Telegra.ph allows `
,
,
, ,
,

,

, ,

, , ` 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 ```Shell pip install html-telegraph-poster ``` ## Usage ```python >>> 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='

Really hard way
') {'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 ```python >>> t = TelegraphPoster(use_api=True, telegraph_api_url='https://api.graph.org') ``` ##### We can modify this article later: ```python >>> t.edit(text=t.text + '

some text at the end

') {'path': 'Just-another-funny-joke-06-05-4', 'url': 'http://telegra.ph/Just-another-funny-joke-06-05-4'} ``` ##### Modify page created earlier: ```python >>> t.edit(text="

new text

", 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](https://github.com/theskumar/python-dotenv), set it manually or hardcode it when call `TelegraphPoster(access_token='access_token_string')` ```Shell python -m html_telegraph_poster.create_account "Elon Musk" "Elon" "https://www.spacex.com/" ``` ## Uploading images ```python 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 ```python 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 ```python dp.upload_all_images(base_url='https://example.com') dp.get_processed_html() ``` %package help Summary: Development documents and examples for html-telegraph-poster Provides: python3-html-telegraph-poster-doc %description help [![build](https://github.com/mercuree/html-telegraph-poster/actions/workflows/python-package.yml/badge.svg)](https://github.com/mercuree/html-telegraph-poster/actions/workflows/python-package.yml) [![PyPI - Downloads](https://img.shields.io/pypi/dm/html-telegraph-poster?master)](https://pypi.org/project/html-telegraph-poster/) # Python html to telegra.ph poster Simple python function to post plain html text to https://telegra.ph/. Telegra.ph allows `
,
,
, ,
,

,

, ,

, , ` 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 ```Shell pip install html-telegraph-poster ``` ## Usage ```python >>> 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='

Really hard way
') {'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 ```python >>> t = TelegraphPoster(use_api=True, telegraph_api_url='https://api.graph.org') ``` ##### We can modify this article later: ```python >>> t.edit(text=t.text + '

some text at the end

') {'path': 'Just-another-funny-joke-06-05-4', 'url': 'http://telegra.ph/Just-another-funny-joke-06-05-4'} ``` ##### Modify page created earlier: ```python >>> t.edit(text="

new text

", 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](https://github.com/theskumar/python-dotenv), set it manually or hardcode it when call `TelegraphPoster(access_token='access_token_string')` ```Shell python -m html_telegraph_poster.create_account "Elon Musk" "Elon" "https://www.spacex.com/" ``` ## Uploading images ```python 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 ```python 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 ```python dp.upload_all_images(base_url='https://example.com') dp.get_processed_html() ``` %prep %autosetup -n html-telegraph-poster-0.5.0 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-html-telegraph-poster -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri Apr 21 2023 Python_Bot - 0.5.0-1 - Package Spec generated