auto posting teklegraph

This commit is contained in:
AnnushkaStark 2024-07-18 00:56:13 +03:00
parent 31edfd916f
commit f18a99ca74
9 changed files with 88 additions and 1 deletions

View File

@ -1,2 +1,3 @@
httpx==0.27.0
black==24.4.2
telegraph==2.2.0

View 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/"
)

View File

@ -0,0 +1,14 @@
<p>Редизайн и новый раздел на сайте</p>
<p>Редизайн и новый раздел на сайте! Подробности в посте.</p>
<p>Приветствуем.</p>
<p>У нас два объявления!></p>
<p>Первое: Хотим представить вам редизайн сайта "Код на салфетке",
правда, пока только на одной странице. В будущем и другие будут переделаны,
а сейчас нам нужны ваши отзывы по новому внешнему виду!</p>
<p>Второе: Новая страница сайта, представляющая вам проекты над которыми мы работали и работаем.
Что-то вроде нашего портфолио, которое будет только пополняться!
Быть может кому-то из вас нужны разработчики для реализации?
Мы всегда готовы обсудить условия.</p>

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

View 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"]))

View 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