Форум сайта python.su
0
Привет!
Подскажите, какие есть языки разметки Workflow-ов?
К примеру (только пример) возьмём такой: http://wiki.coldbox.org/imagelibrary/WireBox-DependencyResolution.jpg
..т.е. с IF-ами, циклами, концом и прочим. Какие есть неочень замудрёные способы описать это текстом, чтоб Python скрипт мог распарсить и «понять», что где и в каком порядке?
Спасибо
Офлайн
253
на ум приходит два продукта. graphviz https://ru.wikipedia.org/wiki/Graphviz - к нему есть биндинг.
и dia - у него это модифицированный xml не фонтан, но прочитать можно.
Тут еще другой вопрос. Описали текстом, распознали. Отрисовка нужна? Редактирование? Если нет, то описываете объектами питона и не заморачиваетесь.
Отредактировано doza_and (Ноя. 14, 2015 15:33:42)
Офлайн
0
doza_and
на ум приходит два продукта. graphviz https://ru.wikipedia.org/wiki/Graphviz - к нему есть биндинг.и dia - у него это модифицированный xml не фонтан, но прочитать можно.Тут еще другой вопрос. Описали текстом, распознали. Отрисовка нужна? Редактирование? Если нет, то описываете объектами питона и не заморачиваетесь.
Офлайн
253
alexiyНу мы делали для себя отрисовку схем в вебе при помощи graphviz. (отрисовку не редактирование). Фичи типа переходов между разными видами и модификации страницы. Кода было пол странички. Сделали за 15 минут. Из минусов - количество примитивов ограничено, можно правда картинки вместо узлов сделать, Кроме того graphviz может скинуть граф в svg. Тогда потом можно в нем покапаться. Но нам было достаточно отрисовки. Например посмотрите как doxigen отрисовывает структуру программ при помощи graphviz.
По поводу отрисовки - нужна будет через веб.
alexiyЭто утверждение непонятно. Если ваш граф имеет представление в виде связанных объектов питона, то отформатировать его в любой другой формат задача крайне примитивная. На фоне большого веб проекта практически ничего не весит. Более того фаза с представлением блок схемы в питоне практически неизбежна, если вы хот чтото будете делать с этим графом. Можно конечно все на javascript сделать, но это друга тема.
Потому просто питон-скриптом логику описать лучше и не пытаться
Отредактировано doza_and (Ноя. 14, 2015 19:47:02)
Офлайн
0
doza_and
Офлайн
253
alexiyПо поводу любой язык веб разметки. Помоему тут выбора нет. Это html (в который входит css, javascript, svg, json).
“DOT file -> любой веб-язык”
alexiyчем-то другим? Чем? Обычно парсер питона называется инерпрететор питона и никак не иначе.
Парсить текстовой скрипт питона чем-то другим ведь сложнее будет?
Отредактировано doza_and (Ноя. 15, 2015 08:54:00)
Офлайн
0
doza_and
Отредактировано alexiy (Ноя. 15, 2015 10:19:16)
Офлайн
253
alexiyСкрещивание языков почти всегда нетривиальная задача. Выделять в Go веб часть (точнее веб сервер) помомему нет смысла. Не увидите разницы ни в сложности кода ни в быстродействии. Сами смотрите по поводу сложности текста: http://bottlepy.org/docs/dev/index.html.
А есть рекомендации по поводу Go? Веб часть думал на нём делать
Офлайн
0
doza_and
graph = { "a" : ["c"], "b" : ["c", "e"], "c" : ["a", "b", "d", "e"], "d" : ["c"], "e" : ["c", "b"], "f" : [] }
Отредактировано alexiy (Ноя. 15, 2015 18:30:53)
Офлайн
253
alexiyВ общем случае никак. Этих данных совершенно недостаточно для того чтобы однозначно понять где какие квадратики рисовать и стрелочки. Какого это все стиля и цвета.
Как это преобразовать в связанные HTML объекты, которые можно отобразить?
Офлайн