Sat, 08 Jun 2019 01:51:50 +0300
changed severity names to be better understood
static/error.svg | file | annotate | diff | comparison | revisions | |
static/hold.svg | file | annotate | diff | comparison | revisions | |
static/notice.svg | file | annotate | diff | comparison | revisions | |
static/style.css | file | annotate | diff | comparison | revisions | |
static/warning.svg | file | annotate | diff | comparison | revisions | |
templates/webfront.html | file | annotate | diff | comparison | revisions | |
tests/misc.py | file | annotate | diff | comparison | revisions | |
tests/quadrilaterals.py | file | annotate | diff | comparison | revisions | |
tests/subfiles.py | file | annotate | diff | comparison | revisions | |
testsuite.py | file | annotate | diff | comparison | revisions |
--- a/static/error.svg Sat Jun 08 01:42:48 2019 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg id="svg6361" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" sodipodi:docname="process-stop.svg" xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" height="48px" sodipodi:version="0.32" width="48px" xmlns:cc="http://web.resource.org/cc/" xmlns:xlink="http://www.w3.org/1999/xlink" sodipodi:docbase="/home/jimmac/gfx/ximian/tango-icon-theme/scalable/actions" xmlns:dc="http://purl.org/dc/elements/1.1/"> - <defs id="defs3"> - <radialGradient id="radialGradient21650" gradientUnits="userSpaceOnUse" cy="36.75" cx="25.125" gradientTransform="matrix(1 0 0 .59524 -2.3007e-15 14.875)" r="15.75"> - <stop id="stop21646" offset="0"/> - <stop id="stop21648" stop-opacity="0" offset="1"/> - </radialGradient> - <linearGradient id="linearGradient2057" y2="47.374" gradientUnits="userSpaceOnUse" x2="53.57" gradientTransform="translate(0 -2)" y1="12.504" x1="15.737"> - <stop id="stop11782" stop-color="#ff8b8b" offset="0"/> - <stop id="stop11784" stop-color="#ec1b1b" offset="1"/> - </linearGradient> - <linearGradient id="linearGradient4987" y2="37.96" gradientUnits="userSpaceOnUse" x2="41.048" gradientTransform="translate(0 -2)" y1="20.105" x1="23.996"> - <stop id="stop4983" stop-color="#c00" offset="0"/> - <stop id="stop4985" stop-color="#b30000" offset="1"/> - </linearGradient> - <radialGradient id="radialGradient2239" gradientUnits="userSpaceOnUse" cy="33.302" cx="24.302" gradientTransform="matrix(1.694 -5.7757e-16 5.7757e-16 1.694 -16.865 -25.111)" r="12.302"> - <stop id="stop9649" stop-color="#fff" offset="0"/> - <stop id="stop9651" stop-color="#dbdbdb" offset="1"/> - </radialGradient> - <radialGradient id="radialGradient2254" gradientUnits="userSpaceOnUse" cy="10.666" cx="16.75" gradientTransform="matrix(4.155 -2.9792e-24 3.2557e-24 3.1987 -52.846 -23.509)" r="21.25"> - <stop id="stop2250" stop-color="#fff" offset="0"/> - <stop id="stop2252" stop-color="#fff" stop-opacity="0" offset="1"/> - </radialGradient> - <linearGradient id="linearGradient2262" y2="35.052" gradientUnits="userSpaceOnUse" x2="24.302" gradientTransform="translate(0 -2)" y1="15.802" x1="21.75"> - <stop id="stop2258" stop-color="#ff0202" offset="0"/> - <stop id="stop2260" stop-color="#ff9b9b" offset="1"/> - </linearGradient> - </defs> - <sodipodi:namedview id="base" bordercolor="#666666" pagecolor="#ffffff" showgrid="false" borderopacity="0.15294118" showguides="true"/> - <metadata id="metadata4"> - <rdf:RDF> - <cc:Work rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> - <dc:title>Stop</dc:title> - <dc:date>2005-10-16</dc:date> - <dc:creator> - <cc:Agent> - <dc:title>Andreas Nilsson</dc:title> - </cc:Agent> - </dc:creator> - <dc:subject> - <rdf:Bag> - <rdf:li>stop</rdf:li> - <rdf:li>halt</rdf:li> - <rdf:li>error</rdf:li> - </rdf:Bag> - </dc:subject> - <cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/"/> - <dc:contributor> - <cc:Agent> - <dc:title>Jakub Steiner</dc:title> - </cc:Agent> - </dc:contributor> - </cc:Work> - <cc:License rdf:about="http://creativecommons.org/licenses/by-sa/2.0/"> - <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/> - <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/> - <cc:requires rdf:resource="http://web.resource.org/cc/Notice"/> - <cc:requires rdf:resource="http://web.resource.org/cc/Attribution"/> - <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/> - <cc:requires rdf:resource="http://web.resource.org/cc/ShareAlike"/> - </cc:License> - </rdf:RDF> - </metadata> - <g id="layer1"> - <path id="path21642" sodipodi:rx="15.75" sodipodi:ry="9.375" style="color:#000000" sodipodi:type="arc" d="m40.875 36.75a15.75 9.375 0 1 1 -31.5 0 15.75 9.375 0 1 1 31.5 0z" fill-rule="evenodd" opacity=".63068" transform="matrix(1.1738 0 0 0.6 -5.2659 19.575)" sodipodi:cy="36.75" sodipodi:cx="25.125" fill="url(#radialGradient21650)"/> - <path id="path9480" d="m15.591 0.49192h17.085l12.822 13.094v17.894l-12.649 12.017h-17.43l-12.925-12.839 0.0004-17.194 13.097-12.972z" fill-rule="evenodd" sodipodi:nodetypes="ccccccccc" stroke="#860000" fill="url(#linearGradient4987)"/> - <path id="path9482" opacity=".81319" d="m16.021 1.5003h16.228l12.247 12.423v17.114l-11.858 11.451h-16.768l-12.361-12.279 0.0001-16.363 12.512-12.346z" sodipodi:nodetypes="ccccccccc" stroke="url(#linearGradient2057)" fill="none"/> - <path id="path2241" opacity=".28977" d="m15.688 0.75l-12.938 12.812v17l2.9375 2.907c16.762 0.057 16.478-13.019 39.562-11.875v-7.906l-12.688-12.938h-16.874z" fill-rule="evenodd" sodipodi:nodetypes="cccccccc" fill="url(#radialGradient2254)"/> - <path id="path2787" stroke-linejoin="round" d="m16.767 10.5l-4.267 4.267 7.535 7.535-7.535 7.535 4.267 4.268 7.535-7.536 7.535 7.536 4.268-4.268-7.536-7.535 7.536-7.535-4.268-4.267-7.535 7.535-7.535-7.535z" fill-rule="evenodd" stroke="url(#linearGradient2262)" stroke-linecap="round" fill="url(#radialGradient2239)"/> - </g> -</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/static/hold.svg Sat Jun 08 01:51:50 2019 +0300 @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg id="svg6361" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" sodipodi:docname="process-stop.svg" xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" height="48px" sodipodi:version="0.32" width="48px" xmlns:cc="http://web.resource.org/cc/" xmlns:xlink="http://www.w3.org/1999/xlink" sodipodi:docbase="/home/jimmac/gfx/ximian/tango-icon-theme/scalable/actions" xmlns:dc="http://purl.org/dc/elements/1.1/"> + <defs id="defs3"> + <radialGradient id="radialGradient21650" gradientUnits="userSpaceOnUse" cy="36.75" cx="25.125" gradientTransform="matrix(1 0 0 .59524 -2.3007e-15 14.875)" r="15.75"> + <stop id="stop21646" offset="0"/> + <stop id="stop21648" stop-opacity="0" offset="1"/> + </radialGradient> + <linearGradient id="linearGradient2057" y2="47.374" gradientUnits="userSpaceOnUse" x2="53.57" gradientTransform="translate(0 -2)" y1="12.504" x1="15.737"> + <stop id="stop11782" stop-color="#ff8b8b" offset="0"/> + <stop id="stop11784" stop-color="#ec1b1b" offset="1"/> + </linearGradient> + <linearGradient id="linearGradient4987" y2="37.96" gradientUnits="userSpaceOnUse" x2="41.048" gradientTransform="translate(0 -2)" y1="20.105" x1="23.996"> + <stop id="stop4983" stop-color="#c00" offset="0"/> + <stop id="stop4985" stop-color="#b30000" offset="1"/> + </linearGradient> + <radialGradient id="radialGradient2239" gradientUnits="userSpaceOnUse" cy="33.302" cx="24.302" gradientTransform="matrix(1.694 -5.7757e-16 5.7757e-16 1.694 -16.865 -25.111)" r="12.302"> + <stop id="stop9649" stop-color="#fff" offset="0"/> + <stop id="stop9651" stop-color="#dbdbdb" offset="1"/> + </radialGradient> + <radialGradient id="radialGradient2254" gradientUnits="userSpaceOnUse" cy="10.666" cx="16.75" gradientTransform="matrix(4.155 -2.9792e-24 3.2557e-24 3.1987 -52.846 -23.509)" r="21.25"> + <stop id="stop2250" stop-color="#fff" offset="0"/> + <stop id="stop2252" stop-color="#fff" stop-opacity="0" offset="1"/> + </radialGradient> + <linearGradient id="linearGradient2262" y2="35.052" gradientUnits="userSpaceOnUse" x2="24.302" gradientTransform="translate(0 -2)" y1="15.802" x1="21.75"> + <stop id="stop2258" stop-color="#ff0202" offset="0"/> + <stop id="stop2260" stop-color="#ff9b9b" offset="1"/> + </linearGradient> + </defs> + <sodipodi:namedview id="base" bordercolor="#666666" pagecolor="#ffffff" showgrid="false" borderopacity="0.15294118" showguides="true"/> + <metadata id="metadata4"> + <rdf:RDF> + <cc:Work rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> + <dc:title>Stop</dc:title> + <dc:date>2005-10-16</dc:date> + <dc:creator> + <cc:Agent> + <dc:title>Andreas Nilsson</dc:title> + </cc:Agent> + </dc:creator> + <dc:subject> + <rdf:Bag> + <rdf:li>stop</rdf:li> + <rdf:li>halt</rdf:li> + <rdf:li>error</rdf:li> + </rdf:Bag> + </dc:subject> + <cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/"/> + <dc:contributor> + <cc:Agent> + <dc:title>Jakub Steiner</dc:title> + </cc:Agent> + </dc:contributor> + </cc:Work> + <cc:License rdf:about="http://creativecommons.org/licenses/by-sa/2.0/"> + <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/> + <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/> + <cc:requires rdf:resource="http://web.resource.org/cc/Notice"/> + <cc:requires rdf:resource="http://web.resource.org/cc/Attribution"/> + <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/> + <cc:requires rdf:resource="http://web.resource.org/cc/ShareAlike"/> + </cc:License> + </rdf:RDF> + </metadata> + <g id="layer1"> + <path id="path21642" sodipodi:rx="15.75" sodipodi:ry="9.375" style="color:#000000" sodipodi:type="arc" d="m40.875 36.75a15.75 9.375 0 1 1 -31.5 0 15.75 9.375 0 1 1 31.5 0z" fill-rule="evenodd" opacity=".63068" transform="matrix(1.1738 0 0 0.6 -5.2659 19.575)" sodipodi:cy="36.75" sodipodi:cx="25.125" fill="url(#radialGradient21650)"/> + <path id="path9480" d="m15.591 0.49192h17.085l12.822 13.094v17.894l-12.649 12.017h-17.43l-12.925-12.839 0.0004-17.194 13.097-12.972z" fill-rule="evenodd" sodipodi:nodetypes="ccccccccc" stroke="#860000" fill="url(#linearGradient4987)"/> + <path id="path9482" opacity=".81319" d="m16.021 1.5003h16.228l12.247 12.423v17.114l-11.858 11.451h-16.768l-12.361-12.279 0.0001-16.363 12.512-12.346z" sodipodi:nodetypes="ccccccccc" stroke="url(#linearGradient2057)" fill="none"/> + <path id="path2241" opacity=".28977" d="m15.688 0.75l-12.938 12.812v17l2.9375 2.907c16.762 0.057 16.478-13.019 39.562-11.875v-7.906l-12.688-12.938h-16.874z" fill-rule="evenodd" sodipodi:nodetypes="cccccccc" fill="url(#radialGradient2254)"/> + <path id="path2787" stroke-linejoin="round" d="m16.767 10.5l-4.267 4.267 7.535 7.535-7.535 7.535 4.267 4.268 7.535-7.536 7.535 7.536 4.268-4.268-7.536-7.535 7.536-7.535-4.268-4.267-7.535 7.535-7.535-7.535z" fill-rule="evenodd" stroke="url(#linearGradient2262)" stroke-linecap="round" fill="url(#radialGradient2239)"/> + </g> +</svg>
--- a/static/notice.svg Sat Jun 08 01:42:48 2019 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg id="svg1306" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="48px" width="48px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"> - <defs id="defs1308"> - <radialGradient id="radialGradient3976" gradientUnits="userSpaceOnUse" cy="40" cx="23.857" gradientTransform="matrix(1 0 0 .5 0 20)" r="17.143"> - <stop id="stop4128" offset="0"/> - <stop id="stop4130" stop-opacity="0" offset="1"/> - </radialGradient> - <linearGradient id="linearGradient3980" y2="-8.5627" gradientUnits="userSpaceOnUse" x2="20.065" y1="53.836" x1="43.936"> - <stop id="stop2481" stop-color="#ffe69b" offset="0"/> - <stop id="stop2483" stop-color="#fff" offset="1"/> - </linearGradient> - </defs> - <metadata id="metadata1311"> - <rdf:RDF> - <cc:Work rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> - <dc:creator> - <cc:Agent> - <dc:title>Rodney Dawes</dc:title> - </cc:Agent> - </dc:creator> - <dc:contributor> - <cc:Agent> - <dc:title>Jakub Steiner, Garrett LeSage</dc:title> - </cc:Agent> - </dc:contributor> - <cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/"/> - <dc:title/> - </cc:Work> - <cc:License rdf:about="http://creativecommons.org/licenses/by-sa/2.0/"> - <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/> - <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/> - <cc:requires rdf:resource="http://web.resource.org/cc/Notice"/> - <cc:requires rdf:resource="http://web.resource.org/cc/Attribution"/> - <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/> - <cc:requires rdf:resource="http://web.resource.org/cc/ShareAlike"/> - </cc:License> - </rdf:RDF> - </metadata> - <g id="layer2"> - <path id="path6548" opacity=".6" style="color:#000000" d="m41 40a17.143 8.5714 0 1 1 -34.286 0 17.143 8.5714 0 1 1 34.286 0z" transform="matrix(1.0706 0 0 .525 -.89276 22.5)" display="block" fill="url(#radialGradient3976)"/> - </g> - <g id="layer1"> - <g id="g4006"> - <path id="path1314" d="m46.857 23.929c0 12.9-10.457 23.357-23.357 23.357s-23.357-10.457-23.357-23.357 10.457-23.357 23.357-23.357 23.357 10.457 23.357 23.357z" transform="matrix(.92049 0 0 .92049 2.3685 .97408)" stroke="#204a87" stroke-width="1.0864" fill="#3465a4"/> - <path id="path3560" opacity=".34659" d="m49.902 26.635c0 13.25-10.741 23.991-23.991 23.991s-23.991-10.741-23.991-23.991 10.741-23.991 23.991-23.991 23.991 10.741 23.991 23.991z" fill-opacity="0" transform="matrix(.85448 0 0 .85448 1.86 .24062)" stroke="url(#linearGradient3980)" stroke-width="1.1703"/> - </g> - </g> - <g id="layer3" fill="#fff"> - <path id="path3684" opacity=".25" d="m24 3c-11.046 0-20 8.954-20 20 0 1.6861 0.23214 3.3108 0.625 4.875 3.204 4.7933 13.254-0.12014 20.219-5.5938 8.008-6.2931 17.842 8.3593 19.125 1.4375 0.008-0.239 0.031-0.478 0.031-0.719 0-11.046-8.954-20-20-20z"/> - <g id="g13674" transform="translate(2.8959 -3.6973)"> - <path id="text3246" d="m21.104 13.697c-0.86423 0.01942-1.5754 0.30821-2.1336 0.86638-0.55819 0.55821-0.84699 1.2694-0.86638 2.1336 0.01939 0.86424 0.30819 1.5754 0.86638 2.1336 0.55818 0.55821 1.2694 0.847 2.1336 0.86638 0.86422-0.01938 1.5754-0.30817 2.1336-0.86638 0.55818-0.55817 0.84697-1.2694 0.86638-2.1336-0.01941-0.8642-0.3082-1.5754-0.86638-2.1336-0.5582-0.55817-1.2694-0.84696-2.1336-0.86638z"/> - <path id="path13678" d="m15.104 21.697v3h2c0.55228 0 1 0.44772 1 1v9c0 0.55228-0.44772 1-1 1h-2v3h12v-3h-2c-0.55228 0-1-0.44772-1-1v-13h-9z"/> - </g> - </g> -</svg>
--- a/static/style.css Sat Jun 08 01:42:48 2019 +0300 +++ b/static/style.css Sat Jun 08 01:51:50 2019 +0300 @@ -23,7 +23,7 @@ margin-bottom: 3px; } -.problems-list li.problem-error +.problems-list li.problem-hold { background-color: #b44; border-color: red; @@ -32,13 +32,6 @@ .problems-list li.problem-warning { - background-color: #fc6; - border-color: #830; - color: black; -} - -.problems-list li.problem-notice -{ background-color: #def; border-color: #024; color: black;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/static/warning.svg Sat Jun 08 01:51:50 2019 +0300 @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg id="svg1306" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="48px" width="48px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"> + <defs id="defs1308"> + <radialGradient id="radialGradient3976" gradientUnits="userSpaceOnUse" cy="40" cx="23.857" gradientTransform="matrix(1 0 0 .5 0 20)" r="17.143"> + <stop id="stop4128" offset="0"/> + <stop id="stop4130" stop-opacity="0" offset="1"/> + </radialGradient> + <linearGradient id="linearGradient3980" y2="-8.5627" gradientUnits="userSpaceOnUse" x2="20.065" y1="53.836" x1="43.936"> + <stop id="stop2481" stop-color="#ffe69b" offset="0"/> + <stop id="stop2483" stop-color="#fff" offset="1"/> + </linearGradient> + </defs> + <metadata id="metadata1311"> + <rdf:RDF> + <cc:Work rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> + <dc:creator> + <cc:Agent> + <dc:title>Rodney Dawes</dc:title> + </cc:Agent> + </dc:creator> + <dc:contributor> + <cc:Agent> + <dc:title>Jakub Steiner, Garrett LeSage</dc:title> + </cc:Agent> + </dc:contributor> + <cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/"/> + <dc:title/> + </cc:Work> + <cc:License rdf:about="http://creativecommons.org/licenses/by-sa/2.0/"> + <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/> + <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/> + <cc:requires rdf:resource="http://web.resource.org/cc/Notice"/> + <cc:requires rdf:resource="http://web.resource.org/cc/Attribution"/> + <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/> + <cc:requires rdf:resource="http://web.resource.org/cc/ShareAlike"/> + </cc:License> + </rdf:RDF> + </metadata> + <g id="layer2"> + <path id="path6548" opacity=".6" style="color:#000000" d="m41 40a17.143 8.5714 0 1 1 -34.286 0 17.143 8.5714 0 1 1 34.286 0z" transform="matrix(1.0706 0 0 .525 -.89276 22.5)" display="block" fill="url(#radialGradient3976)"/> + </g> + <g id="layer1"> + <g id="g4006"> + <path id="path1314" d="m46.857 23.929c0 12.9-10.457 23.357-23.357 23.357s-23.357-10.457-23.357-23.357 10.457-23.357 23.357-23.357 23.357 10.457 23.357 23.357z" transform="matrix(.92049 0 0 .92049 2.3685 .97408)" stroke="#204a87" stroke-width="1.0864" fill="#3465a4"/> + <path id="path3560" opacity=".34659" d="m49.902 26.635c0 13.25-10.741 23.991-23.991 23.991s-23.991-10.741-23.991-23.991 10.741-23.991 23.991-23.991 23.991 10.741 23.991 23.991z" fill-opacity="0" transform="matrix(.85448 0 0 .85448 1.86 .24062)" stroke="url(#linearGradient3980)" stroke-width="1.1703"/> + </g> + </g> + <g id="layer3" fill="#fff"> + <path id="path3684" opacity=".25" d="m24 3c-11.046 0-20 8.954-20 20 0 1.6861 0.23214 3.3108 0.625 4.875 3.204 4.7933 13.254-0.12014 20.219-5.5938 8.008-6.2931 17.842 8.3593 19.125 1.4375 0.008-0.239 0.031-0.478 0.031-0.719 0-11.046-8.954-20-20-20z"/> + <g id="g13674" transform="translate(2.8959 -3.6973)"> + <path id="text3246" d="m21.104 13.697c-0.86423 0.01942-1.5754 0.30821-2.1336 0.86638-0.55819 0.55821-0.84699 1.2694-0.86638 2.1336 0.01939 0.86424 0.30819 1.5754 0.86638 2.1336 0.55818 0.55821 1.2694 0.847 2.1336 0.86638 0.86422-0.01938 1.5754-0.30817 2.1336-0.86638 0.55818-0.55817 0.84697-1.2694 0.86638-2.1336-0.01941-0.8642-0.3082-1.5754-0.86638-2.1336-0.5582-0.55817-1.2694-0.84696-2.1336-0.86638z"/> + <path id="path13678" d="m15.104 21.697v3h2c0.55228 0 1 0.44772 1 1v9c0 0.55228-0.44772 1-1 1h-2v3h12v-3h-2c-0.55228 0-1-0.44772-1-1v-13h-9z"/> + </g> + </g> +</svg>
--- a/templates/webfront.html Sat Jun 08 01:42:48 2019 +0300 +++ b/templates/webfront.html Sat Jun 08 01:51:50 2019 +0300 @@ -26,7 +26,9 @@ width="32" height="32" class="problem-icon" /> - Line {{problem.line_number}}: {{problem.message_str}} + {{problem.severity}}: + Line {{problem.line_number}}: + {{problem.message_str}} <br /> <span class="ldraw-code">{{problem.ldraw_code}}</span> </li>
--- a/tests/misc.py Sat Jun 08 01:42:48 2019 +0300 +++ b/tests/misc.py Sat Jun 08 01:51:50 2019 +0300 @@ -2,7 +2,7 @@ import linetypes @problem_type('bad-colour', - severity = 'error', + severity = 'hold', message = lambda colour_index, count: str.format( 'invalid colour {} used {} time(s)', colour_index, @@ -29,7 +29,7 @@ ] @problem_type('syntax-error', - severity = 'error', + severity = 'hold', message = lambda reason: str.format('syntax error: {}', reason), ) def syntax_errors(model): @@ -43,7 +43,7 @@ ) @problem_type('bad-header', - severity = 'error', + severity = 'hold', message = lambda reason: str.format('bad header: {}', reason), ) def bad_header(model): @@ -56,7 +56,7 @@ ) @problem_type('bfc-nocertify', - severity = 'error', + severity = 'hold', message = 'all new parts must be BFC certified', ) def nocertify_test(model): @@ -68,7 +68,7 @@ ) @problem_type('physical-colour-part', - severity = 'error', + severity = 'hold', message = 'no new physical colour parts are accepted', ) def physical_colours_test(model): @@ -79,7 +79,7 @@ ) @problem_type('official-part', - severity = 'error', + severity = 'hold', message = 'new parts must be unofficial', ) def unofficiality_test(model): @@ -89,7 +89,7 @@ bad_object = model.body[model.header.first_occurrence['part type']]) @problem_type('primitive-ccw', - severity = 'error', + severity = 'hold', message = 'primitives must have CCW winding', ) def primitive_ccw_test(model):
--- a/tests/quadrilaterals.py Sat Jun 08 01:42:48 2019 +0300 +++ b/tests/quadrilaterals.py Sat Jun 08 01:51:50 2019 +0300 @@ -6,7 +6,7 @@ # Returns whether all elements in container have the same sign return min(container) * max(container) >= 0 -@problem_type('concave', severity = 'error', message = 'concave quadrilateral') +@problem_type('concave', severity = 'hold', message = 'concave quadrilateral') def concave_test(model): ''' Checks that all quadrilaterals are convex. ''' for quadrilateral in model.quadrilaterals: @@ -23,14 +23,14 @@ yield report_problem('concave', bad_object = quadrilateral) @problem_type('skew-major', - severity = 'error', + severity = 'hold', message = lambda skew_angle: str.format('skew quadrilateral (plane angle {})', degree_rep(skew_angle), ), ) @problem_type('skew-minor', - severity = 'notice', + severity = 'warning', message = lambda skew_angle: str.format('slightly skew quadrilateral (plane angle {})', degree_rep(skew_angle), @@ -59,7 +59,7 @@ break @problem_type('self-intersecting', - severity = 'error', + severity = 'hold', message = 'self-intersecting quadrilateral', ) def bowtie_test(model): @@ -77,7 +77,7 @@ ) break -@problem_type('collinear', severity = 'error', message = 'collinear polygon') +@problem_type('collinear', severity = 'hold', message = 'collinear polygon') def collinear_test(model): for element in model.body: if hasattr(element, 'geometry') and len(element.geometry.vertices) >= 3: @@ -86,7 +86,7 @@ yield report_problem('collinear', bad_object = element) @problem_type('hairline-polygon', - severity = 'notice', + severity = 'warning', message = lambda smallest_angle: str.format( 'hairline polygon (smallest angle {})', degree_rep(smallest_angle),
--- a/tests/subfiles.py Sat Jun 08 01:42:48 2019 +0300 +++ b/tests/subfiles.py Sat Jun 08 01:51:50 2019 +0300 @@ -12,7 +12,7 @@ library_standards.read_file(file) @problem_type('zero-determinant', - severity = 'error', + severity = 'hold', message = 'matrix row or column all zero' ) def determinant_test(model): @@ -59,7 +59,7 @@ } @problem_type('illegal-scaling', - severity = 'error', + severity = 'hold', message = lambda primitive, scaling, axes: str.format('scaling of unscalable primitive {} ({})', primitive, @@ -103,28 +103,28 @@ ) @problem_type('cyclical-reference', - severity = 'error', + severity = 'hold', message = lambda chain: str.format('cyclical subfile dependency: {chain}', **locals(), ), ) @problem_type('bad-subfile', - severity = 'error', + severity = 'hold', message = lambda path, problem_text: str.format('cannot process subfile "{path}": {problem_text}', **locals(), ), ) @problem_type('moved-file-used', - severity = 'error', + severity = 'hold', message = lambda moved_file, new_file: str.format('subfile "{moved_file}" has been moved to "{new_file}"', **locals(), ), ) @problem_type('unnecessary-scaling', - severity = 'notice', + severity = 'warning', message = lambda scaled_flat_dimensions, scaling_vector: str.format( 'subfile unnecessarily scaled in the {dims} ({scaling})',
--- a/testsuite.py Sat Jun 08 01:42:48 2019 +0300 +++ b/testsuite.py Sat Jun 08 01:51:50 2019 +0300 @@ -1,7 +1,7 @@ from warnings import warn class ProblemType: - severities = ['error', 'notice'] # in descending order + severities = ['hold', 'warning'] # in descending order def __init__(self, name, severity, message): if severity not in ProblemType.severities: raise ValueError(str.format( @@ -117,7 +117,7 @@ problems.append(problem) return { 'passed': not any( - problem.severity == 'error' + problem.severity == 'hold' for problem in problems ), 'problems': sorted(problems, key = problem_key), @@ -150,9 +150,9 @@ colorama.init() messages = [] for problem in report['problems']: - if problem.severity == 'error': + if problem.severity == 'hold': text_colour = colorama.Fore.LIGHTRED_EX - elif problem.severity == 'notice': + elif problem.severity == 'warning': text_colour = colorama.Fore.LIGHTBLUE_EX else: text_colour = ''