hbmartin / graphviz2drawio

Convert graphviz (dot) files into draw.io / lucid (mxGraph) format
http://graphviz2drawio.rtfd.io
GNU General Public License v3.0
165 stars 33 forks source link

proposal for reorg #23

Closed hbmartin closed 5 years ago

hbmartin commented 5 years ago

@jcaplan This looks like:

|svg | |SvgUtils.py | |__init.py | |__CoordsTranslate.py | |SvgParser.py | |factory | | |__init.py | | |__FromSvgFactory.py | | |NodeFactory.py | | |EdgeFactory.py |version.py |Arguments.py |__init.py |__models | |Edge.py | |__init.py | |__GraphObj.py | |Rect.py | |Curve.py | |LinearRegression.py | |Text.py | |Node.py |graphviz2drawio.py |gv | |GvGraph.py | |__init.py | |__GvAttr.py | |GvShape.py |mx | |MxConst.py | |__init.py | |__MxGraph.py | |Styles.py |__main__.py

jcaplan commented 5 years ago

I still think 1:1 class:file makes things less clear when there's a bunch of super tiny related classes. svg package could just be svg.py with ~ 150 loc Arguments doesn't need to be wrapped in a class. There's usually just some parse function in main script. models could be reduced to two files (one for math and one for graph objects) gv package could be reduced to one file with ~40 loc.

jcaplan commented 5 years ago

Have a look at black itself (actually just one file): https://github.com/ambv/black/blob/master/black.py

Or some other packages you like to use. This feels very unpythony.