auto posting teklegraph
This commit is contained in:
parent
31edfd916f
commit
f18a99ca74
@ -1,2 +1,3 @@
|
||||
httpx==0.27.0
|
||||
black==24.4.2
|
||||
telegraph==2.2.0
|
13
telegraph_poster/config.py
Normal file
13
telegraph_poster/config.py
Normal file
@ -0,0 +1,13 @@
|
||||
AUTHOR_DATA = {"short_name": "Cat", "author_name": "Sucko", "author_url": ""}
|
||||
|
||||
ACCOUNT = {
|
||||
"short_name": "Cat",
|
||||
"author_name": "",
|
||||
"author_url": "",
|
||||
"access_token": "3ee8660c069341156021691341c4905ef8603d961e4717fa112c37c9846d",
|
||||
"auth_url": "https://edit.telegra.ph/auth/M0wwp9Tg7F00f6QgShq36YCm2IZ1oZBaX5EnfxBkaz",
|
||||
}
|
||||
|
||||
TEST_CONTENT_URL = (
|
||||
"https://pressanybutton.ru/post/novosti/redizajn-i-novyj-razdel-na-sajte/"
|
||||
)
|
14
telegraph_poster/content.txt
Normal file
14
telegraph_poster/content.txt
Normal file
@ -0,0 +1,14 @@
|
||||
|
||||
<p>Редизайн и новый раздел на сайте</p>
|
||||
<p>Редизайн и новый раздел на сайте! Подробности в посте.</p>
|
||||
<p>Приветствуем.</p>
|
||||
|
||||
<p>У нас два объявления!></p>
|
||||
|
||||
<p>Первое: Хотим представить вам редизайн сайта "Код на салфетке",
|
||||
правда, пока только на одной странице. В будущем и другие будут переделаны,
|
||||
а сейчас нам нужны ваши отзывы по новому внешнему виду!</p>
|
||||
<p>Второе: Новая страница сайта, представляющая вам проекты над которыми мы работали и работаем.
|
||||
Что-то вроде нашего портфолио, которое будет только пополняться!
|
||||
Быть может кому-то из вас нужны разработчики для реализации?
|
||||
Мы всегда готовы обсудить условия.</p>
|
10
telegraph_poster/doctype.py
Normal file
10
telegraph_poster/doctype.py
Normal file
@ -0,0 +1,10 @@
|
||||
START_FILE = """<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Document</title>
|
||||
</head>
|
||||
<body>"""
|
||||
|
||||
END_FILE = "</body></html>"
|
18
telegraph_poster/main.py
Normal file
18
telegraph_poster/main.py
Normal file
@ -0,0 +1,18 @@
|
||||
import asyncio
|
||||
|
||||
import config
|
||||
from post_manager import create_new_account, create_post, update_post, telegraph
|
||||
from utillies import check_tags
|
||||
|
||||
|
||||
### Создание aккаунта в telegraph
|
||||
|
||||
account = asyncio.run(create_new_account(short_name=config.AUTHOR_DATA["short_name"]))
|
||||
|
||||
|
||||
### Создание поста в telegraph
|
||||
|
||||
article_file = open("content.txt", "r", encoding="utf-8")
|
||||
article_file = article_file.read()
|
||||
checked_article = asyncio.run(check_tags(content=article_file))
|
||||
new_post = asyncio.run(create_post(title="test_title", content=checked_article))
|
16
telegraph_poster/post_manager.py
Normal file
16
telegraph_poster/post_manager.py
Normal file
@ -0,0 +1,16 @@
|
||||
import asyncio
|
||||
|
||||
from telegraph.aio import Telegraph
|
||||
import config
|
||||
|
||||
telegraph = Telegraph(config.ACCOUNT["access_token"])
|
||||
|
||||
|
||||
async def create_new_account(short_name: str) -> dict:
|
||||
account = await telegraph.create_account(short_name=short_name)
|
||||
print(account)
|
||||
|
||||
|
||||
async def create_post(title: str, content: str) -> dict:
|
||||
new_article = await telegraph.create_page(title=title, html_content=content)
|
||||
print("https://telegra.ph/{}".format(new_article["path"]))
|
15
telegraph_poster/utillies.py
Normal file
15
telegraph_poster/utillies.py
Normal file
@ -0,0 +1,15 @@
|
||||
import asyncio
|
||||
|
||||
from doctype import START_FILE, END_FILE
|
||||
|
||||
|
||||
async def check_tags(
|
||||
content: str,
|
||||
) -> str:
|
||||
content = content.replace(START_FILE, "")
|
||||
content = content.replace(END_FILE, "")
|
||||
content = content.replace("h5", "h4")
|
||||
content = content.replace("h3", "h4")
|
||||
content = content.replace("h2", "h4")
|
||||
content = content.replace("<img src=''", "img src='https://pressanybutton.ru'")
|
||||
return content
|
Loading…
x
Reference in New Issue
Block a user