changed severity names to be better understood

Sat, 08 Jun 2019 01:51:50 +0300

author
Teemu Piippo <teemu@hecknology.net>
date
Sat, 08 Jun 2019 01:51:50 +0300
changeset 64
1c0884f5506e
parent 63
8949af6a4279
child 65
f2dc17b830e0
child 66
e28b249b4422

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 = ''

mercurial