Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -312,16 +312,60 @@ def process_vk_link(link: str) -> tuple[str, int]:
|
|
| 312 |
|
| 313 |
result = f"1. [{title}]({link}) — {human_format_views(views)}" # Изменено на нумерованный список
|
| 314 |
return result, views
|
| 315 |
-
|
| 316 |
-
|
| 317 |
-
|
| 318 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 319 |
def main():
|
| 320 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 321 |
|
| 322 |
-
|
| 323 |
|
| 324 |
-
|
| 325 |
md_lines.append("## Telegram")
|
| 326 |
md_lines.append(f"**Суммарный охват постов — {human_format_views(tg_total_views)} просмотров**")
|
| 327 |
if tg_results:
|
|
@@ -329,9 +373,8 @@ def main():
|
|
| 329 |
md_lines.append(f"{i}. {r_line[3:]}") # Убираем "1. " из строки и добавляем новый номер
|
| 330 |
else:
|
| 331 |
md_lines.append("_Нет ссылок на Telegram_")
|
| 332 |
-
md_lines.append("")
|
| 333 |
-
|
| 334 |
-
# --- ВКонтакте ---
|
| 335 |
md_lines.append("## ВКонтакте")
|
| 336 |
md_lines.append(f"**Суммарный охват постов — {human_format_views(vk_total_views)} просмотров**")
|
| 337 |
if vk_results:
|
|
@@ -370,8 +413,6 @@ def main():
|
|
| 370 |
"""
|
| 371 |
components.html(copy_button_html, height=80)
|
| 372 |
|
| 373 |
-
# ... (остальной код остаётся без изменений)
|
| 374 |
-
|
| 375 |
# Запуск приложения
|
| 376 |
if __name__ == "__main__":
|
| 377 |
main()
|
|
|
|
| 312 |
|
| 313 |
result = f"1. [{title}]({link}) — {human_format_views(views)}" # Изменено на нумерованный список
|
| 314 |
return result, views
|
| 315 |
+
# Функция для определения платформы
|
| 316 |
+
def detect_platform(link: str) -> str:
|
| 317 |
+
link = link.strip().lower()
|
| 318 |
+
if "t.me/" in link or "telegram.me/" in link:
|
| 319 |
+
return "telegram"
|
| 320 |
+
elif "vk.com/wall" in link:
|
| 321 |
+
return "vk"
|
| 322 |
+
return ""
|
| 323 |
+
|
| 324 |
+
# Интерфейс Streamlit
|
| 325 |
def main():
|
| 326 |
+
st.title("PR Tool made by @Dina")
|
| 327 |
+
|
| 328 |
+
# Если токены не получены, показываем авторизацию
|
| 329 |
+
if not st.session_state.get("VK_ACCESS_TOKEN"):
|
| 330 |
+
vk_auth()
|
| 331 |
+
return
|
| 332 |
+
|
| 333 |
+
# Если токены есть, показываем парсер
|
| 334 |
+
st.write("Вставьте ссылки (каждая на новой строке) — как Telegram, так и ВКонтакте. Пример:")
|
| 335 |
+
st.code("""
|
| 336 |
+
https://t.me/meduzalive/122479
|
| 337 |
+
https://vk.com/wall-12256840_3220312
|
| 338 |
+
https://telegram.me/za_traktor/27423
|
| 339 |
+
https://vk.com/wall-237426_1643234
|
| 340 |
+
""")
|
| 341 |
+
|
| 342 |
+
links_input = st.text_area("Ссылки:", height=200)
|
| 343 |
+
|
| 344 |
+
if st.button("Обработать"):
|
| 345 |
+
lines = links_input.strip().split('\n')
|
| 346 |
+
tg_results = []
|
| 347 |
+
tg_total_views = 0
|
| 348 |
+
vk_results = []
|
| 349 |
+
vk_total_views = 0
|
| 350 |
+
|
| 351 |
+
for link in lines:
|
| 352 |
+
platform = detect_platform(link)
|
| 353 |
+
if platform == "telegram":
|
| 354 |
+
res_line, views = process_telegram_link(link)
|
| 355 |
+
tg_results.append((res_line, views))
|
| 356 |
+
tg_total_views += views
|
| 357 |
+
elif platform == "vk":
|
| 358 |
+
res_line, views = process_vk_link(link)
|
| 359 |
+
vk_results.append((res_line, views))
|
| 360 |
+
vk_total_views += views
|
| 361 |
+
else:
|
| 362 |
+
st.markdown(f"**Ошибка**: не распознал платформу — {link}", unsafe_allow_html=True)
|
| 363 |
+
tg_results.sort(key=lambda x: x[1], reverse=True)
|
| 364 |
+
vk_results.sort(key=lambda x: x[1], reverse=True)
|
| 365 |
|
| 366 |
+
md_lines = []
|
| 367 |
|
| 368 |
+
# --- Telegram ---
|
| 369 |
md_lines.append("## Telegram")
|
| 370 |
md_lines.append(f"**Суммарный охват постов — {human_format_views(tg_total_views)} просмотров**")
|
| 371 |
if tg_results:
|
|
|
|
| 373 |
md_lines.append(f"{i}. {r_line[3:]}") # Убираем "1. " из строки и добавляем новый номер
|
| 374 |
else:
|
| 375 |
md_lines.append("_Нет ссылок на Telegram_")
|
| 376 |
+
md_lines.append("")
|
| 377 |
+
# --- ВКонтакте ---
|
|
|
|
| 378 |
md_lines.append("## ВКонтакте")
|
| 379 |
md_lines.append(f"**Суммарный охват постов — {human_format_views(vk_total_views)} просмотров**")
|
| 380 |
if vk_results:
|
|
|
|
| 413 |
"""
|
| 414 |
components.html(copy_button_html, height=80)
|
| 415 |
|
|
|
|
|
|
|
| 416 |
# Запуск приложения
|
| 417 |
if __name__ == "__main__":
|
| 418 |
main()
|