Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 48

Markdown тег img

31.03.2018, 20:27. Показов 1688. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Мне нужно реализовать поддержку тега img и сделать тест на питоне.
Вот код к тегу:
Python
1
2
3
4
5
6
7
8
9
TAG = "img"
 
 
def handle_starttag(parser, tag, attrs):
    parser.append_to_result(u"![alt](src (title))")
 
 
def handle_endtag(parser, tag):
    parser.append_to_result(u"")
А вот код теста:
Python
1
2
3
4
5
    def test_tag_img(self):
        html_text=u'<img src="placehold.it/150x100" alt="Alt text" (title="my title")/>'
        result = html_to_md.html_to_md(html_text)
        expected = u'[Alt text](placehold.it/150x100 "my title")'
        self.assertEqual(result, expected)
А вот результат прохождения теста:

C:\Users\Дмитрий>python html_to_markdown\tests\html_to_md_test.p y
............F......
======================================== ==============================
FAIL: test_tag_img (__main__.Test)
----------------------------------------------------------------------
Traceback (most recent call last):
File "html_to_markdown\tests\html_to_md_test. py", line 129, in test_tag_img
self.assertEqual(result, expected)
AssertionError: u'![alt](src (title))' != u'[Alt text](placehold.it/150x100 "my title")'
- ![alt](src (title))
+ [Alt text](placehold.it/150x100 "my title")


----------------------------------------------------------------------
Ran 19 tests in 0.022s

FAILED (failures=1)

C:\Users\Дмитрий>


Помогите разобраться

Добавлено через 30 минут
нашел ошибку, тему можно закрыть или удалить
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.03.2018, 20:27
Ответы с готовыми решениями:

Реализовать markdown тег img
Здравствуйте Необходимо реализовать тег &lt;img&gt; на Python Мой код к тегу: TAG = &quot;img&quot; def handle_starttag(parser,...

CSS при последовательности *тег A тег IMG* добавить content
Здравствуйте многоуважаемые форумчане! Нуждаюсь в помощи! Итак вопрос: Возможно ли при последовательности тегов A и IMG выводить...

Как передать из тег <a> в тег <img>
&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=&quot;utf-8&quot;&gt; &lt;title&gt;Мои рисунки&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;form name =...

3
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
02.04.2018, 15:10
Цитата Сообщение от RoenEr Посмотреть сообщение
нашел ошибку, тему можно закрыть или удалить
Правила

4.10 Если вопрос был решен вами самостоятельно, отпишите об этом в своей теме - есть и другие люди, которые столкнутся с той же проблемой, и им поможет ваш ответ.
0
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 48
05.04.2018, 00:30  [ТС]
На самом то деле как оказалось задача мною была решена не верно или не полностью, не знаю как лучше назвать это. В общем если кто то сможет помочь буду благодарен.
Задача все та же, реализовать поддержку img с alt-ом title и src (<img src="/path/to/img.jpg" alt="Alt text" title="Optional title" />) тега для markdown на питоне.

У меня есть вот такой код теперь для тега
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
TAG = "img"
alt=''
src=''
title=''
 
def handle_starttag(parser, tag, attrs):
    global alt
    global src
    global title
    for i in range (len(attrs)):
        if (attrs[i][0] == 'alt'):
            alt = attrs[i][1]
        if (attrs[i][0] == 'src'):
            src = attrs[i][1]
        if (attes[i][0] == 'title'):
            title = attrs[i][0]
    parser.append_to_result(u"![")
 
 
def handle_endtag(parser, tag):
    
    if alt & title:
        parser.append_to_result(alt + u']' + u'(' + src + ' "' + title + u'")')
    elif alt:
        parser.append_to_result(alt + u'](' + src + u')')
    elif title:
        parser.append_to_result(u'](' + src + ' "' + title + u'")')
    else:
        parser.append_to_result(u'](' + src + u')')
И такой код для теста
Python
1
2
3
4
5
    def test_tag_img(self):
        html_text=u'<img src="placehold.it/150x100" alt="Alt text" title="my title"/img>'
        result = html_to_md.html_to_md(html_text)
        expected = u'![Alt text](placehold.it/150x100 "my title")'
        self.assertEqual(result, expected)
Но у меня вылетают ошибки тестов и я не знаю в чем проблема, да и немного устал уже разбираться в этом, а задание сдавать надо, мб кто то поможет
0
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
06.04.2018, 04:29
Цитата Сообщение от RoenEr Посмотреть сообщение
Python
1
2
3
4
def handle_starttag(parser, tag, attrs):
    parser.append_to_result(u"![alt](src (title))")
def handle_endtag(parser, tag):
    parser.append_to_result(u"")
Если даете пример кода, он должен быть полным. Это не значит что нужно весь код на свете засунуть в пост. Но идея и все зависимости должны быть. Иначе кто его знает что делает этот parser?

Вообще, если это тестовое, можно и ведь код выложить, он небольшой будет, с таким то условием.

Добавлено через 6 минут

Не по теме:

Цитата Сообщение от RoenEr Посмотреть сообщение
/img>
А такое есть в спецификации HTML?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.04.2018, 04:29
Помогаю со студенческими работами здесь

Вырезать тег <img>
Здравствуйте, не могу решить проблему, нужно вырезать тег &lt;img&gt; preg_match ('/&lt;img.*&gt;/Uis',$element], $out); var_dump($out); ...

Вырезать тег <img>
Здравствуйте, не могу решить проблему, нужно вырезать тег &lt;img&gt; preg_match ('/&lt;img.*&gt;/Uis',$element], $out); var_dump($out); ...

Не удаляется тег <img>
почему этот код не удаляет тег &lt;img &gt;? Ведь символ . (точка) означает любой символ $content = file_get_contents(&quot;1.html&quot;); ...

Скрыть тег <img>
Я хочу сделать валидацыю формы, и когда текст в input не валиден возле него должна появится картинка(!). К сожалению чтоб я не делал...

Chrome и тег IMG
Столкнулся с проблемой что хром не отображает alt при наведении на картинку. Как её решить? Юзать JS?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru