Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 9, 2010 21:20:49

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

yield данных из потока

Собственно, возможен ли сабж? Дилемма: есть интерфейс пользователя и есть парсер. Логично, что не хочется, чтобы во время парсинга интерфейс повисал. А еще бы очень хотелось, чтобы данные из потока возвращались по мере их получения, то есть на форме по-очереди появлялись результаты. Как такое реализовать грамотно? На выходе хотелось бы иметь именно поточный итератор по результатам…



Офлайн

#2 Сен. 9, 2010 23:10:02

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

yield данных из потока

Пущай поток парсера шлет GUI гуевые же сообщения. А главный гуевый поток в отместку перерисовывает себя, выбирая из парсера что он там наработал.
Не нужен вам итератор, нет для него применения. Точнее, сам парсер делайте как хотите. А вот прокидывание из его потока в GUI thread - только через сообщения этой самой GUI subsystem.



Офлайн

#3 Сен. 10, 2010 01:05:16

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

yield данных из потока

Андрей Светлов
В том-то и фишка, что GUI отрисовывается на одном из веб-форм-фреймворков (Titanium, похож на Adobe AIR), а данные передаются из питона в яваскрипт. Поэтому обновление DOM идет через jQuery, который вставляет возвращенные питоном строчки. И не очень понятно, как организовать взаимодействие… Возможно, просто стоит переписать парсер на яваскрипте :)



Отредактировано (Сен. 10, 2010 01:06:21)

Офлайн

#4 Сен. 10, 2010 09:28:06

ziro
От:
Зарегистрирован: 2009-08-13
Сообщения: 225
Репутация: +  8  -
Профиль   Отправить e-mail  

yield данных из потока

А у титаниума веб движок какой? Если WebKit, то возможно удастся использовать одну из техник передачи данных в веб типа longpolling или websockets.



Отредактировано (Сен. 10, 2010 09:30:27)

Офлайн

#5 Сен. 10, 2010 20:42:21

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

yield данных из потока

можно на период загрузки периодический опрашивать сервер, кстате сервер лочить долгими запросами не тру, это должен делать отдельный процесс, а веб сервер только выдавать результаты (моментально)

Офлайн

#6 Сен. 10, 2010 21:33:54

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

yield данных из потока

ziro
Воистину WebKit, причем с поддержкой HTML5 и CSS3.
o7412369815963
Причем тут сервер? Речь о десктопном приложении, из инета только парсится инфа.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version