All streams
Search
Write a publication
Pull to refresh
42
0
Евгений Аршинов @mrShadow

User

Send message
[терминология] Такие бесконтурные направленные графы иногда ещё называют дагами (dag, directed acyclic graph).
Контур и цикл в графе стало быть одно и то же? Никогда не встречал термин «контур» в этом контексте.
Чем не устроили плееры mocp и cmus?
Я солидарен с Mylistryx. В чём всё-таки он по-вашему неправ?
Не знаю, насколько в тему. Вот хорошая статья о системе типов в Python (англ.): www.cafepy.com/article/python_types_and_objects/
Полезная ссылка для тех, кому приходиться использовать батники: Frequently Asked Questions about Batch.
Если вам нужна поддержка только HTTP прокси (пусть даже с авторизацией), готов реализовать в ближайшее время. Если нужна поддержка SOCKS, то ей не займусь, ибо так и не нашёл, как с такими прокси работать.
Вот ещё веб-сервер на Си, который в свои приложения легко можно встроить — code.google.com/p/mongoose/. Вдруг кому понадобится.
Вы правы, действительно иных способов как-то не придумаешь… Наверное мне просто неочевидным когда-то показался факт, что текст надо доставать через предыдущий элемент.
Действительно, парсер лох.

<p>Привет <img src=«smile.gif» />! </p>
Почему это невалидный? Возьмите хоть XHTML для примера: Привет !
То есть парсить в два прохода? Не думаю, что получится эффективнее.

Если вы о том, чтобы исходный HTML tidy-фицировать заранее, то это не всегда возможно (например, если парсим чужой сайт). Надеюсь, понятно о чём я, не люблю допоздна сидеть, в голове всё путаться начинает.
Ещё во всех питоновских библиотеках для XML, которые я встречал (lxml тоже) не очень приятно работать с XML namespaces.

Если входной XML весь лежит в каком-то безымянном пространстве имён (к примеру, обычный XHTML), то во всех селекторах в коде придётся указывать URI этого пространства имён. Иными словами, плохо, что нет возможности задать дефолтный URI.

Когда-то при генерации XHTML я препопочёл использовать хак и просто задать атрибут xmlns :-)

html = etree.Element('html')
# HACK. Use this because lxml library lacks functions to set default
# XML namespace without inserting namespace URI's into each XML element
# name. For example:
#
# * element.findall('{%s}something' % namespace)
#
# * element.xpath('prefix:something', prefixMap)
#
# Also it seems imposible to use element names that does not have prefix,
# but have namespace (i.e., non-default anonymous namespace) in xpath().
# The xpath() method complains when prefixMap has None key and does not
# consider prefixMap[''] when it is specified… We require anonymous
# namespace in order not to get too verbose output
#
html.set('xmlns', 'http://www.w3.org/1999/xhtml')
head = etree.SubElement(html, 'head')
Опечатался.

элемент <b> — в b
Да, с текстовыми нодами та ещё беда. Иногда манипуляция с ними вообще нелогична. Например, вот случай:

<a>текст1<b/>текст2</a&gt

Пусть элемент <a> хранится в объекте под именем a, а элемент <a> — в b. Тогда текст1 попадёт в атрибут a.text, а текст2 — в b.tail.
Ну и не факт, что он является обёрткой над кодом на Си, как lxml. Отсюда тоже могут быть потери производительности (скорее всего так и есть).
Насколько я помню, он предназначен для парсинга HTML с незакрытыми тэгами и прочим говном. Поэтому медленный. И использовать его для XML никто в здравом уме не будет.
Пока набирал, сам запутался. Вместо

> крайней правой области от {вся длина — размер страницы} до {размер страницы}

читать

> крайней правой области от {вся длина — размер страницы} до {вся длина}
Тоже не вижу проблемы.

Кагбэ размер ползунка соответствует размеру области отображения (страницы), длина полосы прокрутки — размеру всей области, доступной для просмотра. Если ползунок находится в самой левой части полосы, его позиция — 0, а в области отображения — область от 0 до {размер страницы}. Соответственно, крайней правой области от {вся длина — размер страницы} до {размер страницы} соответствует позиция ползунка {максимальное значение — размер ползунка}. Позиция ползунка {максимальное значение} соответствовала бы (несуществующей) области от {вся длина} до {вся длина + размер страницы }.

Прошу прощения за сумбурное и плохо отформатированное объяснение. ± 1 я опускал для краткости и чтобы не ошибиться.

> почему при уменьшении свойства LargeChange размер бегунка остается прежним, а максимум достигается?

Если сделать размер ползунка слишком маленьким, пользователь не сможет его курсором таскать.
Подсказка: win-shift-m

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity