diff --git a/beat/web/ui/forms.py b/beat/web/ui/forms.py
index 21e9a098bc0b2cee156ce570f7f4d407088cf9d0..5b448d3d5751785dab1466d2b00ad01c4e70e9e4 100644
--- a/beat/web/ui/forms.py
+++ b/beat/web/ui/forms.py
@@ -32,10 +32,12 @@
from django import forms
from django.core.files.base import ContentFile
-from .widgets import CodeMirrorFileWidget, CodeMirrorTextarea
from ..common.models import Contribution
from ..common.utils import validate_restructuredtext
+from .widgets import CodeMirrorFileWidget
+from .widgets import CodeMirrorTextarea
+
class NameField(forms.CharField):
"""A specialization of the CharField that runs algo name validation"""
@@ -46,11 +48,11 @@ class NameField(forms.CharField):
def to_python(self, value):
"""Converts the name to a valid python value"""
if not value:
- raise forms.ValidationError(u'A non-blank name is required.')
+ raise forms.ValidationError(u"A non-blank name is required.")
return Contribution.sanitize_name(value)
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
class CodeMirrorCharField(forms.CharField):
@@ -61,57 +63,62 @@ class CodeMirrorCharField(forms.CharField):
codemirror_kwargs = dict(codemirror_kwargs)
# handles the readonly attribute gracefully
- if 'readonly' in kwargs:
- if kwargs['readonly']:
- config = codemirror_kwargs.get('config', {})
- config['readOnly'] = True
- codemirror_kwargs['config'] = config
- del kwargs['readonly']
-
- kwargs.update({'widget': CodeMirrorTextarea(**codemirror_kwargs)})
+ if "readonly" in kwargs:
+ if kwargs["readonly"]:
+ config = codemirror_kwargs.get("config", {})
+ config["readOnly"] = True
+ codemirror_kwargs["config"] = config
+ del kwargs["readonly"]
+
+ kwargs.update({"widget": CodeMirrorTextarea(**codemirror_kwargs)})
super(CodeMirrorCharField, self).__init__(*args, **kwargs)
def to_python(self, data):
- clean_data = data.replace('\r', '') if data else ''
+ clean_data = data.replace("\r", "") if data else ""
return super(CodeMirrorCharField, self).to_python(clean_data)
+
class CodeMirrorRSTCharField(CodeMirrorCharField):
"""Allows editing a text field with a source code editor"""
def __init__(self, codemirror_kwargs={}, *args, **kwargs):
codemirror_kwargs = dict(codemirror_kwargs)
- addon_js = list(codemirror_kwargs.get('addon_js', []))
+ addon_js = list(codemirror_kwargs.get("addon_js", []))
addon_js += [
"display/rulers",
]
- codemirror_kwargs['addon_js'] = addon_js
+ codemirror_kwargs["addon_js"] = addon_js
- codemirror_kwargs['mode'] = 'rst'
- config = codemirror_kwargs.get('config', {})
- config['foldGutter'] = False
- config['gutters'] = ["CodeMirror-linenumbers"]
- codemirror_kwargs['config'] = config
+ codemirror_kwargs["mode"] = "rst"
+ config = codemirror_kwargs.get("config", {})
+ config["foldGutter"] = False
+ config["gutters"] = ["CodeMirror-linenumbers"]
+ codemirror_kwargs["config"] = config
super(CodeMirrorRSTCharField, self).__init__(codemirror_kwargs, *args, **kwargs)
def to_python(self, data):
validate_restructuredtext(data)
return super(CodeMirrorRSTCharField, self).to_python(data)
+
class CodeMirrorPythonCharField(CodeMirrorCharField):
"""Allows editing a file instead of a plain content"""
def __init__(self, codemirror_kwargs={}, *args, **kwargs):
codemirror_kwargs = dict(codemirror_kwargs)
- addon_js = list(codemirror_kwargs.get('addon_js', []))
+ addon_js = list(codemirror_kwargs.get("addon_js", []))
addon_js += [
"fold/indent-fold",
- "display/rulers",
+ "display/rulers",
]
- codemirror_kwargs['addon_js'] = addon_js
+ codemirror_kwargs["addon_js"] = addon_js
+
+ codemirror_kwargs["mode"] = "python"
+ super(CodeMirrorPythonCharField, self).__init__(
+ codemirror_kwargs, *args, **kwargs
+ )
- codemirror_kwargs['mode'] = 'python'
- super(CodeMirrorPythonCharField, self).__init__(codemirror_kwargs, *args, **kwargs)
class CodeMirrorJSONCharField(CodeMirrorCharField):
"""Allows editing a file instead of a plain content"""
@@ -119,19 +126,21 @@ class CodeMirrorJSONCharField(CodeMirrorCharField):
def __init__(self, codemirror_kwargs={}, *args, **kwargs):
codemirror_kwargs = dict(codemirror_kwargs)
- addon_js = list(codemirror_kwargs.get('addon_js', []))
+ addon_js = list(codemirror_kwargs.get("addon_js", []))
addon_js += [
"fold/brace-fold",
- "display/rulers",
+ "display/rulers",
]
- codemirror_kwargs['addon_js'] = addon_js
+ codemirror_kwargs["addon_js"] = addon_js
- codemirror_kwargs['mode'] = {'name': 'javascript', 'json': True}
+ codemirror_kwargs["mode"] = {"name": "javascript", "json": True}
- super(CodeMirrorJSONCharField, self).__init__(codemirror_kwargs, *args, **kwargs)
+ super(CodeMirrorJSONCharField, self).__init__(
+ codemirror_kwargs, *args, **kwargs
+ )
-#-----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
class CodeMirrorFileField(forms.FileField):
@@ -141,59 +150,64 @@ class CodeMirrorFileField(forms.FileField):
codemirror_kwargs = dict(codemirror_kwargs)
# handles the readonly attribute gracefully
- if 'readonly' in kwargs:
- if kwargs['readonly']:
- config = codemirror_kwargs.get('config', {})
- config['readOnly'] = True
- codemirror_kwargs['config'] = config
- del kwargs['readonly']
-
- kwargs.update({'widget': CodeMirrorFileWidget(**codemirror_kwargs)})
+ if "readonly" in kwargs:
+ if kwargs["readonly"]:
+ config = codemirror_kwargs.get("config", {})
+ config["readOnly"] = True
+ codemirror_kwargs["config"] = config
+ del kwargs["readonly"]
+
+ kwargs.update({"widget": CodeMirrorFileWidget(**codemirror_kwargs)})
super(CodeMirrorFileField, self).__init__(*args, **kwargs)
def to_python(self, data):
- data = ContentFile(data.replace('\r',''))
- data.name = '__ignore__'
+ data = ContentFile(data.replace("\r", ""))
+ data.name = "__ignore__"
return super(CodeMirrorFileField, self).to_python(data)
+
class CodeMirrorRSTFileField(CodeMirrorFileField):
"""Allows editing a text field with a source code editor"""
def __init__(self, codemirror_kwargs={}, *args, **kwargs):
codemirror_kwargs = dict(codemirror_kwargs)
- addon_js = list(codemirror_kwargs.get('addon_js', []))
+ addon_js = list(codemirror_kwargs.get("addon_js", []))
addon_js += [
"display/rulers",
]
- codemirror_kwargs['addon_js'] = addon_js
+ codemirror_kwargs["addon_js"] = addon_js
- codemirror_kwargs['mode'] = 'rst'
- config = codemirror_kwargs.get('config', {})
- config['foldGutter'] = False
- config['gutters'] = ["CodeMirror-linenumbers"]
- codemirror_kwargs['config'] = config
+ codemirror_kwargs["mode"] = "rst"
+ config = codemirror_kwargs.get("config", {})
+ config["foldGutter"] = False
+ config["gutters"] = ["CodeMirror-linenumbers"]
+ codemirror_kwargs["config"] = config
super(CodeMirrorRSTFileField, self).__init__(codemirror_kwargs, *args, **kwargs)
def to_python(self, data):
validate_restructuredtext(data)
return super(CodeMirrorRSTFileField, self).to_python(data)
+
class CodeMirrorPythonFileField(CodeMirrorFileField):
"""Allows editing a file instead of a plain content"""
def __init__(self, codemirror_kwargs={}, *args, **kwargs):
codemirror_kwargs = dict(codemirror_kwargs)
- addon_js = list(codemirror_kwargs.get('addon_js', []))
+ addon_js = list(codemirror_kwargs.get("addon_js", []))
addon_js += [
"fold/indent-fold",
- "display/rulers",
+ "display/rulers",
]
- codemirror_kwargs['addon_js'] = addon_js
+ codemirror_kwargs["addon_js"] = addon_js
+
+ codemirror_kwargs["mode"] = "python"
+ super(CodeMirrorPythonFileField, self).__init__(
+ codemirror_kwargs, *args, **kwargs
+ )
- codemirror_kwargs['mode'] = 'python'
- super(CodeMirrorPythonFileField, self).__init__(codemirror_kwargs, *args, **kwargs)
class CodeMirrorJSONFileField(CodeMirrorFileField):
"""Allows editing a file instead of a plain content"""
@@ -201,13 +215,15 @@ class CodeMirrorJSONFileField(CodeMirrorFileField):
def __init__(self, codemirror_kwargs={}, *args, **kwargs):
codemirror_kwargs = dict(codemirror_kwargs)
- addon_js = list(codemirror_kwargs.get('addon_js', []))
+ addon_js = list(codemirror_kwargs.get("addon_js", []))
addon_js += [
"fold/brace-fold",
- "display/rulers",
+ "display/rulers",
]
- codemirror_kwargs['addon_js'] = addon_js
+ codemirror_kwargs["addon_js"] = addon_js
- codemirror_kwargs['mode'] = {'name': 'javascript', 'json': True}
+ codemirror_kwargs["mode"] = {"name": "javascript", "json": True}
- super(CodeMirrorJSONFileField, self).__init__(codemirror_kwargs, *args, **kwargs)
+ super(CodeMirrorJSONFileField, self).__init__(
+ codemirror_kwargs, *args, **kwargs
+ )
diff --git a/beat/web/ui/static/ui/images/icons/svg/attribution.html b/beat/web/ui/static/ui/images/icons/svg/attribution.html
index 275da24902bcf0c2950215ab67b402bb0622f32b..699812ad66138c10cd0f89cd739f921ec62b98db 100644
--- a/beat/web/ui/static/ui/images/icons/svg/attribution.html
+++ b/beat/web/ui/static/ui/images/icons/svg/attribution.html
@@ -1,21 +1,21 @@
{% comment %}
* Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/
* Contact: beat.support@idiap.ch
- *
+ *
* This file is part of the beat.web module of the BEAT platform.
- *
+ *
* Commercial License Usage
* Licensees holding valid commercial BEAT licenses may use this file in
* accordance with the terms contained in a written agreement between you
* and Idiap. For further information contact tto@idiap.ch
- *
+ *
* Alternatively, this file may be used under the terms of the GNU Affero
* Public License version 3 as published by the Free Software and appearing
* in the file LICENSE.AGPL included in the packaging of this file.
* The BEAT platform is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE.
- *
+ *
* You should have received a copy of the GNU Affero Public License along
* with the BEAT platform. If not, see http://www.gnu.org/licenses/.
{% endcomment %}
diff --git a/beat/web/ui/static/ui/images/icons/svg/beat-gray.svg b/beat/web/ui/static/ui/images/icons/svg/beat-gray.svg
index 60800d0e3bf13d0a101245ff0c1663a337781cb7..afc08ca9d040bcc92e5efb8a1891c335b45c4ec5 100644
--- a/beat/web/ui/static/ui/images/icons/svg/beat-gray.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/beat-gray.svg
@@ -25,12 +25,12 @@
rdf:about="">image/svg+xml
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/beat.svg b/beat/web/ui/static/ui/images/icons/svg/beat.svg
index 6df61bb18387631c6d499168d578edfffa82496d..cf316c8abea92a2516b1a22ab5d9719f5f89de07 100644
--- a/beat/web/ui/static/ui/images/icons/svg/beat.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/beat.svg
@@ -25,12 +25,12 @@
rdf:about="">image/svg+xml
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/add.svg b/beat/web/ui/static/ui/images/icons/svg/filled/add.svg
index 225e131849327adadc1d91800038508254b7df84..a5605b64ad9866b317d780d8ad1a1d5290eb8a18 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/add.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/add.svg
@@ -51,4 +51,4 @@
inkscape:connector-curvature="0"
id="path7"
d="m 7.2024442,3.0327386 10e-8,4.1648685 -4.1648697,0 c -0.4598015,0 -0.8329739,0.3731723 -0.8329739,0.832974 0,0.4598018 0.3731724,0.8329743 0.832974,0.8329742 l 4.1648696,0 2e-7,4.1648697 c 0,0.459802 0.3731721,0.832974 0.832974,0.832974 0.4598017,0 0.8329741,-0.373172 0.8329739,-0.832974 l 1e-7,-4.1648697 4.1648685,5e-7 c 0.459803,-7e-7 0.832975,-0.3731727 0.832975,-0.8329746 0,-0.4598018 -0.373172,-0.8329739 -0.832975,-0.8329746 l -4.1648686,5e-7 -2e-7,-4.1648683 c 0,-0.4598019 -0.3731718,-0.8329765 -0.8329735,-0.8329764 -0.4598019,-10e-8 -0.8329744,0.373173 -0.8329745,0.8329762 z"
- style="fill:#ffffff" />
\ No newline at end of file
+ style="fill:#ffffff" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/analyzer.svg b/beat/web/ui/static/ui/images/icons/svg/filled/analyzer.svg
index 378fba0407897f4058a585e59467529785995ad7..2fa396448f553893a1b520484df597291ba7e4f9 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/analyzer.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/analyzer.svg
@@ -80,4 +80,4 @@
inkscape:connector-curvature="0"
id="path3873"
d="m 0.54206264,95.70971 109.87166736,0 c 0,0 15.3961,4.95198 15.3961,19.81079 0,14.86169 -17.49557,20.63948 -17.49557,20.63948 l -107.77219736,0 z"
- style="fill:#f6f810;fill-opacity:1;stroke:#000000;stroke-width:0.92072475;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.9000001;stroke-opacity:1;stroke-dasharray:none" />
\ No newline at end of file
+ style="fill:#f6f810;fill-opacity:1;stroke:#000000;stroke-width:0.92072475;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.9000001;stroke-opacity:1;stroke-dasharray:none" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/arrow-down.svg b/beat/web/ui/static/ui/images/icons/svg/filled/arrow-down.svg
index 5c7e157b2dec5949232fb231ac4f56e461165ff4..0f7b7312e8af65af54ebf378a47de7474b0a888f 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/arrow-down.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/arrow-down.svg
@@ -47,4 +47,4 @@
d="m 8,-0.00847457 c -4.4228135,0 -8.00847458,3.58566107 -8.00847458,8.00847457 10e-9,4.423882 3.58566108,8.008475 8.00847458,8.008475 4.423882,0 8.008475,-3.584593 8.008475,-8.008475 0,-4.4228135 -3.584593,-8.00847457 -8.008475,-8.00847457 z m 3.588865,7.43186447 -3.2621192,4.1174241 -0.011746,0.02242 c -0.1815254,0.232779 -0.4773051,0.232779 -0.6588305,0 L 4.3887119,7.4233899 c -0.1815254,-0.2317119 -0.1815254,-0.6075763 0,-0.8392882 l 0.00214,0.00214 C 4.4752034,6.4719831 4.5937288,6.3983051 4.7272034,6.3983051 h 6.5242376 c 0.131339,0 0.247729,0.069407 0.333153,0.1804576 l 0.0043,0.00427 c 0.183661,0.2327797 0.183661,0.6086441 0,0.840356 z"
id="path3"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/arrow-left.svg b/beat/web/ui/static/ui/images/icons/svg/filled/arrow-left.svg
index 275ac1298e1596da8d3bd3d1adb690ad207f7154..7593024d2309bf0059c209e62392ebf160409d8d 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/arrow-left.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/arrow-left.svg
@@ -47,4 +47,4 @@
d="M 8,-0.00847458 C 3.5771865,-0.00847458 -0.00847458,3.5771865 -0.00847458,8 -0.00847457,12.423882 3.5771865,16.008475 8,16.008475 12.423882,16.008475 16.008475,12.423882 16.008475,8 16.008475,3.5771865 12.423882,-0.00847458 8,-0.00847458 z M 9.6016949,11.251441 c 0,0.131339 -0.068339,0.247729 -0.1804576,0.333153 l -0.00427,0.0043 c -0.2327796,0.182593 -0.6075762,0.182593 -0.8392881,0 L 4.4581187,8.3299492 4.4367627,8.3171356 c -0.2317118,-0.1815254 -0.2317118,-0.4773051 0,-0.6588305 L 8.5766102,4.3887119 c 0.2317119,-0.1815254 0.6075763,-0.1815254 0.8392881,0 l -0.00214,0.00214 c 0.1153221,0.084356 0.1879322,0.2028813 0.1879322,0.3363559 v 6.5242372 z"
id="path3"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/arrow-right.svg b/beat/web/ui/static/ui/images/icons/svg/filled/arrow-right.svg
index 324a6b2da0ab90384fa7b82327fb0e153f951d6d..95dff76f03c773fceaa86faf83bf1dac779aefb3 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/arrow-right.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/arrow-right.svg
@@ -47,4 +47,4 @@
d="M 8,-0.00847458 C 3.5771865,-0.00847458 -0.00847458,3.5771865 -0.00847458,8 -0.00847457,12.423882 3.5771865,16.008475 8,16.008475 12.423882,16.008475 16.008475,12.423882 16.008475,8 16.008475,3.5771865 12.423882,-0.00847458 8,-0.00847458 z M 11.563238,8.320339 7.4233899,11.588865 c -0.2317119,0.182593 -0.6075763,0.182593 -0.8392882,0 l 0.00214,-0.0021 C 6.4719831,11.503441 6.3983051,11.384916 6.3983051,11.251441 V 4.7272034 c 0,-0.131339 0.069407,-0.2487966 0.1804576,-0.3331525 l 0.00534,-0.00534 c 0.2317119,-0.1815254 0.6075763,-0.1815254 0.8392882,0 l 4.1174241,3.2621186 0.02242,0.011746 c 0.232779,0.1815254 0.232779,0.4762373 0,0.6577627 z"
id="path3"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/arrow-up.svg b/beat/web/ui/static/ui/images/icons/svg/filled/arrow-up.svg
index 5e36e897c9c1279d1039bbb75b39a5cd23170284..040fdb88c0ef064d63977a1d732983086c5f41b3 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/arrow-up.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/arrow-up.svg
@@ -47,4 +47,4 @@
d="m 7.9915254,-0.01694915 c -4.4228135,0 -8.00847455,3.58566105 -8.00847455,8.00847455 C -0.01694915,12.415407 3.5687119,16 7.9915254,16 12.415407,16 16,12.415407 16,7.9915254 16,3.5687119 12.415407,-0.01694915 7.9915254,-0.01694915 z m 3.5888646,9.42437285 -0.0021,-0.00214 c -0.08329,0.1153221 -0.201813,0.1879322 -0.335288,0.1879322 H 4.7187288 c -0.131339,0 -0.2487966,-0.068339 -0.3331525,-0.1804576 l -0.00534,-0.00534 c -0.1815254,-0.2317118 -0.1815254,-0.6075762 0,-0.8392881 l 3.2621186,-4.1184915 0.011746,-0.021356 c 0.1815254,-0.2317118 0.4773051,-0.2317118 0.6588305,0 l 3.2695928,4.1398475 c 0.181526,0.2317119 0.181526,0.6075763 -0.0021,0.8392881 z"
id="path3"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/block.svg b/beat/web/ui/static/ui/images/icons/svg/filled/block.svg
index 02ed7b6db988e01d86b382ec761b622412e2fb2b..2645db69462f78dc4718d28df6aa702cb43224f8 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/block.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/block.svg
@@ -85,4 +85,4 @@
inkscape:connector-curvature="0"
id="path3873"
d="m 0.54206264,95.70971 109.87166736,0 c 0,0 15.3961,4.95198 15.3961,19.81079 0,14.86169 -17.49557,20.63948 -17.49557,20.63948 l -107.77219736,0 z"
- style="fill:#f6f810;fill-opacity:1;stroke:#000000;stroke-width:0.92072475;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.9000001;stroke-opacity:1;stroke-dasharray:none" />
\ No newline at end of file
+ style="fill:#f6f810;fill-opacity:1;stroke:#000000;stroke-width:0.92072475;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.9000001;stroke-opacity:1;stroke-dasharray:none" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/certificate-locked.svg b/beat/web/ui/static/ui/images/icons/svg/filled/certificate-locked.svg
index 4b2be30b3b7dee9edd2b6c1902e428faf65e493e..9b0976f501d75c238af348a5c3aa41384ba4b95f 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/certificate-locked.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/certificate-locked.svg
@@ -84,4 +84,4 @@
sodipodi:cx="6.6800618"
id="path3768"
style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:none"
- sodipodi:type="arc" />
\ No newline at end of file
+ sodipodi:type="arc" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/certificate.svg b/beat/web/ui/static/ui/images/icons/svg/filled/certificate.svg
index bd4ff4238bd62def56f4011749908297773b3e7e..d4b884cb1f30722de84daec0d2710e9bfddeb193 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/certificate.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/certificate.svg
@@ -59,4 +59,4 @@
d="M 6.0166245,12.622245 4.7414308,12.830013 C 4.3841567,12.884979 4.0378758,12.799233 3.7564537,12.592564 3.4761309,12.390292 3.2848518,12.073692 3.2320852,11.727411 L 3.119956,10.983182 0.9059561,13.19938 c -0.10992982,0.109939 -0.15060482,0.272628 -0.10553333,0.422133 0.0472706,0.150609 0.17259078,0.259437 0.32429503,0.290216 l 1.4071103,0.262734 0.2638331,1.406011 c 0.028582,0.154996 0.139611,0.279224 0.2891171,0.326494 0.1484057,0.04507 0.3111033,0.0055 0.4210338,-0.105533 l 2.8922712,-2.89337 -0.2110666,-0.213266 c -0.046171,-0.04728 -0.1077325,-0.07255 -0.1703917,-0.07255 z"
id="path11"
inkscape:connector-curvature="0"
- style="fill:#ff0000" />
\ No newline at end of file
+ style="fill:#ff0000" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/close.svg b/beat/web/ui/static/ui/images/icons/svg/filled/close.svg
index 6d4c2076ebd0dbf2c1980437318b189750b153c0..390fc27973834fef18fa006bb234261c3990f01d 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/close.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/close.svg
@@ -47,4 +47,4 @@
d="M 8,-0.00847457 C 3.5771865,-0.00847457 -0.00847458,3.5771865 -0.00847458,8 -0.00847457,12.423882 3.5771865,16.008475 8,16.008475 12.423882,16.008475 16.008475,12.423882 16.008475,8 16.008475,3.5771865 12.423882,-0.00847457 8,-0.00847457 z M 11.710594,5.044339 8.7346441,8.021356 11.368899,10.955661 c 0.20822,0.208221 0.20822,0.546712 0,0.754933 -0.208221,0.20822 -0.546712,0.20822 -0.754932,0 L 7.9797119,8.7762882 5.044339,11.710594 c -0.2082203,0.20822 -0.5467119,0.20822 -0.7549322,0 -0.2082203,-0.208221 -0.2082203,-0.546712 0,-0.754933 L 7.265356,7.9797119 4.6321695,5.044339 c -0.2082203,-0.2082203 -0.2082203,-0.5467119 0,-0.7549322 0.2082204,-0.2082203 0.5467119,-0.2082203 0.7549322,0 L 8.021356,7.2247797 10.955661,4.2894068 c 0.208221,-0.2082203 0.546712,-0.2082203 0.754933,0 0.20822,0.2082203 0.20822,0.5467119 0,0.7549322 z"
id="path3"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/database.svg b/beat/web/ui/static/ui/images/icons/svg/filled/database.svg
index 77987fa906074279f14025b157157f83f87db9a0..443c5c4e12844f53606de18b734b5f2eb45ff1b6 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/database.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/database.svg
@@ -133,4 +133,4 @@
x="131.65625"
y="98.643433"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial Bold">dataset
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/dataset.svg b/beat/web/ui/static/ui/images/icons/svg/filled/dataset.svg
index 26206c4852790a7021f93aff5f22a2a63134e4fe..535341a5e0b3db156cfa96cc801b3e9ed2e18cd5 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/dataset.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/dataset.svg
@@ -75,4 +75,4 @@
x="77.656242"
y="42.672577"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial Bold">dataset
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/double-arrow-down.svg b/beat/web/ui/static/ui/images/icons/svg/filled/double-arrow-down.svg
index ebffd31984b203eb783be5d3a95b9867af00a085..fcebd141f43ad9bb3c61a78af4a57fad498f68df 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/double-arrow-down.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/double-arrow-down.svg
@@ -47,4 +47,4 @@
d="m 8,-0.00887288 c -4.4235709,0 -8.0094092,3.58583838 -8.0094092,8.00940918 0,4.4235707 3.586911,8.0083367 8.0094092,8.0083367 4.422498,0 8.009409,-3.585838 8.009409,-8.0094093 0,-4.4235709 -3.585838,-8.00833658 -8.009409,-8.00833658 z M 11.921575,8.9240801 8.3325187,12.098024 c -0.1072641,0.107265 -0.2467074,0.157679 -0.388296,0.156606 -0.140516,0 -0.2810319,-0.05041 -0.388296,-0.156606 L 3.9679431,8.9240801 c -0.2102377,-0.2102376 -0.2102377,-0.5534827 0,-0.7626476 0.2102376,-0.2113103 0.55241,-0.2113103 0.7626476,0 l 3.213632,2.8414255 3.2136313,-2.8414255 c 0.210238,-0.2113103 0.553483,-0.2113103 0.762648,0 0.210238,0.2091649 0.213456,0.5502647 0.0011,0.7626476 z m 0,-3.8475627 -3.5879837,3.1750169 c -0.1072641,0.1072641 -0.2467074,0.1576782 -0.388296,0.1566056 -0.1415886,0 -0.2821045,-0.050414 -0.3893686,-0.1566056 L 3.9679431,5.0765174 c -0.2102377,-0.2102376 -0.2102377,-0.55241 0,-0.7626477 0.2102376,-0.2113102 0.55241,-0.2113102 0.7626476,-0.00107 L 7.9442227,7.155298 11.157854,4.3127997 c 0.210238,-0.2102376 0.553483,-0.2102376 0.762648,0 0.210238,0.2102376 0.213456,0.55241 0.0011,0.7637203 z"
id="path3"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/double-arrow-left.svg b/beat/web/ui/static/ui/images/icons/svg/filled/double-arrow-left.svg
index 939d5ccab728edcd03dba854eb70f3ed50c9402f..d77563134135028ef1d4b750e99974bb068491bc 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/double-arrow-left.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/double-arrow-left.svg
@@ -47,4 +47,4 @@
d="m 8.0000001,-0.00687288 c -4.4215057,0 -8.00633653,3.58483078 -8.00633653,8.00633658 -0.00107266,4.4225783 3.58375813,8.0074093 8.00633653,8.0074093 4.4215059,0 8.0063369,-3.584831 8.0063369,-8.0063367 0,-4.4225784 -3.584831,-8.00740918 -8.0063369,-8.00740918 z M 7.7661602,11.918965 c -0.2102414,0.209168 -0.5524201,0.209168 -0.7626615,0 L 3.8284242,8.3298431 C 3.7211582,8.222577 3.6696705,8.0809859 3.6718158,7.9404674 3.6707431,7.8010215 3.7211582,7.660503 3.8284242,7.553237 L 7.0024261,3.9651883 c 0.2102414,-0.2102415 0.55242,-0.2102415 0.7626614,0 0.2113141,0.2102414 0.2113141,0.55242 0,0.7626614 L 4.9225377,7.94154 7.7650875,11.15523 c 0.2113141,0.211315 0.2113141,0.553493 0.00107,0.763735 z m 3.8465598,0 c -0.210241,0.209168 -0.553492,0.209168 -0.762661,0 L 7.6749841,8.3298431 C 7.567718,8.222577 7.5162303,8.0809859 7.5183757,7.9404674 7.517303,7.8010215 7.567718,7.660503 7.6749841,7.553237 L 10.847914,3.9651883 c 0.211314,-0.2102415 0.553492,-0.2102415 0.762661,0 0.211314,0.2102414 0.211314,0.55242 0,0.7626614 L 8.7690976,7.94154 11.61272,11.157376 c 0.210242,0.209169 0.210242,0.551347 0,0.761589 z"
id="path3"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/double-arrow-right.svg b/beat/web/ui/static/ui/images/icons/svg/filled/double-arrow-right.svg
index 73c5a54ae1512487518f2b52aae879688360cb65..a66831591cd27ecd1531eb82355fe6c91c9fb081 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/double-arrow-right.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/double-arrow-right.svg
@@ -47,4 +47,4 @@
d="m 8,-0.00637288 c -4.4215258,0 -8.00637288,3.58484708 -8.00637288,8.00637288 0,4.421526 3.58484708,8.006373 8.00637288,8.006373 4.421526,0 8.006373,-3.584847 8.006373,-8.006373 0,-4.4215258 -3.584847,-8.00637288 -8.006373,-8.00637288 z M 4.3100318,11.959207 c -0.2102424,-0.211315 -0.2102424,-0.553495 0,-0.762665 L 7.1525945,7.9828374 4.3100318,4.7680598 c -0.2102424,-0.211315 -0.2102424,-0.5534952 0,-0.7637376 0.2102424,-0.2102423 0.5524226,-0.2102423 0.762665,0 L 8.2456403,7.5923873 C 8.3539795,7.6996538 8.4043948,7.8401729 8.4022495,7.9796194 8.4065401,8.1222838 8.3550522,8.262803 8.2488583,8.3700695 L 5.0748421,11.959207 c -0.2123877,0.210243 -0.5534953,0.210243 -0.7648103,0 z M 12.095436,8.3700695 8.9214194,11.959207 c -0.2102424,0.20917 -0.5534952,0.20917 -0.7626649,0 -0.2113151,-0.211315 -0.2113151,-0.553495 0,-0.762665 L 11.000245,7.9828374 8.1587545,4.7680598 c -0.2113151,-0.2102423 -0.2113151,-0.5524225 0,-0.7626649 0.2091697,-0.2102424 0.5524225,-0.2102424 0.7626649,0 l 3.1740166,3.588065 c 0.107266,0.1072665 0.157682,0.2477857 0.156609,0.3883048 0,0.1405191 -0.05042,0.2810383 -0.156609,0.3883048 z"
id="path3"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/double-arrow-up.svg b/beat/web/ui/static/ui/images/icons/svg/filled/double-arrow-up.svg
index 5a0820d6dbeeae9378b146b1fc38fd23ca1b3567..5fdd5e9bc5b54757137bbd326998e65791e19d75 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/double-arrow-up.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/double-arrow-up.svg
@@ -47,4 +47,4 @@
d="M 8,-0.00847458 C 3.5771865,-0.00847458 -0.00847458,3.5771865 -0.00847458,8 -0.00847457,12.423882 3.5771865,16.008475 8,16.008475 12.423882,16.008475 16.008475,12.423882 16.008475,8 16.008475,3.5771865 12.423882,-0.00847458 8,-0.00847458 z M 11.979678,11.63478 c -0.210356,0.20822 -0.550983,0.20822 -0.759203,0 L 8.021356,8.8051187 4.8211695,11.63478 c -0.2092881,0.20822 -0.5499152,0.20822 -0.7592034,0 -0.2092881,-0.209288 -0.2092881,-0.550983 0,-0.759203 L 7.6337458,7.7159661 c 0.1067796,-0.1067796 0.246661,-0.1580339 0.3865424,-0.1558983 0.1398813,-0.0032 0.2797627,0.048051 0.3865423,0.1548305 l 3.5728475,3.1585427 c 0.209289,0.211424 0.209289,0.550983 0,0.761339 z m 0,-3.829119 c -0.210356,0.2092882 -0.550983,0.2092882 -0.759203,0 L 8.0192204,4.9749322 4.8201017,7.805661 c -0.2092881,0.2092882 -0.5499152,0.2092882 -0.7592034,0 -0.2092881,-0.2092881 -0.2092881,-0.5499152 0,-0.7592033 L 7.632678,3.8868475 C 7.7394577,3.7800678 7.879339,3.7288136 8.0181526,3.7309492 c 0.1420169,-0.0032 0.2818983,0.048051 0.3886779,0.1548305 l 3.5728475,3.1596102 c 0.209289,0.2103559 0.209289,0.5499152 0,0.7602711 z"
id="path3"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/gear.svg b/beat/web/ui/static/ui/images/icons/svg/filled/gear.svg
index 62a8b75982e5e4d338ce301b55e26f16b03258db..f14e00b3d127c3a8257e8854be0e174d954867dc 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/gear.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/gear.svg
@@ -47,4 +47,4 @@
d="m 13.968174,7.9999999 c 0,-0.3729972 -0.03885,-0.7353021 -0.103946,-1.0888724 L 15.885598,5.7445472 13.896279,2.2982074 11.874912,3.4657822 C 11.324152,2.9956191 10.685984,2.6255435 9.9895363,2.3788058 V 0.04272347 H 6.0108981 V 2.3788058 C 5.3139526,2.6255435 4.6762515,2.9956191 4.1255211,3.4657511 L 2.1036579,2.2982074 0.11433875,5.7445472 2.136202,6.9120911 C 2.070648,7.2646978 2.0322607,7.6270027 2.0322607,7.9999999 c 0,0.3720339 0.038357,0.7343389 0.1039413,1.0879089 L 0.11433875,10.255485 2.1036579,13.701823 4.1260183,12.534249 c 0.5507616,0.471095 1.1879653,0.840208 1.8849109,1.086947 v 2.336081 h 3.9786379 v -2.336081 c 0.6964479,-0.246739 1.3346469,-0.615852 1.8844139,-1.086947 l 2.02236,1.167574 1.98932,-3.446338 -2.021365,-1.1665815 c 0.06502,-0.3536009 0.103883,-0.7168697 0.103883,-1.0889036 z M 8.0002175,10.983978 c -1.6483686,0 -2.9839789,-1.335609 -2.9839789,-2.9839781 0,-1.6483684 1.3356103,-2.9839786 2.9839789,-2.9839786 1.6483679,0 2.9839785,1.3356102 2.9839785,2.9839786 0,1.6483691 -1.3356106,2.9839781 -2.9839785,2.9839781 z"
id="path3"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/home.svg b/beat/web/ui/static/ui/images/icons/svg/filled/home.svg
index 66791c826a3a37317fc5d098cf744d62a279ddf8..0c72d4bb8042d0382b56e18f939f5f803d87b055 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/home.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/home.svg
@@ -51,4 +51,4 @@
d="M 8.633,5.227 C 8.45,5.076 8.225,5 8,5 7.775,5 7.55,5.076 7.366,5.227 l -5,4.099 C 2.134,9.516 2,9.799 2,10.1 V 15 c 0,0.552 0.448,1 1,1 h 3 v -5 h 4 v 5 h 3 c 0.551,0 1,-0.448 1,-1 V 10.1 C 14,9.799 13.865,9.516 13.633,9.327 l -5,-4.1 z"
id="path7"
style="fill:#0000ff"
- inkscape:connector-curvature="0" />
\ No newline at end of file
+ inkscape:connector-curvature="0" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/lock.svg b/beat/web/ui/static/ui/images/icons/svg/filled/lock.svg
index e2508a1c47381c63ab981f0ddadcc1d199ae64dc..b87db39ed6dad81f7486d37a2e018cd22c6d5e19 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/lock.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/lock.svg
@@ -46,4 +46,4 @@
d="M 14,6 H 13.077 V 5.077 C 13.077,2.273 10.805,0 8,0 5.196,0 2.923,2.273 2.923,5.077 V 6 H 2 C 1.448,6 1,6.448 1,7 v 8 c 0,0.552 0.448,1 1,1 h 12 c 0.552,0 1,-0.448 1,-1 V 7 C 15,6.448 14.552,6 14,6 z M 8,13 C 6.895,13 6,12.105 6,11 6,9.895 6.895,9 8,9 c 1.105,0 2,0.895 2,2 0,1.105 -0.895,2 -2,2 z M 11.077,6 H 4.923 V 5.077 C 4.923,3.38 6.303,2 8,2 9.697,2 11.077,3.38 11.077,5.077 V 6 z"
id="path3"
style="fill:#d4aa00"
- inkscape:connector-curvature="0" />
\ No newline at end of file
+ inkscape:connector-curvature="0" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/mappings.svg b/beat/web/ui/static/ui/images/icons/svg/filled/mappings.svg
index c21b28108b52dd8fa64e0b8695b8940e050baf16..b80d2f97a0c271bc0ab49baa446a23765c1f0fcc 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/mappings.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/mappings.svg
@@ -144,4 +144,4 @@
sodipodi:cx="7.6271186"
id="path3019-8-6-97"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#0000ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
- sodipodi:type="arc" />
\ No newline at end of file
+ sodipodi:type="arc" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/parameters.svg b/beat/web/ui/static/ui/images/icons/svg/filled/parameters.svg
index 9ce5760df99cf0e667ca945c7eddd0a684fb508f..e24b925771d403b9a84a3a20d07ec2cef6198a61 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/parameters.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/parameters.svg
@@ -90,4 +90,4 @@
sodipodi:cx="-0.20338982"
id="path3010"
style="fill:#0049ff;fill-opacity:1;fill-rule:nonzero;stroke:none"
- sodipodi:type="arc" />
\ No newline at end of file
+ sodipodi:type="arc" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/play.svg b/beat/web/ui/static/ui/images/icons/svg/filled/play.svg
index d1b1ad83717ca76fd862b76ae659e2117b022557..653178322877f93f07993edc50f178b1c655b243 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/play.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/play.svg
@@ -48,4 +48,4 @@
id="path3"
inkscape:connector-curvature="0"
style="fill:#008000" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/remove.svg b/beat/web/ui/static/ui/images/icons/svg/filled/remove.svg
index 66705191a6addfa831b86367dae0b6ac5f2a2df9..68743a1e335b5d17da67b5ddb88b3c13f04fe19c 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/remove.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/remove.svg
@@ -52,4 +52,4 @@
inkscape:connector-curvature="0"
id="path7"
d="m 3.0021557,7.1670262 c -0.4598015,0 -0.8329739,0.3731723 -0.8329739,0.832974 0,0.4598018 0.3731724,0.8329743 0.832974,0.8329742 10.4460342,7.4e-6 2.5045363,-0.00858 9.9956862,5e-7 0.459803,-7e-7 0.832975,-0.3731727 0.832975,-0.8329746 0,-0.4598018 -0.373172,-0.8329739 -0.832975,-0.8329746 0,0 0.0032,5e-7 -9.9956864,5e-7 z"
- style="fill:#ffffff" />
\ No newline at end of file
+ style="fill:#ffffff" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/tag.svg b/beat/web/ui/static/ui/images/icons/svg/filled/tag.svg
index 0548f774a1297044b5b3250f7059a13570d95a41..17a192dc0821a84ee0171d88dddff881e6734b89 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/tag.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/tag.svg
@@ -46,4 +46,4 @@
d="M 14.529,1.005 H 8.192 C 8.039,1.012 7.691,1.251 7.646,1.296 L 0.292,8.65 c -0.39,0.39 -0.39,1.021 0,1.412 l 5.646,5.646 C 6.134,15.902 6.389,16 6.644,16 6.899,16 7.155,15.902 7.35,15.708 L 14.704,8.354 C 14.749,8.309 15,8 15,7.808 V 1.501 C 15.014,1.222 14.803,1.005 14.529,1.005 z M 13.5,3 C 13.225,3 13,2.776 13,2.5 13,2.224 13.225,2 13.5,2 13.775,2 14,2.224 14,2.5 14,2.776 13.775,3 13.5,3 z"
id="path3"
style="fill:#0000ff"
- inkscape:connector-curvature="0" />
\ No newline at end of file
+ inkscape:connector-curvature="0" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/undo.svg b/beat/web/ui/static/ui/images/icons/svg/filled/undo.svg
index 341d7abed8c31bb9bb12eb7f8cac00a0aab9ec54..cd9c1099fdca82eafcf9c7d1a42c7ee3671bd4f6 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/undo.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/undo.svg
@@ -45,4 +45,4 @@
inkscape:current-layer="Layer_1" />
\ No newline at end of file
+ style="fill:#d4aa00" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/filled/view.svg b/beat/web/ui/static/ui/images/icons/svg/filled/view.svg
index bf14ce0408740638ce93200099d5c05c927178df..7a7f006f54811ebcaae024207016a57abe214de9 100644
--- a/beat/web/ui/static/ui/images/icons/svg/filled/view.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/filled/view.svg
@@ -56,4 +56,4 @@
sodipodi:rx="5.1397586"
sodipodi:ry="5.1397586"
d="m 17.359449,8.3393431 a 5.1397586,5.1397586 0 1 1 -10.2795173,0 5.1397586,5.1397586 0 1 1 10.2795173,0 z"
- transform="matrix(1.0724246,0,0,1.0724246,-3.6080578,-2.5101098)" />
\ No newline at end of file
+ transform="matrix(1.0724246,0,0,1.0724246,-3.6080578,-2.5101098)" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/fork.svg b/beat/web/ui/static/ui/images/icons/svg/fork.svg
index 488250e6169b3d7b5a4b4ef1b7b0e41054836055..24a7865815effd9360936812223bc546263ce0ea 100644
--- a/beat/web/ui/static/ui/images/icons/svg/fork.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/fork.svg
@@ -47,4 +47,4 @@
d="M 12.683996,2.0014844 C 12.30035,1.6180907 11.834755,1.4263309 11.286834,1.4263309 c -0.547669,0 -1.013263,0.1916338 -1.3967828,0.5751535 -0.3833934,0.3833935 -0.5751534,0.848988 -0.5751534,1.3969094 0,0.3560353 0.088881,0.6864776 0.2669014,0.9912005 0.178017,0.304723 0.417559,0.5427522 0.7190028,0.7138359 0,0.3560353 -0.029,0.6694575 -0.08712,0.939888 -0.05837,0.2704306 -0.154063,0.5083339 -0.2875758,0.7138359 -0.133765,0.205502 -0.272196,0.3799896 -0.4161727,0.523841 C 9.3660859,7.4248465 9.163988,7.5599988 8.9038955,7.6867039 8.6436767,7.8134092 8.4022437,7.9194382 8.1797208,8.005169 7.9571989,8.090648 7.6575186,8.1916338 7.2809336,8.3080009 6.5960951,8.520437 6.0688498,8.7154748 5.6990724,8.8936186 V 3.7885955 C 6.0003909,3.6175119 6.2400594,3.3794826 6.4180767,3.0747596 6.5960951,2.7700367 6.6851032,2.4395945 6.6851032,2.0835591 6.6851032,1.5357639 6.4934695,1.0700433 6.1099505,0.68664969 5.7265568,0.303256 5.2609616,0.11149619 4.7130406,0.11149619 c -0.5479209,0 -1.0135161,0.19163378 -1.3970351,0.5751535 C 2.9326118,1.0700433 2.7408518,1.5357639 2.7408518,2.0835591 c 0,0.3560354 0.089011,0.6864776 0.2670265,0.9912005 0.1780173,0.304723 0.4176857,0.5427523 0.7190053,0.7138359 v 8.4229355 c -0.3013207,0.170958 -0.5409891,0.409113 -0.7190064,0.713709 -0.1780173,0.30485 -0.2670265,0.635292 -0.2670265,0.991327 0,0.547669 0.1916337,1.01339 0.5751537,1.396783 0.383519,0.383394 0.8492406,0.575154 1.3970352,0.575154 0.5477956,0 1.0135161,-0.19176 1.3969098,-0.575154 0.3833937,-0.383393 0.5751527,-0.849114 0.5751527,-1.396783 0,-0.356035 -0.089011,-0.686477 -0.2670265,-0.991327 C 6.2400583,12.620644 6.0003899,12.382489 5.6990714,12.211531 v -0.267153 c 0,-0.472402 0.1420859,-0.814696 0.426259,-1.027005 0.284173,-0.212437 0.8644951,-0.455509 1.7410937,-0.729344 C 8.7909311,9.8935182 9.4861074,9.6160275 9.9517022,9.355809 11.485528,8.4862708 12.259376,7.068811 12.272991,5.1034302 12.574563,4.9323465 12.813979,4.6943173 12.991997,4.3895943 13.170014,4.0848714 13.259149,3.7544291 13.259149,3.3983938 13.259275,2.8505986 13.067389,2.3850041 12.683996,2.0014844 z M 5.4116208,14.615274 c -0.19176,0.19176 -0.4246208,0.287577 -0.6984549,0.287577 -0.2739605,0 -0.5068213,-0.09582 -0.6985813,-0.287577 -0.1916337,-0.191633 -0.2875768,-0.424494 -0.2875768,-0.698455 0,-0.27396 0.095819,-0.506694 0.2875768,-0.698454 0.19176,-0.191761 0.4246208,-0.287577 0.6985813,-0.287577 0.2738341,0 0.5066949,0.09594 0.6984549,0.287577 0.1917601,0.19176 0.2875769,0.424494 0.2875769,0.698454 0,0.273961 -0.095819,0.506822 -0.2875769,0.698455 z m 0,-11.8331341 C 5.2198608,2.9738998 4.987,3.0697166 4.7131659,3.0697166 4.4392054,3.0697166 4.2063446,2.9738998 4.0145846,2.7821399 3.8229509,2.5903801 3.7270078,2.3576458 3.7270078,2.0836851 c 0,-0.2739607 0.095819,-0.5068209 0.2875768,-0.6984547 0.19176,-0.1916337 0.4246208,-0.2875767 0.6985813,-0.2875767 0.2738341,0 0.5066949,0.095943 0.6984549,0.2875767 0.1917601,0.1916338 0.2875769,0.424494 0.2875769,0.6984547 0,0.2739607 -0.095819,0.506821 -0.2875769,0.6984548 z m 6.5737932,1.3148346 c -0.191633,0.1916338 -0.424367,0.2875768 -0.698328,0.2875768 -0.274087,0 -0.50682,-0.095943 -0.698454,-0.2875768 -0.191635,-0.1916337 -0.287577,-0.424494 -0.287577,-0.6984547 0,-0.2739607 0.09594,-0.5066948 0.287577,-0.6984547 0.191634,-0.1917598 0.424367,-0.2875767 0.698454,-0.2875767 0.273961,0 0.506695,0.095817 0.698328,0.2875767 0.191761,0.1916338 0.287577,0.424494 0.287577,0.6984547 0,0.2739607 -0.09569,0.506821 -0.287577,0.6984547 z"
id="path3"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/hollow/add-squared.svg b/beat/web/ui/static/ui/images/icons/svg/hollow/add-squared.svg
index a4945a438ffffa4c24881addadd9e1c30dbd03e5..400b9af8ff9abab56000206e5905154487666a4d 100644
--- a/beat/web/ui/static/ui/images/icons/svg/hollow/add-squared.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/hollow/add-squared.svg
@@ -55,4 +55,4 @@
id="path7"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/hollow/add.svg b/beat/web/ui/static/ui/images/icons/svg/hollow/add.svg
index 7db83708da3fcf0af6f4d2bc55c6190f482e4e56..7b0ba27fe92f4573c06c6c8d929ae56baf67dd53 100644
--- a/beat/web/ui/static/ui/images/icons/svg/hollow/add.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/hollow/add.svg
@@ -55,4 +55,4 @@
id="path7"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/hollow/arrow-down.svg b/beat/web/ui/static/ui/images/icons/svg/hollow/arrow-down.svg
index 8ff6a18793ab1b063be58df72c612da14cac284d..b922095437bca7827971e5437762f696a33e2dfb 100644
--- a/beat/web/ui/static/ui/images/icons/svg/hollow/arrow-down.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/hollow/arrow-down.svg
@@ -55,4 +55,4 @@
id="path7"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/hollow/arrow-left.svg b/beat/web/ui/static/ui/images/icons/svg/hollow/arrow-left.svg
index fca59725de9b31ef508c1f2dbcf74b8e193dc4c0..663e193970a07e599ce7befa453ccc82c6ec2e97 100644
--- a/beat/web/ui/static/ui/images/icons/svg/hollow/arrow-left.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/hollow/arrow-left.svg
@@ -55,4 +55,4 @@
id="path7"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/hollow/arrow-right.svg b/beat/web/ui/static/ui/images/icons/svg/hollow/arrow-right.svg
index a6db1574b768614ad3ef6d0ef1eaaa4a5c9a4977..6858961dbbb151645899b536cd0413c5ba50d1d8 100644
--- a/beat/web/ui/static/ui/images/icons/svg/hollow/arrow-right.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/hollow/arrow-right.svg
@@ -50,4 +50,4 @@
inkscape:connector-curvature="0" />
\ No newline at end of file
+ inkscape:connector-curvature="0" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/hollow/arrow-up.svg b/beat/web/ui/static/ui/images/icons/svg/hollow/arrow-up.svg
index 80ea27b345b01b03609ebeb517516b6e7f08ae3f..4b88f4b1235520bff220bc93d30d3670bb099908 100644
--- a/beat/web/ui/static/ui/images/icons/svg/hollow/arrow-up.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/hollow/arrow-up.svg
@@ -55,4 +55,4 @@
id="path7"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/hollow/certificate-locked.svg b/beat/web/ui/static/ui/images/icons/svg/hollow/certificate-locked.svg
index 22055b2171cb294ab14c5f3caf76830fc7263877..f894090e5b838bf1ff93e4d04124fab7861159bd 100644
--- a/beat/web/ui/static/ui/images/icons/svg/hollow/certificate-locked.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/hollow/certificate-locked.svg
@@ -80,4 +80,4 @@
sodipodi:cx="6.6800618"
id="path3768"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
- sodipodi:type="arc" />
\ No newline at end of file
+ sodipodi:type="arc" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/hollow/certificate.svg b/beat/web/ui/static/ui/images/icons/svg/hollow/certificate.svg
index 362539760bfd3b95cd164d6d93b142685dcd8842..5ac02d1d99ec7f3d447887dad6c38644fc177c13 100644
--- a/beat/web/ui/static/ui/images/icons/svg/hollow/certificate.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/hollow/certificate.svg
@@ -24,13 +24,13 @@
rdf:about="">image/svg+xml
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/hollow/close.svg b/beat/web/ui/static/ui/images/icons/svg/hollow/close.svg
index 7ee468d3d6e02857919c3c2991836a637b67988d..d39c3c1032fcb9254a84cf46be225eb78e06ab6f 100644
--- a/beat/web/ui/static/ui/images/icons/svg/hollow/close.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/hollow/close.svg
@@ -55,4 +55,4 @@
id="path7"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/hollow/gear.svg b/beat/web/ui/static/ui/images/icons/svg/hollow/gear.svg
index 1e712f3a18994b27fd831cea8d2b851dbfe83db9..949c81a25409a6fa9cbe3c3ebe6653cbf22dd3f1 100644
--- a/beat/web/ui/static/ui/images/icons/svg/hollow/gear.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/hollow/gear.svg
@@ -55,4 +55,4 @@
id="path7"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/hollow/lock.svg b/beat/web/ui/static/ui/images/icons/svg/hollow/lock.svg
index fd221fe720b58952ec03f161cd0461fc553ae52e..ae2f9def598c9086b5802dae07eefee4edf76c1a 100644
--- a/beat/web/ui/static/ui/images/icons/svg/hollow/lock.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/hollow/lock.svg
@@ -46,4 +46,4 @@
d="M 14,6 H 13.077 V 5.077 C 13.077,2.273 10.805,0 8,0 5.196,0 2.923,2.273 2.923,5.077 V 6 H 2 C 1.448,6 1,6.448 1,7 v 8 c 0,0.552 0.448,1 1,1 h 12 c 0.552,0 1,-0.448 1,-1 V 7 C 15,6.448 14.552,6 14,6 z M 8,13 C 6.895,13 6,12.105 6,11 6,9.895 6.895,9 8,9 c 1.105,0 2,0.895 2,2 0,1.105 -0.895,2 -2,2 z M 11.077,6 H 4.923 V 5.077 C 4.923,3.38 6.303,2 8,2 9.697,2 11.077,3.38 11.077,5.077 V 6 z"
id="path3"
style="fill:#000000"
- inkscape:connector-curvature="0" />
\ No newline at end of file
+ inkscape:connector-curvature="0" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/hollow/mappings.svg b/beat/web/ui/static/ui/images/icons/svg/hollow/mappings.svg
index 437e5808584ddc9ac1cd7723bfbf21f107e06f65..660e902b674238b1a5bdec2e84485e04d4496e30 100644
--- a/beat/web/ui/static/ui/images/icons/svg/hollow/mappings.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/hollow/mappings.svg
@@ -145,4 +145,4 @@
sodipodi:cx="7.6271186"
id="path3019-8-6-97"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
- sodipodi:type="arc" />
\ No newline at end of file
+ sodipodi:type="arc" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/hollow/parameters.svg b/beat/web/ui/static/ui/images/icons/svg/hollow/parameters.svg
index f8f7351925be25092c39c4964d8df9aa3699cada..dd18c3d0f36df91384b79690f31d5161be5e7252 100644
--- a/beat/web/ui/static/ui/images/icons/svg/hollow/parameters.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/hollow/parameters.svg
@@ -60,4 +60,4 @@
d="M 19,18.021 V 3 C 19,1.346 17.654,0 16,0 14.346,0 13,1.346 13,3 v 15.021 c -1.208,0.914 -2,2.348 -2,3.979 0,1.631 0.792,3.064 2,3.977 V 29 c 0,1.654 1.346,3 3,3 1.654,0 3,-1.346 3,-3 V 25.977 C 20.207,25.065 21,23.631 21,22 21,20.369 20.207,18.936 19,18.021 z M 15,3 c 0,-0.553 0.447,-1 1,-1 0.553,0 1,0.447 1,1 V 17.1 C 16.676,17.036 16.342,17 16,17 c -0.343,0 -0.677,0.035 -1,0.1 V 3 z m 2,26 c 0,0.553 -0.447,1 -1,1 -0.553,0 -1,-0.447 -1,-1 v -2.102 c 0.323,0.067 0.657,0.102 1,0.102 0.342,0 0.676,-0.035 1,-0.102 V 29 z m 1.865,-6.16 c -0.016,0.053 -0.031,0.105 -0.049,0.158 -0.096,0.264 -0.217,0.514 -0.379,0.736 -0.004,0.006 -0.01,0.01 -0.014,0.016 -0.174,0.238 -0.381,0.449 -0.615,0.627 -0.004,0.004 -0.008,0.006 -0.01,0.008 -0.242,0.182 -0.51,0.328 -0.799,0.43 C 16.686,24.928 16.352,25 16,25 15.647,25 15.314,24.928 15,24.814 14.711,24.712 14.442,24.566 14.201,24.384 14.198,24.382 14.195,24.38 14.191,24.376 13.956,24.198 13.749,23.987 13.575,23.749 13.571,23.743 13.565,23.739 13.561,23.733 13.4,23.51 13.278,23.26 13.183,22.997 13.164,22.944 13.15,22.892 13.134,22.839 13.055,22.572 13,22.293 13,22 c 0,-0.295 0.055,-0.574 0.135,-0.842 0.016,-0.053 0.03,-0.105 0.049,-0.156 0.095,-0.264 0.217,-0.514 0.378,-0.738 0.004,-0.006 0.01,-0.01 0.014,-0.016 0.174,-0.236 0.381,-0.449 0.616,-0.627 0.004,-0.002 0.007,-0.006 0.01,-0.008 0.241,-0.18 0.51,-0.326 0.799,-0.43 C 15.314,19.072 15.647,19 16,19 c 0.352,0 0.686,0.072 1,0.184 0.289,0.104 0.557,0.25 0.799,0.43 0.002,0.002 0.006,0.006 0.01,0.008 0.234,0.178 0.441,0.391 0.615,0.627 0.004,0.006 0.01,0.01 0.014,0.016 0.162,0.225 0.283,0.475 0.379,0.738 0.018,0.051 0.033,0.104 0.049,0.156 C 18.945,21.426 19,21.705 19,22 c 0,0.293 -0.055,0.572 -0.135,0.84 z"
id="path8"
inkscape:connector-curvature="0"
- style="fill:#000000;fill-rule:evenodd" />
\ No newline at end of file
+ style="fill:#000000;fill-rule:evenodd" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/hollow/play.svg b/beat/web/ui/static/ui/images/icons/svg/hollow/play.svg
index b77b546603a30da62a3c09377509c0b3acfd9990..5417a9750c5456892a7d8b283dc1a441dd4cae63 100644
--- a/beat/web/ui/static/ui/images/icons/svg/hollow/play.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/hollow/play.svg
@@ -53,4 +53,4 @@
d="M 9.826,5.118 C 9.609,4.948 9.257,4.948 9.04,5.118 L 5.163,8.18 c -0.217,0.17 -0.217,0.447 0,0.617 l 0.02,0.012 3.857,3.055 c 0.217,0.17 0.569,0.17 0.786,0 L 9.83,11.858 C 9.935,11.778 10,11.669 10,11.546 V 5.436 C 10,5.31 9.932,5.199 9.824,5.12 L 9.826,5.118 z"
id="path7"
inkscape:connector-curvature="0"
- style="fill:#008000" />
\ No newline at end of file
+ style="fill:#008000" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/hollow/remove.svg b/beat/web/ui/static/ui/images/icons/svg/hollow/remove.svg
index 03d5aafecfcb41482fe869ae90e31293a84a3032..dcb8ed744c2ad5c566b1f1ce2a9b4e6b90214cd2 100644
--- a/beat/web/ui/static/ui/images/icons/svg/hollow/remove.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/hollow/remove.svg
@@ -50,4 +50,4 @@
inkscape:connector-curvature="0" />
\ No newline at end of file
+ inkscape:connector-curvature="0" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/hollow/toolchain.svg b/beat/web/ui/static/ui/images/icons/svg/hollow/toolchain.svg
index 264d6b582eb660809e04bd0506c419195de023e0..65578ad3571e3866bcd3442df2d05182194b7e32 100644
--- a/beat/web/ui/static/ui/images/icons/svg/hollow/toolchain.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/hollow/toolchain.svg
@@ -51,4 +51,4 @@
id="path5"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/hollow/view.svg b/beat/web/ui/static/ui/images/icons/svg/hollow/view.svg
index bb386fe3015071db597ae02e5a97e149f877c9be..4bda81cded96893cf07838b7b33c3a57b230adf0 100644
--- a/beat/web/ui/static/ui/images/icons/svg/hollow/view.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/hollow/view.svg
@@ -57,4 +57,4 @@
sodipodi:rx="5.1397586"
sodipodi:ry="5.1397586"
d="m 17.359449,8.3393431 a 5.1397586,5.1397586 0 1 1 -10.2795173,0 5.1397586,5.1397586 0 1 1 10.2795173,0 z"
- transform="matrix(1.0724246,0,0,1.0724246,-3.6080578,-2.5101098)" />
\ No newline at end of file
+ transform="matrix(1.0724246,0,0,1.0724246,-3.6080578,-2.5101098)" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/key.svg b/beat/web/ui/static/ui/images/icons/svg/key.svg
index 25f2702b6d720ac1da4272161ac552d45de59d08..0123a508d50a697e5c3a705538afa7cce2f8dea4 100644
--- a/beat/web/ui/static/ui/images/icons/svg/key.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/key.svg
@@ -47,4 +47,4 @@
d="M 6.4250227,11.967515 10.691038,7.7003715 c 1.390082,0.4912771 2.996019,0.1938604 4.108531,-0.9164296 1.540977,-1.5420689 1.540977,-4.0424417 0,-5.5822904 -1.54207,-1.54206924 -4.041314,-1.54206924 -5.5833838,0 C 8.104803,2.3119416 7.8073864,3.9179141 8.2986633,5.3079613 L 0.04469806,13.562455 0.44345072,15.556148 2.4371435,15.9549 3.2346137,15.15743 H 4.8295539 V 13.562491 H 6.4250581 V 11.967515 z M 12.406031,3.5940615 c -0.439499,-0.4405909 -0.439499,-1.1543486 0,-1.5949399 0.440591,-0.4405914 1.155442,-0.4405914 1.596032,0 0.439499,0.4405913 0.439499,1.154349 0,1.5949399 -0.44059,0.4405913 -1.155441,0.4405913 -1.596032,0 z"
id="path3"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/reload.svg b/beat/web/ui/static/ui/images/icons/svg/reload.svg
index 86ba314ade5d98794fadf391202feb92ca70e779..a056ee39e22b2ee5ef3c135bfd820a0bb1feef2f 100644
--- a/beat/web/ui/static/ui/images/icons/svg/reload.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/reload.svg
@@ -47,4 +47,4 @@
d="m 1.9985321,7.9999997 c 0,-2.4820441 2.019057,-4.5011 4.5011013,-4.5011 2.4820442,0 4.5011006,2.0190559 4.5011006,4.5011 l -3.0007339,0 4.0009779,5.0012233 4.000978,-5.0012233 -3.000734,0 c 0,-3.5848445 -2.916744,-6.5015886 -6.5015886,-6.5015886 -3.5848453,0 -6.50158926,2.9167441 -6.50158926,6.5015886 0,3.5848453 2.91674396,6.5015893 6.50158926,6.5015893 l 0,-2.00049 c -2.4820443,0 -4.5011013,-2.019054 -4.5011013,-4.5010993 z"
id="path3"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/share.svg b/beat/web/ui/static/ui/images/icons/svg/share.svg
index e26ad712e403e53f544cc7b44dc93c0628769281..5fae0eed296bfdd209fcd2c6de89fb77ce9a60b9 100644
--- a/beat/web/ui/static/ui/images/icons/svg/share.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/share.svg
@@ -55,4 +55,4 @@
id="path7"
inkscape:connector-curvature="0" />
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/switch.svg b/beat/web/ui/static/ui/images/icons/svg/switch.svg
index 918bccab2f00803ddb33600eef44c3a1831f018e..56cff09d63687250302539c86663c6d2931ab6bc 100644
--- a/beat/web/ui/static/ui/images/icons/svg/switch.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/switch.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/icons/svg/thin-arrow-down.svg b/beat/web/ui/static/ui/images/icons/svg/thin-arrow-down.svg
index 06a6f91fd9474038be6594dcbd22ae3d8b01738e..1e0fc6cdc1213f10d3d53d59b6d53cbe692e0cb3 100644
--- a/beat/web/ui/static/ui/images/icons/svg/thin-arrow-down.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/thin-arrow-down.svg
@@ -45,4 +45,4 @@
inkscape:current-layer="Capa_1" />
\ No newline at end of file
+ inkscape:connector-curvature="0" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/thin-arrow-up-down-cancel.svg b/beat/web/ui/static/ui/images/icons/svg/thin-arrow-up-down-cancel.svg
index d08d7dbfcdf166aab072823c67aa26ee6368d2df..6e69056bb889904956e811bf7d30cd1b53f65dae 100644
--- a/beat/web/ui/static/ui/images/icons/svg/thin-arrow-up-down-cancel.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/thin-arrow-up-down-cancel.svg
@@ -57,4 +57,4 @@
style="fill:#ffe9ff;fill-opacity:1;fill-rule:evenodd;stroke:#ae0000;stroke-width:0.82746172px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 4.2157022,2.7780889 C 12.703746,13.16829 12.703746,13.16829 12.703746,13.16829 l 0,0"
id="path3452"
- inkscape:connector-curvature="0" />
\ No newline at end of file
+ inkscape:connector-curvature="0" />
diff --git a/beat/web/ui/static/ui/images/icons/svg/thin-arrow-up-down.svg b/beat/web/ui/static/ui/images/icons/svg/thin-arrow-up-down.svg
index f1b4883960eb4a87ae27b4f2000894e6909f7532..05252d6a1d31fe25fc7dd9b5d5d7c29445fb8233 100644
--- a/beat/web/ui/static/ui/images/icons/svg/thin-arrow-up-down.svg
+++ b/beat/web/ui/static/ui/images/icons/svg/thin-arrow-up-down.svg
@@ -53,4 +53,4 @@
id="use3431"
transform="matrix(-1,0,0,-1,17,16.25025)"
width="100%"
- height="100%" />
\ No newline at end of file
+ height="100%" />
diff --git a/beat/web/ui/static/ui/images/svg/beat.svg b/beat/web/ui/static/ui/images/svg/beat.svg
index 8b2549b06e74462d631ec7f84a4a4a4bf2039d96..75cbe4bd7f75e2261e17d5e4e42f23cf75f36000 100644
--- a/beat/web/ui/static/ui/images/svg/beat.svg
+++ b/beat/web/ui/static/ui/images/svg/beat.svg
@@ -944,23 +944,23 @@
-
+
-
-
+
-
@@ -992,7 +992,7 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
diff --git a/beat/web/ui/static/ui/images/svg/eu.svg b/beat/web/ui/static/ui/images/svg/eu.svg
index 261794094e2a50bff1eda0f2848e4b4255b077a9..bcbe19bedaed330da7b573ae5c3afa3442459a65 100644
--- a/beat/web/ui/static/ui/images/svg/eu.svg
+++ b/beat/web/ui/static/ui/images/svg/eu.svg
@@ -1,4 +1,4 @@
\ No newline at end of file
+
diff --git a/beat/web/ui/static/ui/images/svg/idiap.svg b/beat/web/ui/static/ui/images/svg/idiap.svg
index 984468915b02f27e90091a7680f408d59cffa7ef..7a0a4471f52e35337b5aaa527ccd15b41a8d99e1 100644
--- a/beat/web/ui/static/ui/images/svg/idiap.svg
+++ b/beat/web/ui/static/ui/images/svg/idiap.svg
@@ -1002,7 +1002,7 @@
c4.947-6.999,14.953-8.599,22.789-6.913c4.582,0.984,9.131,2.41,13.027,4.882c1.043,1.242,2.388,1.891,4.033,1.941
C74.723,57.411,75.213,55.505,73.583,54.634"/>
-
+
@@ -1036,7 +1036,7 @@
-
+
-
+
@@ -1108,7 +1108,7 @@ bHVWx1U75eho0+PRpSn6qL//2Q==" transform="matrix(0.24 0 0 0.24 67.6934 57.5947)">
c0,0,7.723,11.396-25.437,8.926C78.57,66.61,51.426,65.069,71.168,55.671z"/>
-
+
@@ -1142,7 +1142,7 @@ bHVWx1U75eho0+PRpSn6qL//2Q==" transform="matrix(0.24 0 0 0.24 67.6934 57.5947)">
-
+
-
+
@@ -1209,7 +1209,7 @@ der9j//Z" transform="matrix(0.24 0 0 0.24 12.3281 64.0986)">
c0,0,5.622,9.145-20.128,6.076C21.527,70.616,0.43,68.478,16.139,61.839z"/>
-
+
@@ -1243,7 +1243,7 @@ der9j//Z" transform="matrix(0.24 0 0 0.24 12.3281 64.0986)">
-
+
-
+
diff --git a/beat/web/ui/templates/ui/contribution_breadcrumb.html b/beat/web/ui/templates/ui/contribution_breadcrumb.html
index 0463a4795072e043ecf38ac0eb5a4dfefc002746..0573e1dedd246a6394eb520c72d08555c890321a 100644
--- a/beat/web/ui/templates/ui/contribution_breadcrumb.html
+++ b/beat/web/ui/templates/ui/contribution_breadcrumb.html
@@ -1,21 +1,21 @@
{% comment %}
* Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/
* Contact: beat.support@idiap.ch
- *
+ *
* This file is part of the beat.web module of the BEAT platform.
- *
+ *
* Commercial License Usage
* Licensees holding valid commercial BEAT licenses may use this file in
* accordance with the terms contained in a written agreement between you
* and Idiap. For further information contact tto@idiap.ch
- *
+ *
* Alternatively, this file may be used under the terms of the GNU Affero
* Public License version 3 as published by the Free Software and appearing
* in the file LICENSE.AGPL included in the packaging of this file.
* The BEAT platform is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE.
- *
+ *
* You should have received a copy of the GNU Affero Public License along
* with the BEAT platform. If not, see http://www.gnu.org/licenses/.
{% endcomment %}
diff --git a/beat/web/ui/templates/ui/contribution_breadcrumb_plotter.html b/beat/web/ui/templates/ui/contribution_breadcrumb_plotter.html
index 8de01f92406dff55d2fa4fb0584afebfea0d549f..77a6a55d7219186282e0b992ad99dc4e4a9ea3ef 100644
--- a/beat/web/ui/templates/ui/contribution_breadcrumb_plotter.html
+++ b/beat/web/ui/templates/ui/contribution_breadcrumb_plotter.html
@@ -1,21 +1,21 @@
{% comment %}
* Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/
* Contact: beat.support@idiap.ch
- *
+ *
* This file is part of the beat.web module of the BEAT platform.
- *
+ *
* Commercial License Usage
* Licensees holding valid commercial BEAT licenses may use this file in
* accordance with the terms contained in a written agreement between you
* and Idiap. For further information contact tto@idiap.ch
- *
+ *
* Alternatively, this file may be used under the terms of the GNU Affero
* Public License version 3 as published by the Free Software and appearing
* in the file LICENSE.AGPL included in the packaging of this file.
* The BEAT platform is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE.
- *
+ *
* You should have received a copy of the GNU Affero Public License along
* with the BEAT platform. If not, see http://www.gnu.org/licenses/.
{% endcomment %}
diff --git a/beat/web/ui/templates/ui/contribution_breadcrumb_plotterparameter.html b/beat/web/ui/templates/ui/contribution_breadcrumb_plotterparameter.html
index 72cad9e6ef7af6261e596d08c1f6e8b36ebc25a9..15f7143119b47f1c6b0c1f2985f10bc8d1df937b 100644
--- a/beat/web/ui/templates/ui/contribution_breadcrumb_plotterparameter.html
+++ b/beat/web/ui/templates/ui/contribution_breadcrumb_plotterparameter.html
@@ -1,21 +1,21 @@
{% comment %}
* Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/
* Contact: beat.support@idiap.ch
- *
+ *
* This file is part of the beat.web module of the BEAT platform.
- *
+ *
* Commercial License Usage
* Licensees holding valid commercial BEAT licenses may use this file in
* accordance with the terms contained in a written agreement between you
* and Idiap. For further information contact tto@idiap.ch
- *
+ *
* Alternatively, this file may be used under the terms of the GNU Affero
* Public License version 3 as published by the Free Software and appearing
* in the file LICENSE.AGPL included in the packaging of this file.
* The BEAT platform is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE.
- *
+ *
* You should have received a copy of the GNU Affero Public License along
* with the BEAT platform. If not, see http://www.gnu.org/licenses/.
{% endcomment %}
diff --git a/beat/web/ui/templates/ui/filter_script.html b/beat/web/ui/templates/ui/filter_script.html
index db0b32c3a9f423099e670aa6b9f15e644460ead9..3f0ccf8b9ae19c5d3ecf872ade8f370ed94ddd13 100644
--- a/beat/web/ui/templates/ui/filter_script.html
+++ b/beat/web/ui/templates/ui/filter_script.html
@@ -1,21 +1,21 @@
{% comment %}
* Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/
* Contact: beat.support@idiap.ch
- *
+ *
* This file is part of the beat.web module of the BEAT platform.
- *
+ *
* Commercial License Usage
* Licensees holding valid commercial BEAT licenses may use this file in
* accordance with the terms contained in a written agreement between you
* and Idiap. For further information contact tto@idiap.ch
- *
+ *
* Alternatively, this file may be used under the terms of the GNU Affero
* Public License version 3 as published by the Free Software and appearing
* in the file LICENSE.AGPL included in the packaging of this file.
* The BEAT platform is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE.
- *
+ *
* You should have received a copy of the GNU Affero Public License along
* with the BEAT platform. If not, see http://www.gnu.org/licenses/.
{% endcomment %}
diff --git a/beat/web/ui/templates/ui/history.html b/beat/web/ui/templates/ui/history.html
index 39cfb37744c6692b3f3f574b1c32f75af4b26a31..7bd2f1eede9e1bfdffb9d553c8ffb340d5064926 100644
--- a/beat/web/ui/templates/ui/history.html
+++ b/beat/web/ui/templates/ui/history.html
@@ -1,21 +1,21 @@
{% comment %}
* Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/
* Contact: beat.support@idiap.ch
- *
+ *
* This file is part of the beat.web module of the BEAT platform.
- *
+ *
* Commercial License Usage
* Licensees holding valid commercial BEAT licenses may use this file in
* accordance with the terms contained in a written agreement between you
* and Idiap. For further information contact tto@idiap.ch
- *
+ *
* Alternatively, this file may be used under the terms of the GNU Affero
* Public License version 3 as published by the Free Software and appearing
* in the file LICENSE.AGPL included in the packaging of this file.
* The BEAT platform is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE.
- *
+ *
* You should have received a copy of the GNU Affero Public License along
* with the BEAT platform. If not, see http://www.gnu.org/licenses/.
{% endcomment %}
diff --git a/beat/web/ui/templates/ui/list_selector.html b/beat/web/ui/templates/ui/list_selector.html
index a21be963ded56bec973473785e2ab4599c3f4252..8fe8b8907a968c6cbd83f80913d1512a7fb99a34 100644
--- a/beat/web/ui/templates/ui/list_selector.html
+++ b/beat/web/ui/templates/ui/list_selector.html
@@ -1,21 +1,21 @@
{% comment %}
* Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/
* Contact: beat.support@idiap.ch
- *
+ *
* This file is part of the beat.web module of the BEAT platform.
- *
+ *
* Commercial License Usage
* Licensees holding valid commercial BEAT licenses may use this file in
* accordance with the terms contained in a written agreement between you
* and Idiap. For further information contact tto@idiap.ch
- *
+ *
* Alternatively, this file may be used under the terms of the GNU Affero
* Public License version 3 as published by the Free Software and appearing
* in the file LICENSE.AGPL included in the packaging of this file.
* The BEAT platform is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE.
- *
+ *
* You should have received a copy of the GNU Affero Public License along
* with the BEAT platform. If not, see http://www.gnu.org/licenses/.
{% endcomment %}
diff --git a/beat/web/ui/templates/ui/messages.html b/beat/web/ui/templates/ui/messages.html
index 1707264169f430935e734c457a1583111005adf3..f7c7a34cd3a39536b44882963afbf9625d712017 100644
--- a/beat/web/ui/templates/ui/messages.html
+++ b/beat/web/ui/templates/ui/messages.html
@@ -1,21 +1,21 @@
{% comment %}
* Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/
* Contact: beat.support@idiap.ch
- *
+ *
* This file is part of the beat.web module of the BEAT platform.
- *
+ *
* Commercial License Usage
* Licensees holding valid commercial BEAT licenses may use this file in
* accordance with the terms contained in a written agreement between you
* and Idiap. For further information contact tto@idiap.ch
- *
+ *
* Alternatively, this file may be used under the terms of the GNU Affero
* Public License version 3 as published by the Free Software and appearing
* in the file LICENSE.AGPL included in the packaging of this file.
* The BEAT platform is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE.
- *
+ *
* You should have received a copy of the GNU Affero Public License along
* with the BEAT platform. If not, see http://www.gnu.org/licenses/.
{% endcomment %}
diff --git a/beat/web/ui/templates/ui/multiple_selector.html b/beat/web/ui/templates/ui/multiple_selector.html
index ecf8f31af58e2680d90183f60814ed40e8129093..bddc36c3d651c58465173ccdd2286c78f04aef52 100644
--- a/beat/web/ui/templates/ui/multiple_selector.html
+++ b/beat/web/ui/templates/ui/multiple_selector.html
@@ -1,21 +1,21 @@
{% comment %}
* Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/
* Contact: beat.support@idiap.ch
- *
+ *
* This file is part of the beat.web module of the BEAT platform.
- *
+ *
* Commercial License Usage
* Licensees holding valid commercial BEAT licenses may use this file in
* accordance with the terms contained in a written agreement between you
* and Idiap. For further information contact tto@idiap.ch
- *
+ *
* Alternatively, this file may be used under the terms of the GNU Affero
* Public License version 3 as published by the Free Software and appearing
* in the file LICENSE.AGPL included in the packaging of this file.
* The BEAT platform is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE.
- *
+ *
* You should have received a copy of the GNU Affero Public License along
* with the BEAT platform. If not, see http://www.gnu.org/licenses/.
{% endcomment %}
diff --git a/beat/web/ui/templates/ui/save_as_dialog.html b/beat/web/ui/templates/ui/save_as_dialog.html
index 04c8a2fad18ed9de0a87e05edcb5da195d0a541a..59e5129a4bc7570e1a1335e4579884ca23b26e2e 100644
--- a/beat/web/ui/templates/ui/save_as_dialog.html
+++ b/beat/web/ui/templates/ui/save_as_dialog.html
@@ -1,21 +1,21 @@
{% comment %}
* Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/
* Contact: beat.support@idiap.ch
- *
+ *
* This file is part of the beat.web module of the BEAT platform.
- *
+ *
* Commercial License Usage
* Licensees holding valid commercial BEAT licenses may use this file in
* accordance with the terms contained in a written agreement between you
* and Idiap. For further information contact tto@idiap.ch
- *
+ *
* Alternatively, this file may be used under the terms of the GNU Affero
* Public License version 3 as published by the Free Software and appearing
* in the file LICENSE.AGPL included in the packaging of this file.
* The BEAT platform is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE.
- *
+ *
* You should have received a copy of the GNU Affero Public License along
* with the BEAT platform. If not, see http://www.gnu.org/licenses/.
{% endcomment %}
diff --git a/beat/web/ui/templates/ui/smart_selector.html b/beat/web/ui/templates/ui/smart_selector.html
index 12bb0bd3b1c8c40b9bd6c6e2460c871fee81c98b..0faa4efa976de29c85526e7f2c2792369d723517 100644
--- a/beat/web/ui/templates/ui/smart_selector.html
+++ b/beat/web/ui/templates/ui/smart_selector.html
@@ -1,21 +1,21 @@
{% comment %}
* Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/
* Contact: beat.support@idiap.ch
- *
+ *
* This file is part of the beat.web module of the BEAT platform.
- *
+ *
* Commercial License Usage
* Licensees holding valid commercial BEAT licenses may use this file in
* accordance with the terms contained in a written agreement between you
* and Idiap. For further information contact tto@idiap.ch
- *
+ *
* Alternatively, this file may be used under the terms of the GNU Affero
* Public License version 3 as published by the Free Software and appearing
* in the file LICENSE.AGPL included in the packaging of this file.
* The BEAT platform is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE.
- *
+ *
* You should have received a copy of the GNU Affero Public License along
* with the BEAT platform. If not, see http://www.gnu.org/licenses/.
{% endcomment %}
diff --git a/beat/web/ui/templates/ui/tabs.html b/beat/web/ui/templates/ui/tabs.html
index 7511565eb431c53d6c84724525980987965c7cfe..131910ff7cc055ef89ed0eb1fad787d450418f26 100644
--- a/beat/web/ui/templates/ui/tabs.html
+++ b/beat/web/ui/templates/ui/tabs.html
@@ -1,21 +1,21 @@
{% comment %}
* Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/
* Contact: beat.support@idiap.ch
- *
+ *
* This file is part of the beat.web module of the BEAT platform.
- *
+ *
* Commercial License Usage
* Licensees holding valid commercial BEAT licenses may use this file in
* accordance with the terms contained in a written agreement between you
* and Idiap. For further information contact tto@idiap.ch
- *
+ *
* Alternatively, this file may be used under the terms of the GNU Affero
* Public License version 3 as published by the Free Software and appearing
* in the file LICENSE.AGPL included in the packaging of this file.
* The BEAT platform is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE.
- *
+ *
* You should have received a copy of the GNU Affero Public License along
* with the BEAT platform. If not, see http://www.gnu.org/licenses/.
{% endcomment %}
diff --git a/beat/web/ui/templatetags/fingerprint.py b/beat/web/ui/templatetags/fingerprint.py
index 4d0e69db7bf58b53fab59fbd0b36dc56876b3989..0028cf9e82bb17ba0248b7394727760aef135911 100644
--- a/beat/web/ui/templatetags/fingerprint.py
+++ b/beat/web/ui/templatetags/fingerprint.py
@@ -26,30 +26,28 @@
###############################################################################
from django import template
-from django.templatetags.static import StaticNode
from django.contrib.staticfiles.storage import staticfiles_storage
+from django.templatetags.static import StaticNode
from ... import __version__
-
register = template.Library()
-#--------------------------------------------------
+# --------------------------------------------------
class FingerprintedFilesNode(StaticNode):
-
def url(self, context):
path = self.path.resolve(context)
url = staticfiles_storage.url(path)
- return url + '?v' + __version__
+ return url + "?v" + __version__
-#--------------------------------------------------
+# --------------------------------------------------
-@register.tag('fingerprint')
+@register.tag("fingerprint")
def do_fingerprint(parser, token):
"""
A template tag that returns the URL to a file
diff --git a/beat/web/ui/templatetags/gravatar.py b/beat/web/ui/templatetags/gravatar.py
index 8eac267e52ba8f42d40735db705fea6eeb1538ca..6b50b7aae585b3e2598901ed81d094305f0f8aa2 100644
--- a/beat/web/ui/templatetags/gravatar.py
+++ b/beat/web/ui/templatetags/gravatar.py
@@ -25,17 +25,16 @@
# #
###############################################################################
-from django.conf import settings
-from django import template
-from django.template.defaultfilters import stringfilter
-
import hashlib
+from django import template
+from django.conf import settings
+from django.template.defaultfilters import stringfilter
register = template.Library()
-#--------------------------------------------------
+# --------------------------------------------------
@stringfilter
@@ -43,13 +42,13 @@ def gravatar_hash(email):
""" Computes the hash of an e-mail address to be recognized by gravatar.com
"""
to_hash = email.lower().encode("utf-8")
- return hashlib.md5(to_hash).hexdigest()
+ return hashlib.md5(to_hash).hexdigest() # nosec: B303
-register.filter('gravatar_hash', gravatar_hash)
+register.filter("gravatar_hash", gravatar_hash)
-#--------------------------------------------------
+# --------------------------------------------------
@stringfilter
@@ -57,9 +56,9 @@ def gravatar_url(email):
""" Returns the Gravatar URL of an e-mail address
"""
if settings.USE_HTTPS_GRAVATAR:
- return 'https://secure.gravatar.com/avatar/' + gravatar_hash(email)
+ return "https://secure.gravatar.com/avatar/" + gravatar_hash(email)
else:
- return 'http://www.gravatar.com/avatar/' + gravatar_hash(email)
+ return "http://www.gravatar.com/avatar/" + gravatar_hash(email)
-register.filter('gravatar_url', gravatar_url)
+register.filter("gravatar_url", gravatar_url)
diff --git a/beat/web/ui/templatetags/markup.py b/beat/web/ui/templatetags/markup.py
index c37ea1e3035c7db66973cf73b9edf57a900a0247..ca4adf13033a65e46a010a66a605a2661862882c 100644
--- a/beat/web/ui/templatetags/markup.py
+++ b/beat/web/ui/templatetags/markup.py
@@ -36,18 +36,19 @@ markup syntaxes to HTML; currently there is support for:
Source copied from: https://github.com/django/django/blob/stable/1.5.x/django/contrib/markup/templatetags/markup.py
"""
-
from django import template
from django.conf import settings
-from django.utils.encoding import force_bytes, force_text
-from django.utils.safestring import mark_safe
from django.template.defaultfilters import stringfilter
+from django.utils.encoding import force_bytes
+from django.utils.encoding import force_text
+from django.utils.safestring import mark_safe
register = template.Library()
+
@register.filter(is_safe=True)
@stringfilter
-def markdown(value, arg=''):
+def markdown(value, arg=""):
"""
Runs Markdown over a given value, optionally using various
extensions python-markdown supports.
@@ -68,31 +69,34 @@ def markdown(value, arg=''):
import markdown
except ImportError:
if settings.DEBUG:
- raise template.TemplateSyntaxError("Error in 'markdown' filter: The Python markdown library isn't installed.")
+ raise template.TemplateSyntaxError(
+ "Error in 'markdown' filter: The Python markdown library isn't installed."
+ )
return force_text(value)
else:
markdown_vers = getattr(markdown, "version_info", 0)
if markdown_vers < (2, 1):
if settings.DEBUG:
raise template.TemplateSyntaxError(
- "Error in 'markdown' filter: Django does not support versions of the Python markdown library < 2.1.")
+ "Error in 'markdown' filter: Django does not support versions of the Python markdown library < 2.1."
+ )
return force_text(value)
else:
extensions = [e for e in arg.split(",") if e]
if extensions and extensions[0] == "safe":
extensions = extensions[1:]
- return mark_safe(markdown.markdown(
- force_text(value),
- extensions,
- safe_mode=True,
- enable_attributes=False,
- ))
+ return mark_safe( # nosec: B703
+ markdown.markdown(
+ force_text(value),
+ extensions,
+ safe_mode=True,
+ enable_attributes=False,
+ )
+ )
else:
- return mark_safe(markdown.markdown(
- force_text(value),
- extensions,
- safe_mode=False,
- ))
+ return mark_safe( # nosec: B703
+ markdown.markdown(force_text(value), extensions, safe_mode=False,)
+ )
@register.filter(is_safe=True)
@@ -102,12 +106,21 @@ def restructuredtext(value, full=False):
from docutils.core import publish_parts
except ImportError:
if settings.DEBUG:
- raise template.TemplateSyntaxError("Error in 'restructuredtext' filter: The Python docutils library isn't installed.")
+ raise template.TemplateSyntaxError(
+ "Error in 'restructuredtext' filter: The Python docutils library isn't installed."
+ )
return force_text(value)
else:
docutils_settings = getattr(settings, "RESTRUCTUREDTEXT_FILTER_SETTINGS", {})
- parts = publish_parts(source=force_bytes(value), writer_name="html4css1", settings_overrides=docutils_settings)
+ parts = publish_parts(
+ source=force_bytes(value),
+ writer_name="html4css1",
+ settings_overrides=docutils_settings,
+ )
+
if full:
- return mark_safe(force_text(parts["html_body"])) #with h1 title
+ text = parts["html_body"] # with h1 title
else:
- return mark_safe(force_text(parts["fragment"])) #contains no title
+ text = parts["fragment"] # contains no title
+
+ return mark_safe(force_text(text)) # nosec: B703
diff --git a/beat/web/ui/templatetags/ui_tags.py b/beat/web/ui/templatetags/ui_tags.py
index 27027d0bb44a87eb845b05cba64dc1a601c146e7..b3f10dab2f286c06fadd752697932dd088ad1b4e 100644
--- a/beat/web/ui/templatetags/ui_tags.py
+++ b/beat/web/ui/templatetags/ui_tags.py
@@ -25,120 +25,123 @@
# #
###############################################################################
+import json
+from collections import OrderedDict
+
from django import template
from django.conf import settings
from django.utils.html import format_html
-from ...common.texts import Messages as Texts
-from ... import __version__
-from collections import OrderedDict
-import json
+from ... import __version__
+from ...common.texts import Messages as Texts
register = template.Library()
-#--------------------------------------------------
+# --------------------------------------------------
-@register.inclusion_tag('ui/bar.html', takes_context=True)
+@register.inclusion_tag("ui/bar.html", takes_context=True)
def navbar(context):
return {
- 'request': context['request'],
- 'documentation_link': settings.DOCUMENTATION_LINK,
- 'public_urls': [
- ('experiments', 'experiments:public-list'),
- (False, ''),
- ('toolchains', 'toolchains:public-list'),
- ('algorithms', 'algorithms:public-list'),
- ('libraries', 'libraries:public-list'),
- ('dataformats', 'dataformats:public-list'),
- (False, ''),
- ('attestations', 'attestations:public-list'),
- ('reports', 'reports:public-list'),
- ('searches', 'search:public-list'),
- ('teams', 'teams:public-list'),
- ('plotterparameters', 'plotters:plotterparameter-public-list'),
- (False, ''),
- ('databases', 'databases:list'),
- ('environments', 'backend:list-environments'),
- ('plotters', 'plotters:list'),
- #('plotterparameters', 'plotters:plotterparameter-public-list'),
+ "request": context["request"],
+ "documentation_link": settings.DOCUMENTATION_LINK,
+ "public_urls": [
+ ("experiments", "experiments:public-list"),
+ (False, ""),
+ ("toolchains", "toolchains:public-list"),
+ ("algorithms", "algorithms:public-list"),
+ ("libraries", "libraries:public-list"),
+ ("dataformats", "dataformats:public-list"),
+ (False, ""),
+ ("attestations", "attestations:public-list"),
+ ("reports", "reports:public-list"),
+ ("searches", "search:public-list"),
+ ("teams", "teams:public-list"),
+ ("plotterparameters", "plotters:plotterparameter-public-list"),
+ (False, ""),
+ ("databases", "databases:list"),
+ ("environments", "backend:list-environments"),
+ ("plotters", "plotters:list"),
+ # ('plotterparameters', 'plotters:plotterparameter-public-list'),
],
- 'user_urls': [
- ('experiments', 'experiments:list', True),
- (False, '', False),
- ('toolchains', 'toolchains:list', True),
- ('algorithms', 'algorithms:list', True),
- ('libraries', 'libraries:list', True),
- ('dataformats', 'dataformats:list', True),
- (False, '', False),
- ('attestations', 'attestations:list', True),
- ('reports', 'reports:list', True),
- ('searches', 'search:list', True),
- ('teams', 'teams:list', True),
- ('plotterparameters', 'plotters:plotterparameter-list', True),
- (False, '', False),
- ('databases', 'databases:list', False),
- ('environments', 'backend:list-environments', False),
- ('plotters', 'plotters:list', False),
- #('plotterparameters', 'plotters:plotterparameter-list', True),
+ "user_urls": [
+ ("experiments", "experiments:list", True),
+ (False, "", False),
+ ("toolchains", "toolchains:list", True),
+ ("algorithms", "algorithms:list", True),
+ ("libraries", "libraries:list", True),
+ ("dataformats", "dataformats:list", True),
+ (False, "", False),
+ ("attestations", "attestations:list", True),
+ ("reports", "reports:list", True),
+ ("searches", "search:list", True),
+ ("teams", "teams:list", True),
+ ("plotterparameters", "plotters:plotterparameter-list", True),
+ (False, "", False),
+ ("databases", "databases:list", False),
+ ("environments", "backend:list-environments", False),
+ ("plotters", "plotters:list", False),
+ # ('plotterparameters', 'plotters:plotterparameter-list', True),
],
}
-#--------------------------------------------------
+# --------------------------------------------------
-@register.inclusion_tag('ui/contribution_breadcrumb.html', takes_context=True)
+@register.inclusion_tag("ui/contribution_breadcrumb.html", takes_context=True)
def contribution_breadcrumb(context, obj):
name_plural = obj.get_verbose_name_plural()
return {
- 'request': context['request'],
- 'object': obj,
- 'name_plural': name_plural,
- 'listurl': name_plural + ':list',
- 'public_listurl': name_plural + ':public-list',
- 'viewurl': name_plural + ':view-latest',
+ "request": context["request"],
+ "object": obj,
+ "name_plural": name_plural,
+ "listurl": name_plural + ":list",
+ "public_listurl": name_plural + ":public-list",
+ "viewurl": name_plural + ":view-latest",
}
-#--------------------------------------------------
+# --------------------------------------------------
-@register.inclusion_tag('ui/contribution_breadcrumb_plotter.html', takes_context=True)
+@register.inclusion_tag("ui/contribution_breadcrumb_plotter.html", takes_context=True)
def contribution_breadcrumb_plotter(context, obj):
name_plural = obj.get_verbose_name_plural()
return {
- 'request': context['request'],
- 'object': obj,
- 'name_plural': name_plural,
- 'listurl': name_plural + ':list',
- 'public_listurl': name_plural + ':list',
- 'viewurl': name_plural + ':plotter-view-latest',
+ "request": context["request"],
+ "object": obj,
+ "name_plural": name_plural,
+ "listurl": name_plural + ":list",
+ "public_listurl": name_plural + ":list",
+ "viewurl": name_plural + ":plotter-view-latest",
}
-#--------------------------------------------------
+# --------------------------------------------------
-@register.inclusion_tag('ui/contribution_breadcrumb_plotterparameter.html', takes_context=True)
+@register.inclusion_tag(
+ "ui/contribution_breadcrumb_plotterparameter.html", takes_context=True
+)
def contribution_breadcrumb_plotterparameter(context, obj):
- name_plural = 'plotterparameters'
- name_url = 'plotters'
+ name_plural = "plotterparameters"
+ name_url = "plotters"
return {
- 'request': context['request'],
- 'object': obj,
- 'name_plural': name_plural,
- 'listurl': name_url + ':plotterparameter-list',
- 'public_listurl': name_url + ':plotterparameter-public-list',
- 'viewurl': name_url + ':plotterparameter-view-latest',
+ "request": context["request"],
+ "object": obj,
+ "name_plural": name_plural,
+ "listurl": name_url + ":plotterparameter-list",
+ "public_listurl": name_url + ":plotterparameter-public-list",
+ "viewurl": name_url + ":plotterparameter-view-latest",
}
-#--------------------------------------------------
+# --------------------------------------------------
-@register.inclusion_tag('ui/filter_script.html')
+@register.inclusion_tag("ui/filter_script.html")
def filter_script(panel_id, text_filter_id, privacy_filter_id):
return dict(
panel_id=panel_id,
@@ -147,170 +150,192 @@ def filter_script(panel_id, text_filter_id, privacy_filter_id):
)
-#--------------------------------------------------
+# --------------------------------------------------
-@register.inclusion_tag('ui/smart_selector.html')
+@register.inclusion_tag("ui/smart_selector.html")
def smart_selector(id):
- return { 'panel_id': id,
- }
+ return {
+ "panel_id": id,
+ }
-#--------------------------------------------------
+# --------------------------------------------------
-@register.inclusion_tag('ui/tabs.html', takes_context=True)
+@register.inclusion_tag("ui/tabs.html", takes_context=True)
def list_tabs(context, user, tab):
- name = 'list' if not user.is_anonymous else 'public-list'
+ name = "list" if not user.is_anonymous else "public-list"
return dict(
- request=context['request'],
+ request=context["request"],
user=user,
tab=tab,
-
- #tab name -> list url mappings
- user_tabs=OrderedDict([
- ('experiments', 'experiments:' + name),
- (False, ''),
- ('toolchains', 'toolchains:' + name),
- ('algorithms', 'algorithms:' + name),
- ('libraries', 'libraries:' + name),
- ('dataformats', 'dataformats:' + name),
- (None, ''), #note it has to be different as this is a dictionary!
- ('attestations', 'attestations:' + name),
- ('reports', 'reports:' + name),
- ('searches', 'search:' + name),
- ('teams', 'teams:' + name),
- ('plotterparameters', 'plotters:plotterparameter-' + name),
- ]),
- system_tabs=OrderedDict([
- ('databases', 'databases:list'),
- ('environments', 'backend:list-environments'),
- ('plotters', 'plotters:list'),
- ]),
+ # tab name -> list url mappings
+ user_tabs=OrderedDict(
+ [
+ ("experiments", "experiments:" + name),
+ (False, ""),
+ ("toolchains", "toolchains:" + name),
+ ("algorithms", "algorithms:" + name),
+ ("libraries", "libraries:" + name),
+ ("dataformats", "dataformats:" + name),
+ (None, ""), # note it has to be different as this is a dictionary!
+ ("attestations", "attestations:" + name),
+ ("reports", "reports:" + name),
+ ("searches", "search:" + name),
+ ("teams", "teams:" + name),
+ ("plotterparameters", "plotters:plotterparameter-" + name),
+ ]
+ ),
+ system_tabs=OrderedDict(
+ [
+ ("databases", "databases:list"),
+ ("environments", "backend:list-environments"),
+ ("plotters", "plotters:list"),
+ ]
+ ),
)
-#--------------------------------------------------
+# --------------------------------------------------
-@register.inclusion_tag('ui/list_selector.html')
+@register.inclusion_tag("ui/list_selector.html")
def list_selector(id):
- return { 'panel_id': id,
- }
+ return {
+ "panel_id": id,
+ }
-#--------------------------------------------------
+# --------------------------------------------------
-@register.inclusion_tag('ui/multiple_selector.html')
+@register.inclusion_tag("ui/multiple_selector.html")
def multiple_selector(id):
- return { 'panel_id': id,
- }
+ return {
+ "panel_id": id,
+ }
-#--------------------------------------------------
+# --------------------------------------------------
-@register.inclusion_tag('ui/doc_editor.html', takes_context=True)
+@register.inclusion_tag("ui/doc_editor.html", takes_context=True)
def doc_editor(context, obj, url_name, editable=True):
return {
- 'request': context['request'],
- 'owner': obj.author == context['request'].user,
- 'object': obj,
- 'url_name': url_name,
- 'texts': Texts,
- 'editable': editable,
+ "request": context["request"],
+ "owner": obj.author == context["request"].user,
+ "object": obj,
+ "url_name": url_name,
+ "texts": Texts,
+ "editable": editable,
}
-#--------------------------------------------------
+# --------------------------------------------------
-@register.inclusion_tag('ui/history.html', takes_context=True)
+@register.inclusion_tag("ui/history.html", takes_context=True)
def history(context, plural, obj, panel_id, height):
return {
- 'plural': plural,
- 'object': obj,
- 'history': obj.json_history(context['request'].user),
- 'panel_id': panel_id,
- 'height': height,
- 'URL_PREFIX': context['URL_PREFIX'],
+ "plural": plural,
+ "object": obj,
+ "history": obj.json_history(context["request"].user),
+ "panel_id": panel_id,
+ "height": height,
+ "URL_PREFIX": context["URL_PREFIX"],
}
-#--------------------------------------------------
+# --------------------------------------------------
@register.simple_tag
def code_editor_scripts(modes):
js = [
- 'lib/codemirror.js',
- 'addon/fold/brace-fold.js',
- 'addon/fold/foldcode.js',
- 'addon/fold/foldgutter.js',
- 'addon/fold/indent-fold.js',
- 'addon/mode/overlay.js',
- 'addon/search/search.js',
- 'addon/search/searchcursor.js',
- 'addon/dialog/dialog.js',
- 'addon/display/rulers.js',
+ "lib/codemirror.js",
+ "addon/fold/brace-fold.js",
+ "addon/fold/foldcode.js",
+ "addon/fold/foldgutter.js",
+ "addon/fold/indent-fold.js",
+ "addon/mode/overlay.js",
+ "addon/search/search.js",
+ "addon/search/searchcursor.js",
+ "addon/dialog/dialog.js",
+ "addon/display/rulers.js",
]
# adds mode-related CodeMirror plugins
- js += ['mode/%s/%s.js' % (k,k) for k in modes.split(',')]
+ js += ["mode/%s/%s.js" % (k, k) for k in modes.split(",")]
# sets include path
- js = ['%s/%s' % (settings.CODEMIRROR_PATH, k) for k in js]
+ js = ["%s/%s" % (settings.CODEMIRROR_PATH, k) for k in js]
# inserts the CodeMirror editor defaults
js.append("ui/js/codemirror-defaults.js")
- js = ['' % (settings.STATIC_URL, k, __version__) for k in js]
+ js = [
+ ''
+ % (settings.STATIC_URL, k, __version__)
+ for k in js
+ ]
- return format_html('\n'.join(js))
+ return format_html("\n".join(js))
-#--------------------------------------------------
+# --------------------------------------------------
@register.simple_tag
def code_editor_css():
css = [
- '%s/lib/codemirror.css' % settings.CODEMIRROR_PATH,
- '%s/addon/fold/foldgutter.css' % settings.CODEMIRROR_PATH,
- 'ui/css/codemirror-overrides.css',
+ "%s/lib/codemirror.css" % settings.CODEMIRROR_PATH,
+ "%s/addon/fold/foldgutter.css" % settings.CODEMIRROR_PATH,
+ "ui/css/codemirror-overrides.css",
]
- if settings.CODEMIRROR_THEME != 'default':
- css.append('%s/theme/%s.css' % (settings.CODEMIRROR_PATH, settings.CODEMIRROR_THEME))
-
- return format_html('\n'.join(map(lambda x: '' % (settings.STATIC_URL, x, __version__), css)))
+ if settings.CODEMIRROR_THEME != "default":
+ css.append(
+ "%s/theme/%s.css" % (settings.CODEMIRROR_PATH, settings.CODEMIRROR_THEME)
+ )
+
+ return format_html(
+ "\n".join(
+ map(
+ lambda x: ''
+ % (settings.STATIC_URL, x, __version__),
+ css,
+ )
+ )
+ )
-#--------------------------------------------------
+# --------------------------------------------------
-@register.inclusion_tag('ui/save_as_dialog.html')
+@register.inclusion_tag("ui/save_as_dialog.html")
def save_as_dialog(id):
- return { 'dialog_id': id,
- 'URL_PREFIX': settings.URL_PREFIX,
- }
+ return {
+ "dialog_id": id,
+ "URL_PREFIX": settings.URL_PREFIX,
+ }
-#--------------------------------------------------
+# --------------------------------------------------
-@register.inclusion_tag('ui/messages.html')
+@register.inclusion_tag("ui/messages.html")
def messages(request):
"""Sets-up the HTML for message display"""
from django.contrib import messages as django_messages
+
return dict(
messages=django_messages.get_messages(request),
DEFAULT_MESSAGE_LEVELS=django_messages.DEFAULT_LEVELS,
)
-#--------------------------------------------------
+# --------------------------------------------------
@register.filter
@@ -319,29 +344,32 @@ def join_by(the_list, attr_or_method):
def _getval(o, n):
attr = getattr(o, n)
- if hasattr(attr, '__call__'): return attr()
- else: return attr
+ if hasattr(attr, "__call__"):
+ return attr()
+ else:
+ return attr
- return ", ".join(unicode(_getval(i, attr_or_method)) for i in the_list)
+ return ", ".join(str(_getval(i, attr_or_method)) for i in the_list)
-#--------------------------------------------------
+# --------------------------------------------------
@register.filter
def getkey(mapping, key):
"""Returns the given dictionary key (useful in templates)"""
- return mapping.get(key, '')
+ return mapping.get(key, "")
-#--------------------------------------------------
+# --------------------------------------------------
@register.filter
def split_fullname(s):
- return s.split('/')
+ return s.split("/")
+
-#----------------------------------------------------------------
+# ----------------------------------------------------------------
@register.filter
@@ -352,7 +380,7 @@ def get_item(mapping, key):
if key in data.keys():
output_value = json.dumps(data[key])
- except:
+ except Exception:
output_value = ""
return output_value
diff --git a/beat/web/ui/urls.py b/beat/web/ui/urls.py
index e77988bd3d47ea5ae87c1a9067c7e3a2a932b64a..73f14af374448d1cfa5a1d18d8a584ff8cc13479 100644
--- a/beat/web/ui/urls.py
+++ b/beat/web/ui/urls.py
@@ -25,16 +25,15 @@
# #
###############################################################################
-from django.conf.urls import url
from django.conf import settings
-from django.views.generic.base import TemplateView
+from django.conf.urls import url
from django.contrib.auth import views as auth_views
+from django.views.generic.base import TemplateView
from . import views
-
+from .registration.forms import PreregistrationForm
from .registration.views import activate
from .registration.views import register
-from .registration.forms import PreregistrationForm
app_name = "ui"
diff --git a/beat/web/ui/views.py b/beat/web/ui/views.py
index c31f4450410ce62f13a73ed624a7071ec7c6543b..c71a7928878a73071d5e2724fcb80c5b32903569 100755
--- a/beat/web/ui/views.py
+++ b/beat/web/ui/views.py
@@ -26,34 +26,32 @@
###############################################################################
-from django.shortcuts import get_object_or_404
-from django.shortcuts import render
+import datetime
+
+from django.conf import settings
+from django.contrib import messages
from django.contrib.auth import views as auth_views
+from django.contrib.auth.decorators import login_required
from django.contrib.auth.forms import PasswordChangeForm
from django.contrib.auth.models import User
-from django.contrib import messages
+from django.core.mail import EmailMessage
+from django.db.models import Q
from django.http import Http404
from django.http import HttpResponse
-from django.contrib.auth.decorators import login_required
-from django.urls import reverse
-from django.db.models import Q
-from django.core.mail import EmailMessage
+from django.shortcuts import get_object_or_404
+from django.shortcuts import render
from django.template.loader import render_to_string
-from django.conf import settings
-
+from django.urls import reverse
from rest_framework.authtoken.models import Token
from .. import __version__
-from ..common.models import Shareable
from ..accounts.models import Profile
from ..accounts.models import SupervisionTrack
from ..accounts.models import TemporaryUrl
+from ..common.models import Shareable
from ..utils import mail
-
from .registration.forms import BlockedUserRevalidationForm
-import datetime
-
try:
from urlparse import urlparse
except ImportError:
@@ -75,6 +73,7 @@ def index(request):
# ----------------------------------------------------------
+
class LoginView(auth_views.LoginView):
def post(self, request, *args, **kwargs):
authentication_match = False
@@ -88,7 +87,9 @@ class LoginView(auth_views.LoginView):
authentication_match = user.check_password(request.POST["password"])
if authentication_match and user.profile.status == Profile.BLOCKED:
- reactivation_url = request.build_absolute_uri(reverse('blocked_user_reactivation'))
+ reactivation_url = request.build_absolute_uri(
+ reverse("blocked_user_reactivation")
+ )
context = {
"user": user,
"reactivation_url": reactivation_url,
@@ -225,16 +226,16 @@ def blocked_user_reactivation(request):
def gather_contributions(requestor, author):
"""Gather contributions that are accessible to a certain requestor"""
- from ..experiments.models import Experiment
- from ..toolchains.models import Toolchain
from ..algorithms.models import Algorithm
- from ..libraries.models import Library
- from ..dataformats.models import DataFormat
- from ..team.models import Team
from ..attestations.models import Attestation
- from ..reports.models import Report
+ from ..dataformats.models import DataFormat
+ from ..experiments.models import Experiment
+ from ..libraries.models import Library
from ..plotters.models import Plotter
+ from ..reports.models import Report
from ..search.models import Search
+ from ..team.models import Team
+ from ..toolchains.models import Toolchain
experiments = Experiment.objects.for_user(requestor).filter(author=author)
toolchains = Toolchain.objects.for_user(requestor).filter(author=author)
@@ -277,7 +278,8 @@ def activity_stream(request, author_name):
author = get_object_or_404(User, username=author_name)
# gather leaderboards for the following conditions:
- from ..search.models import Search, Leaderboard
+ from ..search.models import Leaderboard
+ from ..search.models import Search
if request.user == author:
# 1. request.user == author AND user is subscribed