Исходник Arizona Forum API [v2.0.1]

ZviNK

Новичок
12
5
Есть какой-то вариант получить сам ББКод ответа через get_post()
Сейчас при попытке изменить и вставить содержимое полученное от Post.bb_content - в тему вставляется сырой HTML код вместе с разметкой.
Ломаются любые стили, хайды, реплаи и т.п.
 

fakelag46

Участник
26
22
Есть какой-то вариант получить сам ББКод ответа через get_post()
Сейчас при попытке изменить и вставить содержимое полученное от Post.bb_content - в тему вставляется сырой HTML код вместе с разметкой.
Ломаются любые стили, хайды, реплаи и т.п.
Python:
def get_post_bbcode(self, thread_id: int, post_id: int) -> str:
        """Получить BB-код из HTML-содержимого поста
           
        Returns:
            str: BB-код поста
        """
        params = {
            '_xfRequestUri': f'/threads/{thread_id}/',
            '_xfWithData': 1,
            '_xfToken': self.token,
            '_xfResponseType': 'json'
        }
           
        response = self.session.get(
            f"{MAIN_URL}/posts/{post_id}/edit",
            params=params
        )
           
        html_content = response.json().get('html', {}).get('content', '')
       
        if not html_content:
            return ''
           
        data = {
            '_xfResponseType': 'json',
            '_xfRequestUri': f'/threads/{thread_id}/',
            '_xfWithData': 1,
            '_xfToken': self.token,
            'html': html_content
        }
        response = self.session.post(
            f"{MAIN_URL}/index.php?editor/to-bb-code",
            data=data
        )
        return response.json().get('bbCode', '')
Python:
bbcode = api.get_post_bbcode(9383346, 50815999)
print(bbcode)
Но есть некоторые подводные камни:
1. Нужна покраска 3+ уровня, дабы /edit сработал
2. Возвращает HTML контент + BB код + Лишний мусор (Кнопки сохранить например)
DoVupMf.png
 
  • Нравится
Реакции: ZviNK