Теперь можно начинать разбираться с этим ужасом в районе "if (int(occversion[0]) >= 7) and (int(occversion[1]) >= 1):"
Ужас не в этой проверке, а вот тут:
snip = Drawing.projectToSVG(e,drawing_plane_normal) if snip: try: a = "A " + snip.split("path d=\"")[1].split("\"")[0].split("A")[1] except: pass else: edata += a done = True
Во-первых у меня оно сейчас прикрыто raise NotImplemented, и оно не рейзится, значит, я этот кусок кода не трогаю в тестах. Это означает, что мне сейчас придётся делать соседний бранч и в нём пытаться выковырять с помощью print'ов что там приходит-уходит, чтобы таки этот тест написать.
Во-вторых, это просто какой-то ужас. Я могу сохранить его, и всего лишь передать эту "a" в path.elliptical_arc. Дополнительный фан состоит в том, что Drawing - это нифига не питон, это добрый-добрый C++, который реализует интерфейс для питона. В нём на 100+ строк написано главное:
ProjectionAlgos Alg(pShape->getTopoShapePtr()->getShape(
И я это даже понять не могу. Либо это макрос, либо это какая-то фича С++, которой я не знаю (синтаксически).
Другими словами, "нам с этим жить". А жить будет БОЛЬНО (особенно в тестах), потому что у меня:
>>> Part.OCC_VERSION
'6.9.1.oce-0.18'
А ещё я не знаю, что такое 'occ' (oce). Примерно происходит от "OpenCASCADE Community Edition"... Ой, моки меня зовут, ой зовут...