обновление публикации новостей от stable до stable

This commit is contained in:
2024-07-25 20:53:10 +03:00
parent 570e0b58f9
commit bc22a8a129

View File

@@ -23,8 +23,7 @@ url_post = "https://linux-gaming.ru/posts.json"
url_news = f"https://linux-gaming.ru/c/news/{keys.cat_num}.json"
url_vk_post = "https://api.vk.com/method/wall.post"
url_vk_get = "https://api.vk.com/method/wall.get"
url_changelog = "https://raw.githubusercontent.com/xpamych/test_LG_news/main/changelog_ru"
#"https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine/changelog_ru"
url_changelog = "https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine/changelog_ru"
heads_site = {
"Content-Type": "application/json",
@@ -34,7 +33,7 @@ heads_site = {
params_get = {
'access_token': keys.user_token_vk,
'v': '5.236', # Версия API
'v': '5.199', # Версия API
'owner_id': str(keys.own_id),
'count': str(100),
'offset': str(0),
@@ -42,7 +41,7 @@ params_get = {
}
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
logger.setLevel(logging.INFO)
handler = colorlog.StreamHandler()
handler.setFormatter(colorlog.ColoredFormatter(
@@ -426,24 +425,25 @@ async def check_discord_public():
def vk_post(url, post_text, links=None):
params_post = {
'access_token': keys.api_key_vk,
'v': '5.236', # Версия API VK
'owner_id': str(keys.own_id),
'message': f'{post_text}'
'v': '5.199', # Версия API VK
'owner_id': str(keys.own_id)
# Дополнительные параметры можно добавить здесь
}
data = {
'message': f'{post_text}' # Перемещаем текст статьи в тело POST-запроса
}
if links:
params_post['attachments'] = links
try:
# Отправляем POST-запрос к VK API
resp_post = requests.post(url=url, params=params_post)
resp_post = requests.post(url=url, params=params_post, data=data)
if resp_post.status_code == 200:
logging.info("Сообщение успешно опубликовано.")
logging.info(resp_post.json()) # Выводим ответ сервера в формате JSON
else:
logging.error(f"Ошибка при публикации сообщения в ВК:, {resp_post.status_code}")
logging.error(f"Ошибка при публикации сообщения в ВК:, {resp_post.status_code} - {resp_post.reason}")
return resp_post
except requests.RequestException as err:
@@ -489,6 +489,7 @@ def check_vk_posts():
logging.warning(f"Постов на стене нет{vk_posts}")
list_titles_and_ids = news()
list_titles_and_ids = [pair for pair in list_titles_and_ids if pair[0] >= keys.start_topic_id]
if list_titles_and_ids:
list_for_public = []
for topic_id, topic_title in list_titles_and_ids:
@@ -499,8 +500,8 @@ def check_vk_posts():
if not list_for_public:
logging.warning(f"Новостей для публикации в ВК нет")
else:
# Отфильтровываем посты ниже определенного ID статьи
for topic_id, topic_title in reversed(list_for_public):
if topic_id > keys.start_topic_id:
logging.info(f"Новости для публикации в ВК: {list_for_public}")
text_data = news_content(topic_id)
if text_data:
@@ -516,6 +517,9 @@ def check_vk_posts():
vk_post(url_vk_post, content, links)
else:
vk_post(url_vk_post, content)
else:
logging.warning(f"Не удалось получить текст новости {topic_id}")
break
else:
logging.warning(f"Новостей для публикации в ВК нет")