Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 25, 2009 16:41:00

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Универсальный заливатор

В такой формулировке найти где беда - очень затруднительно.
“Возвращаются на 5-й раз” - а что приходит первых 4?

Офлайн

#2 Ноя. 25, 2009 16:45:14

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

Универсальный заливатор

Ferroman
ну вот такого вида код:

    for category in cat_to_create:
current_category_name = unicode(category[1])
sys.stdout.write("Получаю товары для категории...")
items_in_category = get_by_category(base, category[1])
all_uncats = get_uncats(items_in_category)
current_category_url = create_category(current_category_name, cookies, headers)
for uncat in all_uncats:
sys.stdout.write("Будет создана подкатегория: " + uncat)
current_uncat_url = create_undercategory(current_category_url, uncat, cookies, headers)
Так вот, мало того, что подкатегории не создаются, так еще и надпись “Будет создана подкатегория” не выводится, будто вообще цикл игнорируется. Код создания как категорий, так и подкатегорий - рабочий. URL после создания категории тоже возвращается верный.



Офлайн

#3 Ноя. 25, 2009 16:49:46

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Универсальный заливатор

“Будет создана подкатегория” не выводится, будто вообще цикл игнорируется
Это возможно при пустом all_uncats.

Офлайн

#4 Ноя. 25, 2009 16:58:49

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

Универсальный заливатор

Ferroman
в том-то и дело, что он не пустой. Если закомментить строчку создания категории - то в 90% случаев при выводе пишутся верные названия подкатегорий. Почему не в 100% - тоже загадка. Может, хрен с ним, с потоком, и создавать так? Или я слепой и чего-то не вижу?



Офлайн

#5 Ноя. 25, 2009 18:16:27

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Универсальный заливатор

дебаггер спасёт отца русской демократии.

Офлайн

#6 Ноя. 26, 2009 00:01:58

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

Универсальный заливатор

Ferroman
Pdb? Его там очень сложно присобачить…
Короче, вообще какая-то мистика.

all_uncats = get_uncats(items_in_category)
sys.stdout.write("Будет создано " + str(len(all_uncats)) + " подкатегорий")
#current_category_url = create_category(current_category_name, cookies, headers)
Я полностью переписал алгоритм возвращения списка подкатегорий, так что all_uncats в принципе не может быть пустым. Однако вот какая хрень - стоит только раскомментировать строку создания категории после возвращения списка подкатегорий - и выводится, что их будет создано 0. Если же она закомментирована - то пишется, что одна (это правильное число) подкатегория все-таки будет создана. Я не понимаю.



Отредактировано (Ноя. 26, 2009 00:03:18)

Офлайн

#7 Ноя. 26, 2009 00:35:08

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Универсальный заливатор

а мы как поймём что творится у вас в ф-циях?)

Офлайн

#8 Ноя. 26, 2009 00:35:54

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Универсальный заливатор

Чудес не бывает.
А ты не забыл где-то в коде, что при присвоении одного списка другому, на самом деле создаётся только ссылка на предыдущий, а не его реальная копия? Может в функции создания категории используется тот же список.

Офлайн

#9 Ноя. 26, 2009 01:37:55

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

Универсальный заливатор

Вот ссылка на обрывок кода: http://pastebin.com/d79513879
Да-да, я знаю, что он сырой и его еще можно упросить и убрать весь этот индусский код. Но все это прекрасно работало в предыдущей версии заливатора, почему не работает в потоке - я понять не могу.



Офлайн

#10 Ноя. 26, 2009 10:18:15

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Универсальный заливатор

Что-то код малочитабельный при атком кодировании кирилицы. Как в этом разбираться?

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version