Dink0 commited on
Commit
d5903f0
·
verified ·
1 Parent(s): 0e6d619

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +69 -68
app.py CHANGED
@@ -312,6 +312,7 @@ 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
  def detect_platform(link: str) -> str:
317
  link = link.strip().lower()
@@ -349,74 +350,74 @@ def main():
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
-
364
- # Сортируем результаты по количеству просмотров
365
- tg_results.sort(key=lambda x: x[1], reverse=True)
366
- vk_results.sort(key=lambda x: x[1], reverse=True)
367
-
368
- # Инициализируем md_lines
369
- md_lines = []
370
-
371
- # --- Telegram ---
372
- md_lines.append("## Telegram")
373
- md_lines.append(f"**Суммарный охват постов — {human_format_views(tg_total_views)} просмотров**")
374
- if tg_results:
375
- for i, (r_line, _) in enumerate(tg_results, start=1):
376
- md_lines.append(f"{i}. {r_line[3:]}") # Убираем "1. " из строки и добавляем новый номер
377
- else:
378
- md_lines.append("_Нет ссылок на Telegram_")
379
- md_lines.append("")
380
-
381
- # --- ВКонтакте ---
382
- md_lines.append("## ВКонтакте")
383
- md_lines.append(f"**Суммарный охват постов — {human_format_views(vk_total_views)} просмотров**")
384
- if vk_results:
385
- for i, (r_line, _) in enumerate(vk_results, start=1):
386
- md_lines.append(f"{i}. {r_line[3:]}") # Убираем "1. " из строки и добавляем новый номер
387
- else:
388
- md_lines.append("_Нет ссылок на ВКонтакте_")
389
- md_lines.append("")
390
-
391
- # Выводим результат
392
- st.markdown("### Результат:")
393
- for line in md_lines:
394
- st.markdown(line, unsafe_allow_html=True)
395
-
396
- markdown_result = "\n".join(md_lines)
397
-
398
- # Кнопка копирования
399
- copy_button_html = f"""
400
- <html>
401
- <head>
402
- <script>
403
- function copyToClipboard() {{
404
- const btn = document.getElementById("copy-btn");
405
- const text = `{markdown_result}`;
406
- navigator.clipboard.writeText(text).then(function() {{
407
- btn.innerText = "Скопировано успешно";
408
- }}, function(err) {{
409
- btn.innerText = "Ошибка при копировании";
410
- }});
411
- }}
412
- </script>
413
- </head>
414
- <body>
415
- <button id="copy-btn" onclick="copyToClipboard()" style="padding: 8px 16px; font-size: 16px;">Скопировать код</button>
416
- </body>
417
- </html>
418
- """
419
- components.html(copy_button_html, height=80)
420
 
421
  # Запуск приложения
422
  if __name__ == "__main__":
 
312
 
313
  result = f"1. [{title}]({link}) — {human_format_views(views)}" # Изменено на нумерованный список
314
  return result, views
315
+
316
  # Функция для определения платформы
317
  def detect_platform(link: str) -> str:
318
  link = link.strip().lower()
 
350
  vk_total_views = 0
351
 
352
  for link in lines:
353
+ platform = detect_platform(link)
354
+ if platform == "telegram":
355
+ res_line, views = process_telegram_link(link)
356
+ tg_results.append((res_line, views))
357
+ tg_total_views += views
358
+ elif platform == "vk":
359
+ res_line, views = process_vk_link(link)
360
+ vk_results.append((res_line, views))
361
+ vk_total_views += views
362
+ else:
363
+ st.markdown(f"**Ошибка**: не распознал платформу — {link}", unsafe_allow_html=True)
364
+
365
+ # Сортируем результаты по количеству просмотров
366
+ tg_results.sort(key=lambda x: x[1], reverse=True)
367
+ vk_results.sort(key=lambda x: x[1], reverse=True)
368
+
369
+ # Инициализируем md_lines
370
+ md_lines = []
371
+
372
+ # --- Telegram ---
373
+ md_lines.append("## Telegram")
374
+ md_lines.append(f"**Суммарный охват постов — {human_format_views(tg_total_views)} просмотров**")
375
+ if tg_results:
376
+ for i, (r_line, _) in enumerate(tg_results, start=1):
377
+ md_lines.append(f"{i}. {r_line[3:]}") # Убираем "1. " из строки и добавляем новый номер
378
+ else:
379
+ md_lines.append("_Нет ссылок на Telegram_")
380
+ md_lines.append("")
381
+
382
+ # --- ВКонтакте ---
383
+ md_lines.append("## ВКонтакте")
384
+ md_lines.append(f"**Суммарный охват постов — {human_format_views(vk_total_views)} просмотров**")
385
+ if vk_results:
386
+ for i, (r_line, _) in enumerate(vk_results, start=1):
387
+ md_lines.append(f"{i}. {r_line[3:]}") # Убираем "1. " из строки и добавляем новый номер
388
+ else:
389
+ md_lines.append("_Нет ссылок на ВКонтакте_")
390
+ md_lines.append("")
391
+
392
+ # Выводим результат
393
+ st.markdown("### Результат:")
394
+ for line in md_lines:
395
+ st.markdown(line, unsafe_allow_html=True)
396
+
397
+ markdown_result = "\n".join(md_lines)
398
+
399
+ # Кнопка копирования
400
+ copy_button_html = f"""
401
+ <html>
402
+ <head>
403
+ <script>
404
+ function copyToClipboard() {{
405
+ const btn = document.getElementById("copy-btn");
406
+ const text = `{markdown_result}`;
407
+ navigator.clipboard.writeText(text).then(function() {{
408
+ btn.innerText = "Скопировано успешно";
409
+ }}, function(err) {{
410
+ btn.innerText = "Ошибка при копировании";
411
+ }});
412
+ }}
413
+ </script>
414
+ </head>
415
+ <body>
416
+ <button id="copy-btn" onclick="copyToClipboard()" style="padding: 8px 16px; font-size: 16px;">Скопировать код</button>
417
+ </body>
418
+ </html>
419
+ """
420
+ components.html(copy_button_html, height=80)
421
 
422
  # Запуск приложения
423
  if __name__ == "__main__":