
Romka
08.01.2017
23:33:14
На тогда только циклом

tufedtm
08.01.2017
23:33:15
зачем регулярки, если можно использовать beautifulsoup
у меня проблема именно в разном уровне вложенности (3, 4 ...)

Romka
08.01.2017
23:37:10
Циклом щитать количество открывающих и закрывающих тегов и на этой основе строить вложенности
Долго, но как вариант

Google

Johnnie
08.01.2017
23:38:07

tufedtm
08.01.2017
23:44:41
это нужно с сохранением порядка вложенности
что-то вроде многоуровнего меню

Johnnie
08.01.2017
23:49:15
'items': [str(x) for x in item]
страшные вещи тут происходят я смотрю

tufedtm
08.01.2017
23:49:52
думал их сделать экземплярами bs

b0g3r
08.01.2017
23:51:15
а в чем в общем-то проблема?
входные данные я вижу, а какие хочется видеть на выходе?
не очень понимаю фразу "перенести в базу с сохранением вложенности"

tufedtm
08.01.2017
23:53:11
нужно заполнить инфой из файла базу чтобы выводить её на сайте
не потеряв структуру родители-дети

Johnnie
08.01.2017
23:53:32
а база какой структуры?

b0g3r
08.01.2017
23:54:02
ну логично, что либо какой-нибудь nosql использовать, либо ээ, ну сделать базу с такой же структурой и её заполнять)

Google

b0g3r
08.01.2017
23:55:16
тебе по-моему нужно базу спроектировать, а не переносить в нее)

tufedtm
09.01.2017
00:03:59
я это вижу примерно так
сначала сделать json в котором только нужные данные
потом заносить его в бд
parent
title
parent_id
item
title
head
text
parent_id
image
item_id
image
file
item_id
file

b0g3r
09.01.2017
00:07:00
item
item_id
title
head
text
parent_item_id
image
parent_item_id
image
file
parent_item_id
file
item является предком item
image и file - тоже предки item

tufedtm
09.01.2017
00:12:08
действительно parent был лишним

b0g3r
09.01.2017
00:13:27
просто будет несколько root-item на страничке
глазомер мне подсказывает, что в примере их два
парсить - рекурсивно
берешь item, а потом пытаешься взять у него
head
text
files
images
items - вот тут рекурсия

53r63rn4r
09.01.2017
00:17:58
Уахахахахахаха
:DD
Буду клепать с собой мемасики

b0g3r
09.01.2017
00:19:28
;)

53r63rn4r
09.01.2017
00:21:04
На 404 повешу

Aleksandr
09.01.2017
00:25:41
а почему вы эти итемы с родителем просто строкой не возьмете?
зачем хранить разборные?

b0g3r
09.01.2017
00:27:05
так там не очень простая иерархичная структура же

Aleksandr
09.01.2017
00:27:49
на сколько не простая?

Google

b0g3r
09.01.2017
00:28:20
ну так есть же ссылочка
как все <item>...</item>, а именно содержимое атрибутов, вложенных элементов перенести в базу?
с сохранением уровней вложенности (которая там разная)
https://paste.ubuntu.com/23767479/
к каком направлении смотреть?

Aleksandr
09.01.2017
00:30:22
а что за структура такая?
на хмл не похоже

b0g3r
09.01.2017
00:33:40
оно и есть

Aleksandr
09.01.2017
00:46:51
похоже я его дано не видел((

tufedtm
09.01.2017
00:50:34

b0g3r
09.01.2017
00:51:36
У каждого итема будет уникальный id (pk)
Внутри рекурсивной функции всегда имеем parent item в области видимости
Жсон - иерархическая структура, боюсь перевод в нее только запутает и потратит время
В первом вызове просто не записываем parent_id

tufedtm
09.01.2017
00:57:22

b0g3r
09.01.2017
00:57:32
А какой орм?
Тогда не parent id, а просто parent (fk)

tufedtm
09.01.2017
00:57:54
скорее всего возьму peewee

b0g3r
09.01.2017
00:58:08
Подойдёт вполне
А может в сторону монго посмотреть?

tufedtm
09.01.2017
01:01:15

Google

b0g3r
09.01.2017
01:02:21
Не знаю, соуп, не соуп) должна принимать итем для парсинга + парент итем (наверное уже orm объектом)

tufedtm
09.01.2017
01:03:19

b0g3r
09.01.2017
01:05:12
При запуске из рута пусть parent-item=None
А теперь я спать ;)

Baal
09.01.2017
05:52:12
Есть ли способ как нибудь объявлять переменные не так: a, b, c = 0, 0, 0
А как нибудь так a, b, c = 0?
Бесит сука не могу
Когда переменных штук 20 заколебешься нули писать

Igor
09.01.2017
05:53:01
a = b = c = 0

Baal
09.01.2017
05:53:17
Ух ты!!
Обязательно попробую, спасибо

Igor
09.01.2017
05:53:50
но я бы постарался этого избегать. к тому же, есть интересный нюанс со списками и словарями
In [14]: a = b = []
In [15]: a.append(1)
In [16]: a
Out[16]: [1]
In [17]: b
Out[17]: [1]

Baal
09.01.2017
05:54:50
Это про то, что а и b ссылаются на один и ттот же объект? Я так понимаю, что это касается только строк

Igor
09.01.2017
05:55:02
как раз строки иммутабельны
а вот словари и списки - не очень

Baal
09.01.2017
05:55:23
Т.е. если я объявлю a = b = 0

Igor
09.01.2017
05:55:37
то все ок

Baal
09.01.2017
05:55:44
А потом a = 1, то b = 0

Igor
09.01.2017
05:56:00
In [25]: a = b = 0
In [26]: a += 1
In [27]: a, b
Out[27]: (1, 0)

Google

Igor
09.01.2017
05:56:01
да
и строки тоже ок. и float.
и кортежи (tuple)
а вот листы и дикты - ахтунг
насчет сетов не уверен

b0g3r
09.01.2017
05:57:16

Baal
09.01.2017
05:57:20
Мне только для числовых переменных. Спасибо огромное.

Igor
09.01.2017
05:57:34

b0g3r
09.01.2017
05:57:52
Есть фрозенсет)

Igor
09.01.2017
05:57:55
насколько я знаю, считается хорошей практикой определять переменные сразу перед их использованием, а не сильно заранее

Baal
09.01.2017
05:59:25
Да понятно, что 20 это я преувеличил, но иногда за 10 заходит. А пока учишься бывает, что лишние использую. Потом, когда уве написал программу, обычно вижу, что 2-3 переменные лишние

Igor
09.01.2017
05:59:40
ну ладно :)

Pavel
09.01.2017
06:00:03

Igor
09.01.2017
06:00:33

Baal
09.01.2017
06:00:47
Вообще наверное оба подхода имеют смысл. С одной стороны когда все переменные объявлены в одном блоке, то это проще отследить

Igor
09.01.2017
06:01:50
Эта группа больше не существует