From e067b6949810cd523ceaa866bba1ff94004e429c Mon Sep 17 00:00:00 2001 From: Martastain Date: Wed, 21 Oct 2020 12:47:35 +0200 Subject: [PATCH] Updated to 5.31 --- cli/l.py | 36 ++- hub/__init__.py | 25 ++- hub/static/img/android-chrome-192x192.png | Bin 30789 -> 0 bytes hub/static/img/android-chrome-512x512.png | Bin 178339 -> 0 bytes hub/static/img/apple-touch-icon.png | Bin 27733 -> 0 bytes hub/static/img/browserconfig.xml | 9 - hub/static/img/favicon-16x16.png | Bin 1239 -> 0 bytes hub/static/img/favicon-32x32.png | Bin 2238 -> 0 bytes hub/static/img/favicon.ico | Bin 12014 -> 0 bytes hub/static/img/logo-wide.svg | 228 ------------------- hub/static/img/safari-pinned-tab.svg | 27 --- hub/static/js/assets.js | 42 ---- hub/static/js/common.js | 51 ----- hub/static/js/detail.js | 98 -------- hub/static/js/jobs.js | 152 ------------- hub/static/js/services.js | 93 -------- hub/static/site.webmanifest | 19 -- hub/templates/_base.html | 55 ----- hub/templates/_clean.html | 3 - hub/templates/_dialog.html | 16 -- hub/templates/assets.html | 101 --------- hub/templates/detail.html | 189 ---------------- hub/templates/error.html | 43 ---- hub/templates/includes/cellformat.html | 59 ----- hub/templates/includes/editor.html | 118 ---------- hub/templates/includes/messages.html | 20 -- hub/templates/includes/navbar.html | 56 ----- hub/templates/includes/pagination.html | 27 --- hub/templates/index.html | 66 ------ hub/templates/jobs.html | 68 ------ hub/templates/login.html | 43 ---- hub/templates/macros.html | 35 --- hub/templates/passreset.html | 83 ------- hub/templates/profile.html | 115 ---------- hub/templates/services.html | 41 ---- hub/templates/settings.html | 34 --- hub/templates/settings/actions.html | 20 -- hub/templates/settings/channels.html | 20 -- hub/templates/settings/cs.html | 36 --- hub/templates/settings/folders.html | 25 --- hub/templates/settings/meta_types.html | 22 -- hub/templates/settings/services.html | 26 --- hub/templates/settings/sessions.html | 38 ---- hub/templates/settings/settings.html | 22 -- hub/templates/settings/storages.html | 22 -- hub/templates/settings/users.html | 31 --- hub/templates/settings/views.html | 18 -- hub/templates/tool.html | 7 - hub/view_assets.py | 1 + hub/view_detail.py | 2 +- hub/view_jobs.py | 13 ++ hub/view_passreset.py | 7 +- nx/api/order.py | 3 +- nx/api/playout.py | 6 +- nx/api/schedule.py | 15 ++ nx/api/send.py | 2 +- nx/helpers.py | 12 +- nx/objects.py | 3 + nx/plugins/playout.py | 4 +- nx/plugins/webtool.py | 6 + nx/storage_monitor.py | 5 +- rex.json | 1 + services/meta/ffprobe.py | 4 + services/play/__init__.py | 68 +++--- services/play/caspar_controller.py | 43 ++-- services/play/conti_controller.py | 111 +++++++++ services/play/vlc_controller.py | 262 ++++++++++++++++++++++ 67 files changed, 542 insertions(+), 2265 deletions(-) delete mode 100644 hub/static/img/android-chrome-192x192.png delete mode 100644 hub/static/img/android-chrome-512x512.png delete mode 100644 hub/static/img/apple-touch-icon.png delete mode 100644 hub/static/img/browserconfig.xml delete mode 100644 hub/static/img/favicon-16x16.png delete mode 100644 hub/static/img/favicon-32x32.png delete mode 100644 hub/static/img/favicon.ico delete mode 100644 hub/static/img/logo-wide.svg delete mode 100644 hub/static/img/safari-pinned-tab.svg delete mode 100644 hub/static/js/assets.js delete mode 100644 hub/static/js/common.js delete mode 100644 hub/static/js/detail.js delete mode 100644 hub/static/js/jobs.js delete mode 100644 hub/static/js/services.js delete mode 100644 hub/static/site.webmanifest delete mode 100644 hub/templates/_base.html delete mode 100644 hub/templates/_clean.html delete mode 100644 hub/templates/_dialog.html delete mode 100644 hub/templates/assets.html delete mode 100644 hub/templates/detail.html delete mode 100644 hub/templates/error.html delete mode 100644 hub/templates/includes/cellformat.html delete mode 100644 hub/templates/includes/editor.html delete mode 100644 hub/templates/includes/messages.html delete mode 100644 hub/templates/includes/navbar.html delete mode 100644 hub/templates/includes/pagination.html delete mode 100644 hub/templates/index.html delete mode 100644 hub/templates/jobs.html delete mode 100644 hub/templates/login.html delete mode 100644 hub/templates/macros.html delete mode 100644 hub/templates/passreset.html delete mode 100644 hub/templates/profile.html delete mode 100644 hub/templates/services.html delete mode 100644 hub/templates/settings.html delete mode 100644 hub/templates/settings/actions.html delete mode 100644 hub/templates/settings/channels.html delete mode 100644 hub/templates/settings/cs.html delete mode 100644 hub/templates/settings/folders.html delete mode 100644 hub/templates/settings/meta_types.html delete mode 100644 hub/templates/settings/services.html delete mode 100644 hub/templates/settings/sessions.html delete mode 100644 hub/templates/settings/settings.html delete mode 100644 hub/templates/settings/storages.html delete mode 100644 hub/templates/settings/users.html delete mode 100644 hub/templates/settings/views.html delete mode 100644 hub/templates/tool.html create mode 100644 services/play/conti_controller.py create mode 100644 services/play/vlc_controller.py diff --git a/cli/l.py b/cli/l.py index 73c68aca..3bc93e60 100644 --- a/cli/l.py +++ b/cli/l.py @@ -46,17 +46,31 @@ def listen(): socket.SO_REUSEADDR, 1 ) - sock.bind(("0.0.0.0", int(config["seismic_port"]))) - sock.setsockopt( - socket.IPPROTO_IP, - socket.IP_MULTICAST_TTL, - 255 - ) - sock.setsockopt( - socket.IPPROTO_IP, - socket.IP_ADD_MEMBERSHIP, - socket.inet_aton(config["seismic_addr"]) + socket.inet_aton("0.0.0.0") - ) + + try: + firstoctet = int(config["seismic_addr"].split(".")[0]) + is_multicast = firstoctet >= 224 + except ValueError: + is_multicast = False + + if is_multicast: + logging.info("Starting multicast listener {}:{}".format(config["seismic_addr"], config["seismic_port"])) + sock.bind(("0.0.0.0", int(config["seismic_port"]))) + sock.setsockopt( + socket.IPPROTO_IP, + socket.IP_MULTICAST_TTL, + 255 + ) + sock.setsockopt( + socket.IPPROTO_IP, + socket.IP_ADD_MEMBERSHIP, + socket.inet_aton(config["seismic_addr"]) + socket.inet_aton("0.0.0.0") + ) + else: + logging.info("Starting unicast listener {}:{}".format(config["seismic_addr"], config["seismic_port"])) + sock.bind((config["seismic_addr"], int(config["seismic_port"]))) + + sock.settimeout(1) while True: diff --git a/hub/__init__.py b/hub/__init__.py index 7a27223b..37a58c27 100644 --- a/hub/__init__.py +++ b/hub/__init__.py @@ -26,16 +26,19 @@ SITE_CSS = [ - "https://static.nebulabroadcast.com/nebula/css/nebula.css", + "/static/css/nebula.css", + "/static/css/gijgo-core.css", + "/static/css/gijgo-datepicker.css", ] SITE_JS = [ - "https://static.nebulabroadcast.com/nebula/js/vendor/jquery.min.js", - "https://static.nebulabroadcast.com/nebula/js/vendor/popper.min.js", - "https://static.nebulabroadcast.com/nebula/js/vendor/bootstrap.min.js", - "https://static.nebulabroadcast.com/nebula/js/vendor/bootstrap-select.min.js", - "https://static.nebulabroadcast.com/nebula/js/vendor/gijgo.min.js", - "https://static.nebulabroadcast.com/nebula/js/vendor/inputmask.min.js", + "/static/js/vendor/jquery.min.js", + "/static/js/vendor/bootstrap.bundle.min.js", + "/static/js/vendor/bootstrap-select.min.js", + "/static/js/vendor/gijgo-core.js", + "/static/js/vendor/gijgo-datepicker.js", + "/static/js/vendor/jquery.inputmask.min.js", + "/static/js/common.js" ] @@ -76,13 +79,15 @@ def user_context_helper(meta): static_dir = config.get( "hub_static_dir", - os.path.join(config["nebula_root"], "hub", "static") + os.path.join(config["nebula_root"], "vendor", "nebula-hub", "dist", "static") ) templates_dir = config.get( "hub_templates_dir", - os.path.join(config["nebula_root"], "hub", "templates") + os.path.join(config["nebula_root"], "vendor", "nebula-hub", "dist", "templates") ) +default_sessions_dir = os.path.join("/tmp", config["site_name"] + "-sessions") + hub_config = { "host" : config.get("hub_host", "0.0.0.0"), "port" : config.get("hub_port", 8080), @@ -92,7 +97,7 @@ def user_context_helper(meta): "site_context_helper" : site_context_helper, "page_context_helper" : page_context_helper, "user_context_helper" : user_context_helper, - "sessions_dir" : os.path.join("/tmp", config["site_name"] + "-sessions"), + "sessions_dir" : config.get("hub_sessions_dir", default_sessions_dir), "sessions_timeout" : 60*24*120, "hash_salt" : config.get("hash_salt", "nebulaissalty"), "blocking" : True, diff --git a/hub/static/img/android-chrome-192x192.png b/hub/static/img/android-chrome-192x192.png deleted file mode 100644 index 9ef847b1376722620c1a37bcfbb68b6897385728..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30789 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%0AB!=*^J8UwqTLjNeYhG**lpe5e-;>p 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 diff --git a/hub/static/img/android-chrome-512x512.png b/hub/static/img/android-chrome-512x512.png deleted file mode 100644 index 0c40f88e90b7819daf14f630f16162bfec2c8ebd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178339 zcmV)7K*zs{P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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≈)Lm`*@dQ90-VCX;-{Fpm} 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%0AFDJAi7?x29`}_&| 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%0DkJZ;e(kz(U<+pf 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 diff --git a/hub/static/img/browserconfig.xml b/hub/static/img/browserconfig.xml deleted file mode 100644 index 748e8459..00000000 --- a/hub/static/img/browserconfig.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - #ff0000 - - - diff --git a/hub/static/img/favicon-16x16.png b/hub/static/img/favicon-16x16.png deleted file mode 100644 index 440ab8140a47465b57b41e133e9305665cf9c08c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1239 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 F{{rdY9LoRz diff --git a/hub/static/img/favicon.ico b/hub/static/img/favicon.ico deleted file mode 100644 index 56609b7bd661e4d2aa98ca14722fafd9aa340f55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12014 zcmeI2_nXw^)yAI)Y?;}aEwg2MZ`*qV7PbLOQ$!GB10sra5K%;=*yt=M0yd;6LSg{~ zTR;PpL2XT0w#QJ4ekPqSQm>N+tOoend^@KlwTR$7B8)_&TCI+Etn8 ztu7x`Q_)jhKB7E6JQ*F9h;W9+!|kz9Yc$v#4KzoCEzv-0B-j=WwnhUjkzjK;&=~SJ zgnV^DZ%x2k?e|ps+*Lj|uhju>ZNO9Gb5(fC60Xv?t0d+uj+Q#YB}Jj)qJX0?P?Yb@ zx4G1gEDe*8eb2l*a^&wojY34<<^TSP+D5(NJ3~%>Tk-jbZTkYK?vT*u-50 z60wz-tK3}{ca_GRCB`^G0aN666!;45u6(f!U<8jXWgPJE^pTYbkl?c3n)05S^3KWx zE;G*J>FqJ`nuZYsL%TRJEU)n}c58|R`dx;P{NNFn;kZh#OXI;f#gS6&Dezz-M}fD% z-fx^s@eEJK0D!*$b47jC=(@_D8f~Ju@Ml;eJUkH{p5~GO|w(FOLmP%A=t)uR{|UO`8aW zkUSE=KCno<79h|tkz3<&m1CbYnImaDkl9z5kA2`znUGoR(~rk$>8*^9!1&toJdO`8 zd=__LkZ^k<(gsfe6A74ugIeREHuDYSfv~?xgOMmR{vzJJF8o#LaaFj>fCPWSDLjz5 z&_}Qr+TH&OPgQ(GGSaR;DIXSKxT!rJYK;Zc82o(v#*nWm?a+85L6^0!4vZF zf9nI@I=`pR@5VlLJ~0ue+Uu;uWx{9tWr7Pl1>oto&j4rPGJ?IMJUW#7BY~E%9~TIF z31@PSepXY^+Yt2fxW*um1QlNwEAb;S@mDin)Zfz(^wbADbsTLglB8rIk24{BE*9oU zuowD>uYq{d{&MifmN$avh9U7V8HRkqgA8-pc@}uUz_S882viym_6ZAez8{7IyIp?} zph6+O2QYOZA7E+%@>=C}C0%9FvJ#0bot*KP;g8F1DErnJKcpxw#40|DrJdw{H3&9gG7~|^?ix+(LP*(?(xH7_# zy4ISA5`f_6M~L?tv5&u!i|eehRtk*}!Gdnq0#!1C>-b{q8zFohNiSB=m$ z3lj;RpyYpT7UEa(8}^^j*>T+Fc(6}FzKfJ7A!aMfx69F0wa98EoKq<- zp+6%f8#@H>5wsB+W3hvKp8lVYKbqVDA z+q$K-JpSfuuk!xuuf96}m%qGz^5n{8cQ#ify@dq^50G31`OX5n)OYPQ!i@?7mk3_+ z9xgKl3!)N7Kq97iBPSdkI_tre_k!^7f&Cx<>5o7B@B^sEjO=h1*i&G%r!WyjGF+m(I;DZ$EA+9h6BymA>=1y znxo{sh`}>?RJTNQI9MMJ8c%@-vJIOp`*F}?eOpM&kh$FJuB4V}Q@2Dy zdv@>o@y8$M&bp;E&#LhNMg!AiHo;Y3$t71b2s48aTbBt*DUx2oev&qa8u}Y;pUI
"; - } else if (rstatus == 0 || rstatus == 5){ - progress = ""; - } else if (rstatus == 3 || rstatus == 4){ - progress = ""; - } else if (rstatus == 2 || rstatus == 6){ - progress = ""; - } - - buttons = "
" - - //TODO: if status in [0,5], disable button - buttons += - ""; - - //TODO: if status in [2,3,4,6] disable button - buttons += - ""; - buttons += "
" - - $("#job-table-body").append( - '' - + rtitle + - '' - + raction + - '' - + rctime + - '' - + rstime + - '' - + retime + - '' - + rstitle + - '' - + progress + - '' - + rmessage + - '' + buttons + '' - ); - } - - }, - contentType: "application/json", - dataType: "json" - }); - -} - - -function seismic_handler(data){ - method = data[3]; - params = data[4]; - if (mode == "active" && !id_asset && method == "job_progress"){ - var table_changed = false; - - $("#job-table-body tr").each(function(){ - if ($(this).attr("data-href") == params["id"]) { - $(".progress-bar", this).css("width", params["progress"] +"%"); - $(".job-message", this).html(params["message"]); - - if ($(this).attr("data-status") != params["status"]) - table_changed = true; - } - }); - - //TODO: reload if there are new jobs - - if (table_changed) - load_jobs(); - } //method == job_progress - -} //seismic_handler - - -$(document).ready(function() { - if (window.history.replaceState) { - window.history.replaceState( null, null, window.location.href ); - } - - $("#btn-clear").click(function(event){ - event.preventDefault(); - $("#input-query").val(""); - $("#form-search").submit(); - }); - - $("#btn-search").click(function(event){ - event.preventDefault(); - $("#form-search").submit - }); - - load_jobs(); - - notify = new seismicNotify(site_name, seismic_handler); - - $("#job-table").on("click", ".job-restart-button", function(){ - $.ajax({ - type: "POST", - url: "/api/jobs", - data: JSON.stringify({"restart" : [$(this).attr("data-href")]}), - processData: false, - success: function(data){ window.location.href = '/jobs/active';}, - contentType: "application/json", - dataType: "json" - }); - }); - - $("#job-table").on("click", ".job-abort-button", function(){ - $.ajax({ - type: "POST", - url: "/api/jobs", - data: JSON.stringify({"abort" : [$(this).attr("data-href")]}), - processData: false, - success: function(data){ window.location.href = '/jobs/active';}, - contentType: "application/json", - dataType: "json" - }); - }); - - -}); diff --git a/hub/static/js/services.js b/hub/static/js/services.js deleted file mode 100644 index c335c7c1..00000000 --- a/hub/static/js/services.js +++ /dev/null @@ -1,93 +0,0 @@ -function seismic_handler(data){ - method = data[3]; - params = data[4]; - if (method == "service_state"){ -// console.log(params); - $("#service-table-body tr").each(function(){ - if ($(this).attr("data-href") == params["id"]) { - label = " "; - buttons = " "; - autostart = " " - - if (params["state"] == 0){ - label="Stopped"; - buttons=""; - } else if (params["state"] == 1) { - label="Running"; - - ts = Date.now() / 1000; - lsbef = ts - params["last_seen"]; - if(lsbef > 60){ - label += " "; - } - - label +=""; - buttons=""; - - - } else if (params["state"] == 2) { - label="Starting"; - buttons=""; - } else if (params["state"] == 3) { - label="Stopping"; - buttons=""; - } else if (params["state"] == 4) { - label="Killing"; - buttons=""; - } - - - if (params["autostart"]) - checked = "CHECKED"; - else - checked = ""; - - autostart = "
" - - $(".service-state-label", this).html(label); - $(".service-autostart", this).html(autostart); - $(".service-actions", this).html(buttons); - } - }); - } //method -} //seismic_handler - - -function toggle_state(id_service, new_state){ - $("#service-table-body tr[data-href='"+id_service+"'] > .service-state-label").html("Working...") - $.ajax({ - type: "POST", - url: "/api/system", - data: "{\"" + new_state + "\" : " + id_service + "}", - processData: false, - success: function(data){ - console.log(data); - $("#service-table-body tr[data-href='"+id_service+"'] > .service-state-label").html("Processing...") - }, - contentType: "application/json", - dataType: "json" - }); -} - - -$(document).ready(function() { - notify = new seismicNotify(site_name, seismic_handler); - $("#service-table").on("click", ".service-toggle-button", function(){ - toggle_state($(this).attr("data-href"), $(this).attr("data-action") ); - }); - - $("#service-table").on("click", ".service-autostart-checkbox", function(){ - $.ajax({ - type: "POST", - url: "/api/system", - data: "{\"autostart\" : " + $(this).attr("data-href") + "}", - processData: false, - success: function(data){ - console.log(data); - }, - contentType: "application/json", - dataType: "json" - }); - }); - -}); diff --git a/hub/static/site.webmanifest b/hub/static/site.webmanifest deleted file mode 100644 index 47a55d50..00000000 --- a/hub/static/site.webmanifest +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "Nebula", - "short_name": "Nebula", - "icons": [ - { - "src": "/static/img/android-chrome-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "/static/img/android-chrome-512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "theme_color": "#2a2e30", - "background_color": "#2a2e30", - "display": "standalone" -} diff --git a/hub/templates/_base.html b/hub/templates/_base.html deleted file mode 100644 index 48b501ce..00000000 --- a/hub/templates/_base.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - {{ page.title }} - {{ site.name }} - - {% for stylesheet in site.css %} - - {% endfor %} - - {% for stylesheet in page.css %} - - {% endfor %} - - - - - - - - - - - - {% import "macros.html" as macro %} - - {% if user.id %} - {% include "includes/navbar.html" %} - {% block header %}{% endblock %} - {% endif %} - - {% if page.name != "error" %} -
- {% endif %} - -
- {% include "includes/messages.html" %} - {% block content %}{% endblock %} -
- - {% for script in site.js %} - - {% endfor %} - - {% for script in page.js %} - - {% endfor %} - - diff --git a/hub/templates/_clean.html b/hub/templates/_clean.html deleted file mode 100644 index dc8460ae..00000000 --- a/hub/templates/_clean.html +++ /dev/null @@ -1,3 +0,0 @@ -{% block content %} -{% endblock %} - diff --git a/hub/templates/_dialog.html b/hub/templates/_dialog.html deleted file mode 100644 index e7ba4b3e..00000000 --- a/hub/templates/_dialog.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - diff --git a/hub/templates/assets.html b/hub/templates/assets.html deleted file mode 100644 index 0dcb72bd..00000000 --- a/hub/templates/assets.html +++ /dev/null @@ -1,101 +0,0 @@ -{% extends "_base.html" %} - - -{% block header %} - -{% endblock %} - - -{% block content %} - - - - {% for column in page.columns %} - 1 or site.meta_types[column]["ns"] != "m" %} class="min"{% endif %}> - - {{ site.meta_types[column].header(lang=site["language"]) }} - - {% if page.order_key == column %} -   - {% if page.order_trend == "asc" %} - - {% else %} - - {% endif %} - {% endif %} - - - {% endfor %} - - - - - {% for asset in page.assets %} - - {% for key in page.columns %} - - {% include "includes/cellformat.html" %} - - {% endfor %} - - {% endfor %} - -
- - -{% if page.page_count > 1 or page.current_page > 1 %} - {% include "includes/pagination.html" %} -{% endif %} - - -{% endblock %} diff --git a/hub/templates/detail.html b/hub/templates/detail.html deleted file mode 100644 index 50986438..00000000 --- a/hub/templates/detail.html +++ /dev/null @@ -1,189 +0,0 @@ -{% extends "_base.html" %} - -{% block header %} - - -{% endblock %} - - - - - - -{% block content %} - - - -
- -
- - - - -
-
-
-
- {% include "includes/editor.html" %} -
- -
- - {% for key in page["extended_keys"] %} - - - - - {% endfor%} -
{{ page.asset.meta_types[key].alias() | replace(" ", " ") }}{{ page.asset.show(key) }}
-
{# tab-extended #} - -
- - {% for key in page["technical_keys"] %} - - - - - {% endfor%} -
{{ page.asset.meta_types[key].alias() | replace(" ", " ") }}{{ page.asset.show(key) }}
-
{# tab-technical #} -
{# tabs #} -
{# meta column #} - -
-
- -
-
-
- -{% endblock %} diff --git a/hub/templates/error.html b/hub/templates/error.html deleted file mode 100644 index c895c4db..00000000 --- a/hub/templates/error.html +++ /dev/null @@ -1,43 +0,0 @@ -{% extends "_base.html" %} - -{% block header %} -{% endblock %} - -{% block content %} -
-
-

ERROR {{ page.response_code }}

-

- {{ page.message }} -

- {% if page.traceback and user.is_admin %} -
-

- -

- {% endif %} -
-
- - -{% if page.traceback and user.is_admin %} -
-
-
-
-
-            {{ page.traceback }}
-            
-
-
-
-
-{% endif %} - -{% endblock %} - - - - diff --git a/hub/templates/includes/cellformat.html b/hub/templates/includes/cellformat.html deleted file mode 100644 index 235cab77..00000000 --- a/hub/templates/includes/cellformat.html +++ /dev/null @@ -1,59 +0,0 @@ -{% if key == "title" %} - - {% if asset["status"] == 0 %} {# OFFLINE #} -   - {% elif asset["status"] == 4 %} {# ARCHIVED #} -   - {% elif asset["status"] == 3 %} {# TRASHED #} -   - {% elif asset["status"] in [2, 5, 11] %} {# creating, reset, retrieving #} -   - {% endif %} - - - {{ asset.show(key) }} - - -{% elif key == "id_folder" %} - - - {{ site.folders[asset[key]].title }} - - -{% elif key == "content_type " %} - - {% if asset["content_type"] == 1 %} {# AUDIO #} - - {% elif asset["content_type"] == 2 %} {# VIDEO #} - - {% elif asset["content_type"] == 3 %} {# IMAGE #} - - {% elif asset["content_type"] == 4 %} {# TEXT #} - - {% elif asset["content_type"] == 5 %} {# DATABROADCASTING #} - - {% elif asset["content_type"] == 6 %} {# INTERSTITIAL #} - - {% elif asset["content_type"] == 7 %} {# EDUCATION #} - - {% elif asset["content_type"] == 8 %} {# APPLICATION #} - - {% elif asset["content_type"] == 9 %} {# GAME #} - - {% elif asset["content_type"] == 10 %} {# PACKAGE #} - - {% endif %} - -{% elif key == "qc/state" %} - - {% if asset["qc/state"] == 0 %} - - {% elif asset["qc/state"] == 3 %} - - {% elif asset["qc/state"] == 4 %} - - {% endif %} - -{% else %} - {{ asset.show(key) }} -{% endif %} diff --git a/hub/templates/includes/editor.html b/hub/templates/includes/editor.html deleted file mode 100644 index 4cc33733..00000000 --- a/hub/templates/includes/editor.html +++ /dev/null @@ -1,118 +0,0 @@ -{% if page.new_asset %} -
-{% else %} - -{% endif %} - - - - -{% if page.asset.status == 0 %} - -{% endif %} - - -{% for key, key_config in page.main_keys %} -
- - - -
- {% set key_class = page.asset.meta_types[key]["class"] %} - {% if key_class == 0 %} {# string #} - - - - {% elif key_class == 1 %} {# text#} - - - - {% elif key_class == 2 %} {# integer #} - - - - {% elif key_class == 3 %} {# numeric #} - - - - {% elif key_class == 4 %} {# boolean #} - -
- -
- - {% elif key_class == 5 %} {# datetime #} - {% if page.asset.meta_types[key]["mode"] == "date" %} - - {% else %} - {{ page.asset.meta_types[key]["mode"] }} is not supported yet - {% endif %} - - {% elif key_class == 6 %} {# timecode #} - {{ page.asset.show(key) }} - - {% elif key_class == 7 %} {# regions #} - {{ page.asset.show(key) }} - - {% elif key_class == 8 %} {# fraction #} - {{ page.asset.show(key) }} - - {% elif key_class in (9, 10) %} {# select #} - - - {% elif key_class == 11 %} {# color #} - {{ page.asset.show(key) }} - - {%endif%} -
-
-{% endfor %} -
diff --git a/hub/templates/includes/messages.html b/hub/templates/includes/messages.html deleted file mode 100644 index 3c0f2bfb..00000000 --- a/hub/templates/includes/messages.html +++ /dev/null @@ -1,20 +0,0 @@ -{% if messages %} -
- {% for message, level in messages %} - {% if level == "info" %} - {% set color = "info" %} - {% elif level == "error" %} - {% set color = "danger" %} - {% elif level == "warning" %} - {% set color = "warning" %} - {% endif %} - - {% endfor %} -
-{% endif %} - diff --git a/hub/templates/includes/navbar.html b/hub/templates/includes/navbar.html deleted file mode 100644 index 27de32a3..00000000 --- a/hub/templates/includes/navbar.html +++ /dev/null @@ -1,56 +0,0 @@ - diff --git a/hub/templates/includes/pagination.html b/hub/templates/includes/pagination.html deleted file mode 100644 index bbafa8a4..00000000 --- a/hub/templates/includes/pagination.html +++ /dev/null @@ -1,27 +0,0 @@ -
-
- {% if page.current_page > 1 %} - - - - {% else %} - - {% endif %} - - PAGE {{ page.current_page }} - - {% if page.current_page < page.page_count %} - - - - {% else %} - - {% endif %} -
-
diff --git a/hub/templates/index.html b/hub/templates/index.html deleted file mode 100644 index b46d7d71..00000000 --- a/hub/templates/index.html +++ /dev/null @@ -1,66 +0,0 @@ -{% extends "_base.html" %} - - -{% block header %} -{% endblock %} - -{% block content %} -
- - -
-{% call macro.card('Objects', 'fas fa-cubes') %} - {% for object_type in page.object_counts %} -
- {{ object_type }}  - {{ "{0:,}".format(page.object_counts[object_type]) }} -
- {% endfor %} -{% endcall %} -
- -
-{% call macro.card('Storage utilization', 'fas fa-database') %} -{% for storage in page.storages %} -

- {{ storage.title }} ({{ storage["free"] | filesizeformat }} of {{ storage["total"] | filesizeformat }} free) - {{ macro.sysload_bar(storage["total"], storage["free"]) }} -

-{% endfor %} -{% endcall %} -
- - -
- - -
-{% for hostname in page.hosts %}{% set host = page.hosts[hostname] %} -
-{% call macro.card(hostname, 'fas fa-server') %} -

- CPU - {{ macro.sysload_bar(host.cpu) }} -

-

- MEM ({{ host.mem_free | filesizeformat }} of {{ host.mem_total | filesizeformat }} free) - {{ macro.sysload_bar(host.mem_total, host.mem_free) }} -

- {% if host.swp_total and host.swp_free < host.swp_total %} -

- SWP ({{ host.swp_free | filesizeformat }} of {{ host.swp_total | filesizeformat }} free) - {{ macro.sysload_bar(host.swp_total, host.swp_free) }} -

- {% endif %} -

- Root FS ({{ host.root_free | filesizeformat }} of {{ host.root_total | filesizeformat }} free) - {{ macro.sysload_bar(host.root_total, host.root_free) }} -

-{% endcall %} -
-{% endfor %} - -
- -{% endblock %} - diff --git a/hub/templates/jobs.html b/hub/templates/jobs.html deleted file mode 100644 index a6778542..00000000 --- a/hub/templates/jobs.html +++ /dev/null @@ -1,68 +0,0 @@ -{% extends "_base.html" %} - -{% block header %} - -{% endblock %} - -{% block content %} - - - - - - - - - - - - - - - - - - - - - -
TitleActionCreatedStartedFinishedServiceProgressMessage 
-{% endblock %} - diff --git a/hub/templates/login.html b/hub/templates/login.html deleted file mode 100644 index 2df0a990..00000000 --- a/hub/templates/login.html +++ /dev/null @@ -1,43 +0,0 @@ -{% extends "_base.html" %} - -{% block header %} -{% endblock %} - -{% block content %} -
-
- -

{{ site.name }}

-
-
- -
- - -
- -
- - -
- {% if page.error %} -

- {{ page.error }} -

- {% endif %} - -
- -
-
- - -
- - - -{% endblock %} diff --git a/hub/templates/macros.html b/hub/templates/macros.html deleted file mode 100644 index 4369a0ce..00000000 --- a/hub/templates/macros.html +++ /dev/null @@ -1,35 +0,0 @@ -{% macro card(title='', icon='') -%} -
- {% if title %} -
- {% if icon %} -   - {% endif %} - {{ title }} -
- {% endif %} -
- {{ caller() }} -
-
-{%- endmacro %} - - -{% macro sysload_bar(total, free=-1) -%} -
- {% if free == -1 %} - {% set percentage = total %} - {% else %} - {% set percentage = 100*((total-free)/total ) %} - {% endif %} - - {% if percentage < 60 %} - {% set bg = "bg-success" %} - {% elif percentage < 90 %} - {% set bg = "bg-warning" %} - {% else %} - {% set bg = "bg-danger" %} - {% endif %} -
-
-{%- endmacro %} diff --git a/hub/templates/passreset.html b/hub/templates/passreset.html deleted file mode 100644 index 0d865596..00000000 --- a/hub/templates/passreset.html +++ /dev/null @@ -1,83 +0,0 @@ -{% extends "_base.html" %} - -{% block header %} -{% endblock %} - -{% block content %} - -
-
-

Password reset

-
- - {% if page.mode == "email-entry" %} -

- Enter the email address you used when creating the account and click Send Password Reset Email. A message will be sent to that address containing a link to reset your password. -

-

- For security reasons the link can only be used for one hour. You are also limited to request one link per hour. If you do not receive your email within five minutes check your spam folder. -

- -
- -
-
- - -
- -
- -
-
- - - {% elif page.mode == "pass-entry" %} - -

- Choose new password. Secure please. It's quite important. -

- -
- - - -
- - -
-
- - - - Your password must be at least 8 characters long, and should contain letters and numbers and special characters (no emoji). - Be aware that weak password may compromise station's security! - -
- -
- -
-
- - {% elif page.mode == "finished" %} - -

- Your password has been reset. You will be redirected to the login page now. -

- -

- If not, click here. -

- - - - {% endif %} - -
-{% endblock %} - diff --git a/hub/templates/profile.html b/hub/templates/profile.html deleted file mode 100644 index 6689fec0..00000000 --- a/hub/templates/profile.html +++ /dev/null @@ -1,115 +0,0 @@ -{% extends "_base.html" %} - -{% block content %} -
-
- -{% call macro.card('User profile', 'fas fa-user') %} -
- - -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- - - Password must be at least 8 characters long, and should contain letters and numbers and special characters (no emoji). - Be aware that weak password may compromise station's security! - -
-
- -
-
- -
-
-
- - {% if not user.is_admin %} -

For security reasons, users are not allowed to modify their login name or e-mail address. To change these values, please contact one of your system administrators:

- - {% endif %} -{% endcall %} -
{# col #} - - -
- -{% call macro.card('Access rights', 'fas fa-lock') %} - {% if page.user.is_admin %} -

An administrator of {{ site.site_name }}

- {% else %} - - - {% for right, title, subset in page.rights %} - - - - - {% endfor %} -
{{ title }} - {% if page.user["can/"+right] == 1 %} - - Full access - - {% elif not page.user["can/"+right] %} - No access - {% else %} - {% for k in site[subset] %} - {% if page.user.has_right(right, k) %} - - {{ site[subset][k]["title"] }} - - {% endif %} - {% endfor%} - {% endif %} -
- - {% endif%} -{% endcall %} - -
{# col#} -
{# row #} -{% endblock %} - diff --git a/hub/templates/services.html b/hub/templates/services.html deleted file mode 100644 index 8ed3fc3f..00000000 --- a/hub/templates/services.html +++ /dev/null @@ -1,41 +0,0 @@ -{% extends "_base.html" %} - -{% block header %} -{% endblock%} - -{% block content %} - - - - - - - - - - - - - - {% for service in page.data %} - - - - - - - - - - {% endfor %} - -
#TitleService typeHostAutostartStateAction
{{ service["id"] }}{{ service["title"] }}{{ service["service_type"] }}{{ service["host"] }} - - Please wait... - - -
- - -{% endblock %} - diff --git a/hub/templates/settings.html b/hub/templates/settings.html deleted file mode 100644 index f8e90028..00000000 --- a/hub/templates/settings.html +++ /dev/null @@ -1,34 +0,0 @@ -{% extends "_base.html" %} - -{% block header %} - -{% endblock %} - - -{% block content %} - {% include "settings/" + page.module + ".html" %} -{% endblock %} - diff --git a/hub/templates/settings/actions.html b/hub/templates/settings/actions.html deleted file mode 100644 index 375acac8..00000000 --- a/hub/templates/settings/actions.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - {% for id in page.data %} - - - - - - {% endfor %} - - -
#TitleService type
{{ id }}{{ page.data[id]["title"] }}{{ page.data[id]["service_type"] }}
diff --git a/hub/templates/settings/channels.html b/hub/templates/settings/channels.html deleted file mode 100644 index 54bced42..00000000 --- a/hub/templates/settings/channels.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - {% for id in page.data | sort %} - - - - - - {% endfor %} - - -
#NameEngine
{{ id }}{{ page.data[id]["title"] }}{{ page.data[id]["engine"] }}
diff --git a/hub/templates/settings/cs.html b/hub/templates/settings/cs.html deleted file mode 100644 index 861b7e9f..00000000 --- a/hub/templates/settings/cs.html +++ /dev/null @@ -1,36 +0,0 @@ - -{% if page.cs %} -
-

{{ page.cs }}

-
- - - - - - - - - - {% for value, settings in page.data %} - - - - - - {% endfor %} - -
ValueAliasDescription
{{ value }}{{ settings.get("aliases", {"en" : value })["en"] }}{{ settings.get("description", {"en" : ""})["en"] }}
- -{% else %} - - - - {% for cs in page.data %} - - - - {% endfor %} - -
{{ cs }}
-{% endif %} diff --git a/hub/templates/settings/folders.html b/hub/templates/settings/folders.html deleted file mode 100644 index d45fb54b..00000000 --- a/hub/templates/settings/folders.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - {% for id in page.data | sort %} - - - - - - {% endfor %} - - -
#ColorTitle
{{ id }} - {% set color = "#%06x" % page.data[id]["color"] %} - - {{ color }} - - {{ page.data[id]["title"] }}
diff --git a/hub/templates/settings/meta_types.html b/hub/templates/settings/meta_types.html deleted file mode 100644 index 2aad2685..00000000 --- a/hub/templates/settings/meta_types.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - {% for key in page.data | sort %} - - - - - - - {% endfor %} - - -
KeyAliasColumn headerDescription
{{ key }}{{ page.data[key]["aliases"]["en"][0] }}{{ page.data[key]["aliases"]["en"][1] }}{{ page.data[key]["aliases"]["en"][2] }}
diff --git a/hub/templates/settings/services.html b/hub/templates/settings/services.html deleted file mode 100644 index ba4191af..00000000 --- a/hub/templates/settings/services.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - {% for id in page.data %} - - - - - - - - - {% endfor %} - - -
#Service typeHostTitleAutostartLoop delay
{{ id }}{{ page.data[id]["service_type"] }}{{ page.data[id]["host"] }}{{ page.data[id]["title"] }}{{ page.data[id]["autostart"] }}{{ page.data[id]["loop_delay"] }}
diff --git a/hub/templates/settings/sessions.html b/hub/templates/settings/sessions.html deleted file mode 100644 index 99107c39..00000000 --- a/hub/templates/settings/sessions.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - {% for id in page.data %} - - - - - - - - {% endfor %} - - - -
#LoginValid untilIPUser agent
- {% if session_id == id %} - - {% else %} - - - {% endif %} - {{ page.data[id]["login"] }}{{ page.data[id]["valid_until"] | format_time }}{{ page.data[id]["ip"] }}{{ page.data[id]["user_agent"] }}
- diff --git a/hub/templates/settings/settings.html b/hub/templates/settings/settings.html deleted file mode 100644 index f069cdfa..00000000 --- a/hub/templates/settings/settings.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - {% for key in page.data | sort %} - - - {% if key.find("pass") > -1 %} - - {% else %} - - {% endif %} - - {% endfor %} - - -
KeyValue
{{ key }}*******{{ page.data[key] }}
diff --git a/hub/templates/settings/storages.html b/hub/templates/settings/storages.html deleted file mode 100644 index f759b2b4..00000000 --- a/hub/templates/settings/storages.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - {% for id in page.data %} - - - - - - - {% endfor %} - - -
#TitleProtocolPath
{{ id }}{{ page.data[id]["title"] }}{{ page.data[id]["protocol"] }}{{ page.data[id]["path"] }}
diff --git a/hub/templates/settings/users.html b/hub/templates/settings/users.html deleted file mode 100644 index 0d741f1e..00000000 --- a/hub/templates/settings/users.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - {% for user in page.data %} - - - - - - - - {% endfor %} - - -
#RolesLoginFull nameE-mail
{{ user.id }} - {% if user["is_admin"] %} - - {% endif %} - {% if user["is_disabled"] %} - - {% endif %} - {{ user["login"] }}{{ user["full_name"] }}{{ user["email"] }}
diff --git a/hub/templates/settings/views.html b/hub/templates/settings/views.html deleted file mode 100644 index 11ed9c90..00000000 --- a/hub/templates/settings/views.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - {% for id in page.data | sort %} - - - - - {% endfor %} - - -
#Title
{{ id }}{{ page.data[id]["title"] }}
diff --git a/hub/templates/tool.html b/hub/templates/tool.html deleted file mode 100644 index fd9de034..00000000 --- a/hub/templates/tool.html +++ /dev/null @@ -1,7 +0,0 @@ -{% extends "_base.html" %} - -{% block content %} -{{ page.body }} -{% endblock %} - - diff --git a/hub/view_assets.py b/hub/view_assets.py index 9a81ebbd..4d17beae 100644 --- a/hub/view_assets.py +++ b/hub/view_assets.py @@ -64,6 +64,7 @@ def get_params(**override): return "&".join(["{}={}".format(k, data[k]) for k in data]) + self["show_jobs"] = config.get("hub_browser_jobs_column", True) self["name"] = "assets" self["title"] = config["views"][id_view]["title"] self["js"] = ["/static/js/assets.js"] diff --git a/hub/view_detail.py b/hub/view_detail.py index d318b701..f89ee441 100644 --- a/hub/view_detail.py +++ b/hub/view_detail.py @@ -87,7 +87,7 @@ def build(self, *args, **kwargs): self["name"] = "detail" self["title"] = "Asset detail" self["js"] = [ - "https://static.nebulabroadcast.com/nebula/js/vendor/resumable.js", + "/static/js/vendor/resumable.js", "/static/js/detail.js" ] diff --git a/hub/view_jobs.py b/hub/view_jobs.py index 26a0e9d8..baa522ab 100644 --- a/hub/view_jobs.py +++ b/hub/view_jobs.py @@ -43,11 +43,24 @@ def build(self, *args, **kwargs): id_asset = id_action = 0 # do not use filter: show all active jobs to see queue + if id_asset: + db = DB() + asset = Asset(id_asset, db=db) + actions = api_actions( + user=self["user"], + db=db, + ids=[id_asset] + ) + else: + actions = NebulaResponse(404) + asset = False self["name"] = "jobs" self["js"] = ["/static/js/jobs.js"] self["title"] = mode.capitalize() + " jobs" self["mode"] = mode self["id_asset"] = id_asset + self["asset"] = asset + self["actions"] = actions.data if actions.is_success else [] self["id_action"] = id_asset self["query"] = query diff --git a/hub/view_passreset.py b/hub/view_passreset.py index ef262489..65cc3c02 100644 --- a/hub/view_passreset.py +++ b/hub/view_passreset.py @@ -13,8 +13,8 @@ {hub_url}/passreset?token={token} -Thanks again for using Nebula, and if you have any questions, -please contact support@nebulabroadcast.com or your system administrator. +Thank you for using Nebula, and if you have any questions, +please contact your system administrator. Sincerely, @@ -82,8 +82,7 @@ def build(self, *args, **kwargs): user.save() - self.context.message("Password reset link has been sent to your email") - self["mode"] = False + self["mode"] = "mail-sent" return # diff --git a/nx/api/order.py b/nx/api/order.py index 796b3881..8b179432 100644 --- a/nx/api/order.py +++ b/nx/api/order.py @@ -55,7 +55,8 @@ def api_order(**kwargs): continue if not item["id_bin"] in affected_bins: - affected_bins.append(item["id_bin"]) + if item["id_bin"]: + affected_bins.append(item["id_bin"]) elif object_type == "asset": asset = Asset(id_object, db=db) diff --git a/nx/api/playout.py b/nx/api/playout.py index 456e746e..9596aa7d 100644 --- a/nx/api/playout.py +++ b/nx/api/playout.py @@ -25,7 +25,9 @@ def api_playout(**kwargs): channel_config = config["playout_channels"][id_channel] engine = channel_config.get("engine", "dummy") - if engine == "casparcg": + if engine == "dummy": + return NebulaResponse(200) + else: if not action in [ "cue", "take", @@ -62,6 +64,4 @@ def api_playout(**kwargs): rdata = json.loads(response.text) return rdata - elif engine == "dummy": - return NebulaResponse(200) diff --git a/nx/api/schedule.py b/nx/api/schedule.py index b02b2d46..cfb62a57 100644 --- a/nx/api/schedule.py +++ b/nx/api/schedule.py @@ -14,6 +14,21 @@ def api_schedule(**kwargs): user = kwargs.get("user", anonymous) initiator = kwargs.get("initiator", None) + try: + id_channel = int(id_channel) + except ValueError: + return NebulaResponse(ERROR_BAD_REQUEST, "id_channel must be an integer") + + try: + start_time = int(start_time) + except ValueError: + return NebulaResponse(ERROR_BAD_REQUEST, "start_time must be an integer") + + try: + end_time = int(end_time) + except ValueError: + return NebulaResponse(ERROR_BAD_REQUEST, "end_time must be an integer") + if not id_channel or id_channel not in config["playout_channels"]: return NebulaResponse(ERROR_BAD_REQUEST, "Unknown playout channel ID {}".format(id_channel)) diff --git a/nx/api/send.py b/nx/api/send.py index 4cd5ae39..b7be9ff6 100644 --- a/nx/api/send.py +++ b/nx/api/send.py @@ -38,5 +38,5 @@ def api_send(**kwargs): db=db ) - return NebulaResponse(SUCCESS_ACCEPTED, "Starting {} jobs".format(len(objects))) + return NebulaResponse(SUCCESS_ACCEPTED, "Starting {} job{}".format(len(objects), "s" if len(objects) > 1 else "")) diff --git a/nx/helpers.py b/nx/helpers.py index 381866ac..231cede6 100644 --- a/nx/helpers.py +++ b/nx/helpers.py @@ -161,7 +161,8 @@ def get_next_item(item, **kwargs): def bin_refresh(bins, **kwargs): - if not [b for b in bins if b]: + bins = [b for b in bins if b] + if not bins: return True db = kwargs.get("db", DB()) sender = kwargs.get("sender", False) @@ -206,15 +207,20 @@ def bin_refresh(bins, **kwargs): def send_mail(to, subject, body, **kwargs): if type(to) in string_types: to = [to] - reply_address = kwargs.get("from", "Nebula <{}@nebulabroadcast.com>".format(config["site_name"])) + default_reply_address = config.get("mail_from", "Nebula <{}@nebulabroadcast.com>".format(config["site_name"])) + reply_address = kwargs.get("from", default_reply_address) smtp_host = config.get("smtp_host", "localhost") + smtp_port = config.get("smtp_port", 0) smtp_user = config.get("smtp_user", False) smtp_pass = config.get("smtp_pass", False) msg = MIMEText(body) msg['Subject'] = subject msg['From'] = reply_address msg['To'] = ",".join(to) - s = smtplib.SMTP(smtp_host) + if config.get("smtp_ssl", False): + s = smtplib.SMTP_SSL(smtp_host, port=smtp_port) + else: + s = smtplib.SMTP(smtp_host, port=smtp_port) if smtp_user and smtp_pass: s.login(smtp_user, smtp_pass) s.sendmail(reply_address, [to], msg.as_string()) diff --git a/nx/objects.py b/nx/objects.py index 0561bed4..061c699e 100644 --- a/nx/objects.py +++ b/nx/objects.py @@ -153,6 +153,9 @@ def event(self): self.db.query("SELECT meta FROM events WHERE id_magic=%s", [self.id]) #TODO: playout only try: self._event = Event(meta=self.db.fetchall()[0][0]) + except IndexError: + logging.error("Unable to get {} event".format(self)) + self._event = False except Exception: log_traceback() self._event = False diff --git a/nx/plugins/playout.py b/nx/plugins/playout.py index 17b9f1fb..801fff17 100644 --- a/nx/plugins/playout.py +++ b/nx/plugins/playout.py @@ -21,11 +21,11 @@ def title(self): class PlayoutPlugin(object): def __init__(self, service): self.service = service - self.id_layer = self.service.caspar_feed_layer + 1 self.playout_dir = os.path.join( storages[self.channel_config["playout_storage"]].local_path, self.channel_config["playout_dir"] ) + self.id_layer = 0 self.slots = [] self.tasks = [] self.on_init() @@ -89,7 +89,7 @@ def main(self): def layer(self, id_layer=False): if not id_layer: id_layer = self.id_layer - return "{}-{}".format(self.service.caspar_channel, id_layer) + return "{}-{}".format(self.service.controller.caspar_channel, id_layer) def query(self, query): return self.service.controller.query(query) diff --git a/nx/plugins/webtool.py b/nx/plugins/webtool.py index 530c2c74..a1f01af0 100644 --- a/nx/plugins/webtool.py +++ b/nx/plugins/webtool.py @@ -16,6 +16,7 @@ def __init__(self, view, name): self.name = name self["name"] = self.title + def render(self, template): import jinja2 tpl_dir = os.path.join(get_plugin_path("webtools"), self.name) @@ -28,6 +29,11 @@ def render(self, template): template = jinja.get_template("{}.html".format(template)) return template.render(**self.context) + def set_template(self, name): + tpl_dir = os.path.join(get_plugin_path("webtools"), self.name) + self.view.template_path = os.path.join(tpl_dir, "{}.html".format(name)) + + def __getitem__(self, key): return self.view[key] diff --git a/nx/storage_monitor.py b/nx/storage_monitor.py index 245ae2e3..5a649d73 100644 --- a/nx/storage_monitor.py +++ b/nx/storage_monitor.py @@ -71,8 +71,7 @@ def main(self): def mount(self, storage): - protocol = storage["protocol"] - if protocol == "samba": + if storage["protocol"] == "samba": smbopts = {} if storage.get("login"): smbopts["user"] = storage["login"] @@ -94,7 +93,7 @@ def mount(self, storage): cmd = "mount.cifs {} {}{}".format(storage["path"], storage.local_path, opts) - elif protocol == 'nfs': + elif storage["protocol"] == "nfs": executable = "mount.nfs" cmd = "mount.nfs {} {}".format(storage["path"], storage.local_path) diff --git a/rex.json b/rex.json index 9fb53c51..19f82da0 100644 --- a/rex.json +++ b/rex.json @@ -5,5 +5,6 @@ "https://github.com/immstudios/themis2" : {"python-path" : true}, "https://github.com/immstudios/python-osc" : {"python-path" : true}, "https://github.com/nebulabroadcast/nebula-core" : {"python-path" : true}, + "https://github.com/nebulabroadcast/nebula-hub" : {"python-path" :false}, "https://github.com/martastain/casparcg-infoparser" : {"python-path" : true} } diff --git a/services/meta/ffprobe.py b/services/meta/ffprobe.py index f5e4077e..4d03c5fc 100644 --- a/services/meta/ffprobe.py +++ b/services/meta/ffprobe.py @@ -117,6 +117,10 @@ def __call__(self, asset): # We already have a video track with a duration continue + if stream["disposition"].get("attached_pic", 0) == 1: + meta["thumbnail_track"] = stream["index"] + continue + # Frame rate detection fps_n, fps_d = [float(e) for e in stream["r_frame_rate"].split("/")] meta["video/fps_f"] = fps_n / fps_d diff --git a/services/play/__init__.py b/services/play/__init__.py index 31ad632d..2cd0ee80 100644 --- a/services/play/__init__.py +++ b/services/play/__init__.py @@ -14,6 +14,18 @@ } class Service(BaseService): + def create_controller(self): + engine = self.channel_config.get("engine") + if engine == "vlc": + # Delay import since libvlc might not be available. + from .vlc_controller import VlcController + return VlcController(self) + elif engine == "conti": + from .conti_controller import ContiController + return ContiController(self) + else: + return CasparController(self) + def on_init(self): if not config["playout_channels"]: logging.error("No playout channel configured") @@ -28,11 +40,7 @@ def on_init(self): self.channel_config = config["playout_channels"][self.id_channel] - self.caspar_host = self.channel_config.get("caspar_host", "localhost") - self.caspar_port = int(self.channel_config.get("caspar_port", 5250)) - self.caspar_channel = int(self.channel_config.get("caspar_channel", 1)) - self.caspar_feed_layer = int(self.channel_config.get("caspar_feed_layer", 10)) - self.fps = float(self.channel_config.get("fps", 25.0)) + self.fps = float(self.channel_config.get("fps", 25.0)) self.current_asset = Asset() self.current_event = Event() @@ -44,7 +52,7 @@ def on_init(self): self.status_key = "playout_status/{}".format(self.id_channel) self.plugins = PlayoutPlugins(self) - self.controller = CasparController(self) + self.controller = self.create_controller() self.last_info = 0 try: @@ -107,7 +115,13 @@ def cue(self, **kwargs): asset = item.asset playout_status = asset.get(self.status_key, DEFAULT_STATUS)["status"] - if playout_status not in [ONLINE, CREATING, UNKNOWN]: + kwargs['fname'] = None + if playout_status in [ONLINE, CREATING, UNKNOWN]: + kwargs['fname'] = asset.get_playout_name(self.id_channel) + kwargs['full_path'] = asset.get_playout_full_path(self.id_channel) + elif self.channel_config.get('allow_remote') and asset['status'] in (ONLINE,): + kwargs['fname'] = kwargs['full_path'] = asset.file_path + else: return NebulaResponse(404, "Unable to cue {} playout file ".format(get_object_state_name(playout_status))) kwargs["mark_in"] = item["mark_in"] @@ -121,7 +135,7 @@ def cue(self, **kwargs): kwargs["loop"] = bool(item["loop"]) self.cued_live = False - return self.controller.cue(asset.get_playout_name(self.id_channel), item, **kwargs) + return self.controller.cue(item=item, **kwargs) def cue_forward(self, **kwargs): @@ -222,26 +236,22 @@ def plugin_exec(self, **kwargs): @property def playout_status(self): - - #TODO: Rewrite to be nice - data = {} - data["id_channel"] = self.id_channel - data["current_item"] = self.controller.current_item.id if self.controller.current_item else False - data["cued_item"] = self.controller.cued_item.id if self.controller.cued_item else False - data["position"] = self.controller.position - data["duration"] = self.controller.duration - data["current_title"] = self.controller.current_item["title"] if self.controller.current_item else "(no clip)" - data["cued_title"] = self.controller.cued_item["title"] if self.controller.cued_item else "(no clip)" - data["request_time"] = self.controller.request_time - data["paused"] = self.controller.paused - data["cueing"] = self.controller.cueing - data["id_event"] = self.current_event.id if self.current_event else False - data["fps"] = self.fps - data["stopped"] = False #TODO: deprecated. remove - - data["current_fname"] = self.controller.current_fname - data["cued_fname"] = self.controller.cued_fname - return data + return { + "id_channel" : self.id_channel, + "current_item" : self.controller.current_item.id if self.controller.current_item else False, + "cued_item" : self.controller.cued_item.id if self.controller.cued_item else False, + "position" : self.controller.position, + "duration" : self.controller.duration, + "current_title" : self.controller.current_item["title"] if self.controller.current_item else "(no clip)", + "cued_title" : self.controller.cued_item["title"] if self.controller.cued_item else "(no clip)", + "request_time" : self.controller.request_time, + "paused" : self.controller.paused, + "cueing" : self.controller.cueing, + "id_event" : self.current_event.id if self.current_event else False, + "fps" : self.fps, + "current_fname" : self.controller.current_fname, + "cued_fname" : self.controller.cued_fname, + } def on_progress(self): @@ -420,4 +430,4 @@ def on_main(self): db=db ) self.auto_event = next_event.id - return + return \ No newline at end of file diff --git a/services/play/caspar_controller.py b/services/play/caspar_controller.py index d9a36744..4cd64852 100644 --- a/services/play/caspar_controller.py +++ b/services/play/caspar_controller.py @@ -20,6 +20,11 @@ class CasparController(object): def __init__(self, parent): self.parent = parent + self.caspar_host = parent.channel_config.get("caspar_host", "localhost") + self.caspar_port = int(parent.channel_config.get("caspar_port", 5250)) + self.caspar_channel = int(parent.channel_config.get("caspar_channel", 1)) + self.caspar_feed_layer = int(parent.channel_config.get("caspar_feed_layer", 10)) + self.current_item = False self.current_fname = False self.cued_item = False @@ -43,7 +48,7 @@ def __init__(self, parent): return Parser = get_info_parser(self.infc) - self.parser = Parser(self.infc, self.parent.caspar_channel) + self.parser = Parser(self.infc, self.caspar_channel) thread.start_new_thread(self.work, ()) @@ -53,11 +58,11 @@ def id_channel(self): @property def host(self): - return self.parent.caspar_host + return self.caspar_host @property def port(self): - return self.parent.caspar_port + return self.caspar_port def connect(self): if not hasattr(self, "cmdc"): @@ -98,7 +103,7 @@ def work(self): time.sleep(.3) def main(self): - info = self.parser.get_info(self.parent.caspar_feed_layer) + info = self.parser.get_info(self.caspar_feed_layer) if not info: logging.warning("Channel {} update stat failed".format(self.id_channel)) self.bad_requests += 1 @@ -218,7 +223,7 @@ def main(self): def cue(self, fname, item, **kwargs): auto = kwargs.get("auto", True) - layer = kwargs.get("layer", self.parent.caspar_feed_layer) + layer = kwargs.get("layer", self.caspar_feed_layer) play = kwargs.get("play", False) loop = kwargs.get("loop", False) mark_in = item.mark_in() @@ -234,20 +239,21 @@ def cue(self, fname, item, **kwargs): if play: q = "PLAY {}-{} {}{}".format( - self.parent.caspar_channel, + self.caspar_channel, layer, fname, marks ) else: q = "LOADBG {}-{} {} {} {}".format( - self.parent.caspar_channel, + self.caspar_channel, layer, fname, ["","AUTO"][auto], marks ) + self.cueing = fname result = self.query(q) if result.is_error: @@ -260,24 +266,23 @@ def cue(self, fname, item, **kwargs): self.cued_fname = fname self.cued_in = mark_in*self.fps self.cued_out = mark_out*self.fps - self.cueing = fname message = "Cued item {} ({})".format(self.cued_item, fname) return NebulaResponse(result.response, message) def clear(self, **kwargs): - layer = layer or self.parent.caspar_feed_layer + layer = layer or self.caspar_feed_layer result = self.query("CLEAR {}-{}".format(self.channel, layer)) return NebulaResponse(result.response, result.data) def take(self, **kwargs): - layer = kwargs.get("layer", self.parent.caspar_feed_layer) + layer = kwargs.get("layer", self.caspar_feed_layer) if not self.cued_item or self.cueing: return NebulaResponse(400, "Unable to take. No item is cued.") self.paused = False - result = self.query("PLAY {}-{}".format(self.parent.caspar_channel, layer)) + result = self.query("PLAY {}-{}".format(self.caspar_channel, layer)) if result.is_success: if self.parent.current_live: self.parent.on_live_leave() @@ -291,13 +296,13 @@ def take(self, **kwargs): def retake(self, **kwargs): - layer = kwargs.get("layer", self.parent.caspar_feed_layer) + layer = kwargs.get("layer", self.caspar_feed_layer) if self.parent.current_live: return NebulaResponse(409, "Unable to retake live item") seekparam = str(int(self.current_item.mark_in() * self.fps)) if self.current_item.mark_out(): seekparam += " LENGTH {}".format(int((self.current_item.mark_out() - self.current_item.mark_in()) * self.parser.seek_fps)) - q = "PLAY {}-{} {} SEEK {}".format(self.parent.caspar_channel, layer, self.current_fname, seekparam) + q = "PLAY {}-{} {} SEEK {}".format(self.caspar_channel, layer, self.current_fname, seekparam) self.paused = False result = self.query(q) if result.is_success: @@ -312,22 +317,22 @@ def retake(self, **kwargs): def freeze(self, **kwargs): - layer = kwargs.get("layer", self.parent.caspar_feed_layer) + layer = kwargs.get("layer", self.caspar_feed_layer) if self.parent.current_live: return NebulaResponse(409, "Unable to freeze live item") if not self.paused: - q = "PAUSE {}-{}".format(self.parent.caspar_channel, layer) + q = "PAUSE {}-{}".format(self.caspar_channel, layer) message = "Playback paused" new_val = True else: if self.parser.protocol >= 2.07: - q = "RESUME {}-{}".format(self.parent.caspar_channel, layer) + q = "RESUME {}-{}".format(self.caspar_channel, layer) else: length = "LENGTH {}".format(int( (self.current_out or self.fdur) - self.fpos )) q = "PLAY {}-{} {} SEEK {} {}".format( - self.parent.caspar_channel, + self.caspar_channel, layer, self.current_fname, self.fpos, @@ -347,10 +352,10 @@ def freeze(self, **kwargs): def abort(self, **kwargs): - layer = kwargs.get("layer", self.parent.caspar_feed_layer) + layer = kwargs.get("layer", self.caspar_feed_layer) if not self.cued_item: return NebulaResponse(400, "Unable to abort. No item is cued.") - q = "LOAD {}-{} {}".format(self.parent.caspar_channel, layer, self.cued_fname) + q = "LOAD {}-{} {}".format(self.caspar_channel, layer, self.cued_fname) if self.cued_item.mark_in(): q += " SEEK {}".format(int(self.cued_item.mark_in() * self.parser.seek_fps)) if self.cued_item.mark_out(): diff --git a/services/play/conti_controller.py b/services/play/conti_controller.py new file mode 100644 index 00000000..d34403ed --- /dev/null +++ b/services/play/conti_controller.py @@ -0,0 +1,111 @@ +__all__ = ["VlcController"] + +import os +import time +import rex + +rex.require("https://github.com/immstudios/conti") + +from nebula import * +from conti import * + +CONTI_DEBUG["source"] = True +CONTI_DEBUG["encoder"] = False + + +class NebulaContiSource(ContiSource): + def __init__(self, parent, path, **kwargs): + super(NebulaContiSource, self).__init__(parent, path, **kwargs) + self.item = kwargs["item"] + +class NebulaConti(Conti): + def append_next_item(self): + self.parent.parent.cue_next() + + def progress_handler(self): + self.parent.position = self.current.position * self.parent.fps + self.parent.duration = self.current.duration * self.parent.fps + self.parent.request_time = time.time() + self.parent.parent.on_progress() + + +class ContiController(object): + def __init__(self, parent): + self.parent = parent + self.cueing = False + self.request_time = time.time() + settings = { + "playlist_length" : 2, + "blocking" : False, + "outputs" : self.parent.channel_config.get("conti_outputs", []) + } + settings.update(self.parent.channel_config.get("conti_settings", {})) + self.conti = NebulaConti(None, **settings) + self.conti.parent = self + + @property + def current_item(self): + return self.conti.current.item if self.conti.current else False + + @property + def current_fname(self): + return self.conti.current.path if self.conti.current else False + + @property + def cued_item(self): + return self.cued.item if self.cued else False + + @property + def cued_fname(self): + return self.cued.path if self.cued else False + + @property + def id_channel(self): + return self.parent.id_channel + + @property + def fps(self): + return self.parent.fps + + @property + def paused(self): + return self.conti.paused + + def cue(self, item, full_path, **kwargs): + kwargs["item"] = item + kwargs["meta"] = item.asset.meta + self.cued = NebulaContiSource(self.conti, full_path, **kwargs) + #TODO: add per-source filters here + self.cued.open() + + if not self.cued: + return NebulaResponse(500) + + if len(self.conti.playlist) > 1: + del(self.conti.playlist[1:]) + self.conti.playlist.append(self.cued) + + if not self.conti.started: + logging.info("Starting Conti") + self.conti.start() + + if kwargs.get("play", False): + return self.take() + message = "Cued item {} ({})".format(self.cued_item, full_path) + return NebulaResponse(200, message) + + + def take(self, **kwargs): + self.conti.take() + return NebulaResponse(200) + + def freeze(self, **kwargs): + self.conti.freeze() + return NebulaResponse(200) + + def retake(self, **kwargs): + return NebulaResponse(200) + + def abort(self, **kwargs): + self.conti.abort() + return NebulaResponse(200) \ No newline at end of file diff --git a/services/play/vlc_controller.py b/services/play/vlc_controller.py new file mode 100644 index 00000000..f972599a --- /dev/null +++ b/services/play/vlc_controller.py @@ -0,0 +1,262 @@ +__all__ = ["VlcController"] + +import os +import time +import vlc + +try: + import _thread as thread +except ImportError: + import thread + + +from nebula import * + + +class VlcMedia(object): + def __init__(self, instance, full_path, item, **kwargs): + self.auto = kwargs.get("auto", True) + loop = kwargs.get("loop", False) + self.mark_in = item.mark_in() + self.mark_out = item.mark_out() + + self.item = item + self.fname = full_path + + self.parsed = False + self.media = instance.media_new(self.fname) + if loop: + self.media.add_option(":repeat") + # NB: Times are input as float seconds, but all other VLC functions use milliseconds. + if self.mark_in: + self.media.add_option(":start-time=%f" % self.mark_in) + if self.mark_out: + self.media.add_option(":stop-time=%f" % self.mark_out) + + self.media.event_manager().event_attach( + vlc.EventType.MediaParsedChanged, self.parse_callback) + + ret = self.media.parse_with_options(0, -1) + if ret != 0: + raise ValueError("failed to parse media") + + # TODO: set self.fname from self.media.get_mrl()? + + def __del__(self): + self.media.release() + + def parse_callback(self, event): + self.parsed = True + # TODO: Provide a way to block on this and check if media.get_parsed_status() == MediaParsedStatus.done + logging.debug("parsed media", self.fname, event.u.new_status) + # Clean up event handler to prevent memory leak + self.media.event_manager().event_detach(vlc.EventType.MediaParsedChanged) + + @property + def mark_in_ms(self): + return self.mark_in * 1000 + + @property + def mark_out_ms(self): + return self.mark_out * 1000 + +class VlcController(object): + def __init__(self, parent): + self.parent = parent + + # VLC always uses milliseconds for timestamps + self.parent.fps = 1000 + + self.caspar_feed_layer = int(parent.channel_config.get("caspar_feed_layer", 10)) + + self.current = None + self.cued = None + + self.args = parent.channel_config.get("vlc_args", "--fullscreen") + + self.instance = vlc.Instance(self.args) + self.media_player = self.instance.media_player_new() + if parent.channel_config.get("vlc_fullscreen", True): + self.media_player.set_fullscreen(True) + self.media_player.event_manager().event_attach( + vlc.EventType.MediaPlayerEndReached, self.next_item_callback) + # MediaPlayerMediaChanged + + thread.start_new_thread(self.work, ()) + + @property + def current_item(self): + if self.current: + return self.current.item + + @property + def cued_item(self): + if self.cued: + return self.cued.item + + @property + def current_fname(self): + if self.current: + return self.current.fname + return False + + @property + def cued_fname(self): + if self.cued: + return self.cued.fname + return False + + @property + def cueing(self): + return self.cued and not self.cued.parsed + + @cueing.setter + def cueing(self, value): + # Ignore play service's attempt to set this + pass + + @property + def request_time(self): + """Time of last status update (always now for VLC).""" + return time.time() + + @property + def id_channel(self): + return self.parent.id_channel + + @property + def fps(self): + return self.parent.fps + + @property + def fpos(self): + return self.media_player.get_time() + + @property + def fdur(self): + return self.media_player.get_length() + + @property + def paused(self): + return self.media_player.get_state() == vlc.State.Paused + + @property + def position(self): + if self.current: + return int(self.fpos - self.current.mark_in_ms) + return 0 + + @property + def duration(self): + if self.parent.current_live or not self.current: + return 0 + dur = self.fdur + if self.current.mark_out_ms > 0: + dur = self.current.mark_out_ms + if self.current.mark_in_ms > 0: + dur -= self.current.mark_in_ms + return dur + + def work(self): + while True: + try: + self.main() + except Exception: + log_traceback() + time.sleep(.3) + + def next_item_callback(self, event): + print(event.u) + if self.cued and self.cued.auto: + # If we try to manipulate the player from within the callback, we'll deadlock. + thread.start_new_thread(self.take, ()) + + def main(self): + if self.current_item and not self.cued_item: + self.parent.cue_next() + + try: + self.parent.on_progress() + except Exception: + log_traceback("Playout on_main failed") + + + def cue(self, item, full_path, **kwargs): + self.cued = VlcMedia(self.instance, full_path, item, **kwargs) + layer = kwargs.get("layer", self.caspar_feed_layer) + play = kwargs.get("play", False) + + if play: + return self.take() + + message = "Cued item {} ({})".format(self.cued_item, full_path) + + return NebulaResponse(200, message) + + + def clear(self, **kwargs): + layer = layer or self.caspar_feed_layer + self.media_player.stop() + self.current = None + self.cued = None + return NebulaResponse(200, "all items removed") + + + def take(self, **kwargs): + layer = kwargs.get("layer", self.caspar_feed_layer) + if not self.cued_item: + return NebulaResponse(400, "Unable to take. No item is cued.") + + self.media_player.set_media(self.cued.media) + self.media_player.play() + + self.current = self.cued + self.cued = None + + self.parent.on_change() + + # TODO: Check if media actually starts playing + if True: + if self.parent.current_live: + self.parent.on_live_leave() + code = 200 + message = "Take OK" + else: + code = 500 + message = "Take command failed" + return NebulaResponse(code, message) + + + def retake(self, **kwargs): + layer = kwargs.get("layer", self.caspar_feed_layer) + if self.parent.current_live: + return NebulaResponse(409, "Unable to retake live item") + if not self.current: + return NebulaResponse(400, "Unable to retake. No item is playing.") + self.media_player.set_time(self.current.mark_in_ms) + message = "Retake OK" + self.parent.cue_next() + return NebulaResponse(200, message) + + + def freeze(self, **kwargs): + layer = kwargs.get("layer", self.caspar_feed_layer) + if self.parent.current_live: + return NebulaResponse(409, "Unable to freeze live item") + if not self.paused: + self.media_player.set_pause(True) + message = "Playback paused" + else: + self.media_player.set_pause(False) + message = "Playback resumed" + + return NebulaResponse(200, message) + + + def abort(self, **kwargs): + layer = kwargs.get("layer", self.caspar_feed_layer) + if not self.cued: + return NebulaResponse(400, "Unable to abort. No item is cued.") + self.media_player.next() + self.media_player.set_pause(True) + return NebulaResponse(200, "Current item aborted")

i zci-*Uw#~$p@f7t-%BYU?d`qq^H%GE49G0{r)vA@mNT5-$Vv>O|S4SfJ!m|fIzi?qH z{xb1JK*hp10(iGxKMiWV_2wJ*Em;h8;SYEcZfDZxsiIGdgqkVM$yj~RPlSH`^;b_n z{!Fb_0jidcInCw2}$d*+?@xn8wPh%xK@>t(iJXPWM)?hvGh>;yS8tu^m)KTewH8&cxe6?&b%4eAAWFdcypt{ zV~k^*1)hA11!oB!+7*g&z(alm4?im<2{5`UNl}Q04WF;>?ULTc_%{-~f5koU;n3ba z;30PQKE8X_w5j0Py?q;>Zqk@hH(hh}ZNHp$-;zb7i!c8A*FXL757$q=TB2JAm*iv# zE8!0&vRiU-7I>ISXjkYB_~6n@P?&U;C(5Lez>l#Mo~wE~Y1C_i{_3D_=CxBkJAeMn z=~H;>{9itO_pQ_8hPB@~=_;)B#3S2>RwUjyc@nhz!AF1l+uu$cJ=!z0T`a@V36S?0 zJlF^07(7*;vMP5O{Fl-|9mm3CB)k?0l9^#_V=R?_uI%ZeWY-4$V}`Z8ed^SO^XFGC zT5$S}*Drqd+3cy4n*;8d*9e}cw)a7p6-yRAzP<0r!Ts;O`z}8H;QjZfTse`VDWjIn z3K+p-dQ_{G$TDECPr0kK!c~Tes(n~V3`KVVX`7-_tZQLQG-&)aX;gO&P%D%Bo_vB2 zzWM$&dw1{R&Dy({)q2Wm-6hi}js?%|t(&V#iz>>BYFx#2p0c*`_#N}+V$2WDoolJD zE6B|ux*4@d#T*mqCbFzK*_NCf`blyrU?5VJ*GcB;9I+w&DT z{QUlXrB#Q zN&zb6RC=8R@`caN&$@Q{ol_&pD|@}$Wag~F68(MY*&r$1yA3` z4GiY#_E=^IdrtQFF{82SV~;)}*+!5E9^90%j5sShJ2yL<<{wCyi17_DGQ@eDaaS1~ z9U=fwf%M$Iy#(wVCr)tZx;3kJY}rKWdtl{?h?u32c~eHteEY=S9`J10u$~G9U8NR~ zSaPyU?6yrC))Q#+=iF}3$<9=3ne1c*;^>XfK)I%0!V6w64;Fd!OMp z{s3&*f_Yzl`Q_nf4^)Tz$N~(T9J)}q-8Qbf`>QX%+`N80gaM4Rups1dceJ%_ShtR9 zd-~L=%6JT$q&$_5DLA7oBVYuNvzY$B0>605%Dt|*+hvSnCS3Zun5*>Jy?g)hkAJ*- z=AGMT+)R!=_ulWjTbpo@u?%>;G*@}nv0YtXe(}Ybciw)aZ|kldI}Sa25DXVDUi|T= zpHBVux4m7R7{q|dCjsWBVtgQ&oFV;qv~j?rjZ<2zDT*%&8ReeX`55e-`>UBx?b`Xt zM<30&?pj}dp1;uU*Y;uFq(3jQT1IsY|HFqLoj00;l6-vR5#%gh31N4Bo_>{Xik_TF%3EM_+w-LRwONZK zrR3!2<`7f1oUA-vd2h)au}?azvNfJ8>|>Y%n5-d#qh$_5AyJL=pq&}qFir}OK+;2; z)&Z!Ay80j`Niou$6>p>jq{S`?>eO>3s3p(H5r4@WKmvwCfE#BSFhd3phPOb%EF77# z^BprfZr#1mZA!zytGuCk0E`YF zlU_{j&Ab{gf+t(Z)9NU$r16#}A+JP}M1)Y?@nQr? z{?gs?CRYlRPQPh}qzXX>jCn&5PccV_mG)H1I70>vikj3{mI5P^qoWWXfy6W_nODOZ zz@&4&CTEJPLJXn?RHi=uvvE=|q=;W)8NoBSACIJB?XrwM!w5;>=oVLo#}p+rE8vU) zBhS^5qA4Ma%`gNcKLe9NBJ9-(N4sfA$}$?y5aX{wgQ!7NLn%W82%H(NP1kLx%WK9> zl1T{U^wAh3YUHHrb;eEL(bSdD&O~=kmc}!9Ff=wy9x`|k{vxfBSWu_QD%54^Z*?*; z@hd(u`c6nmi-4`DZYK#2mpRTLaBfx<@{K>e2Fa9m4um$F=;^oHUa& znLlMB08k(RV=N>6-hd380Yg!clcJ4q#+<>}=d#P7sIXKwv^rqL9qH$$-{eXZ^F_WP zW0`?T#sJW-QnKY}R1!@Y&SZR~!3cZJ5jUmIpvx{Z2FWzErjs$k7wX6?7#2-^A?ajWsv_m`7g7lWT*M_KkQN12(t8I z`y~q-L|d(in?)d+0*9Gdw8G53jRgP$d_d+jY2fslO_!NMKLwBNqa-h#v+^wH{$}YY z8@{A$MC5+dH_=Vxa=q1)eHCMQdY`B7*K;6iMQIInw;=^pq|g4|f(T^o#0GIxjqF+3 z02wKbr36UR(cA|Qx1%6r+vb+{7jD4(Ki0pcaHG&0FMVxIJ zF5pgC7hxj3xI(q$gP`&tqabAH9WXfh8hgYs; z;ekWVk*64sBS)t8J+kc4YaSPC9_&xICkxc{LXOHLMOvScmGNQxxL!ht@xjT>sXdJ> zPDBaPAB68g0hb+*s0^|K#21X#to^uOb~fhzd|H!qv9VcYFCt43*;?UN6gN#pxkNM_ z`4p+G439?t;&FIcRE(gkJ@7JX80;_Iq1FO)A7=O|8GN{2%wrZd+~zh}FoQbIj@;AT)HezKo z#Be_MrW>>dgeESkA_s-{@?q`2e(u>hH{W>Al0|R4`s#~E4nMqlRaa|sW+7qJe?A2* z3%Wme%-R+6rWJo*douRM$rEdqE#-bOm$^UaZ%IU--nB~;4tXkH7fB zyJyZ!nK0f=R$3;O%S{i&kIObU<5_WNU|2=+wO3wQb>|(j=RhTwO=^Jm_bgiYhY!yE z`IArXUNA3KS`7Kw@3N2Cy{+%$@#6`fS73`8E|=3oP_EFyS1x~T}D8yCtl2`o_KG<6 zU%7M%^hQ2jHh(Ub*|T%Ud%rs~eextk(tGb%eD}fyZ@%{0`)AK0Q9ZnNO~maq#xcQ5 zyI@8v0vtI>mb*|Tw{$0T_a{MTMNzVgl`BkHP- zzw{zzM>u1lg5*bloILt6Qd%%SFO2ArZyVdw{ow~6OqwvB*G8X&Tt)+L>l@@o@Lk`?uiUFPwZUV=iud;6_NH*dnB zlScP2Q83#;n`1A%IRCa;g*jQM687w@`l`yaXWzYH+BAK?OfQ+s>BZBcUYU{eNahT* zm45GuV@DCc9^JC(?bE03m^a5rW|Y@RS?RGCUtD|N%C`EtFCFc36Ja0!2?h2-udLN$Jo;#c^L2v&w&!h{ylpT z$IzHKTz>zWH5KugQFaU`GnX@5Y5SKZqzx#IP$_g8C)u`Cme)i=ZM9X%NuB~58UYfL zNU{00>UgZVuC}qJx;z?jmzGFFoRh7^8sk>_&VFeoR_5RlAe75>8aE0ElbiX~BE~kE z*%;nr?I-UUQJ4x4H1o2h%f}$1wg_j8z>!fmWLn1BJi^paQ{#-bVuTfviBLLIk7Nph z;YLX@5hQo&23kgC-fQDzGtV%M8=V5tgr^wrQX{lVA_|4MJTvZ!9+4VsV7R%B3kM!8 z6^U_VY!e*>-9h9kF4ueX0wXt&M&zW{pGJhzgQB*Bj3Qcl%G_*1DeczOOsI91L4urL ziI3B zDrN{H)8l}-@#pivfBN4tr|>J5dRCF&v($fnVg4HUz9t%0QzlMOm$x)3ngm5HRJG+v z)!R8zp^vIvk8D@#R^O*!wnE}o?B*3+yCQtml*>mcDx87~in^d~pMJBNI$@k@iUbv9 zTg|^^rh@H?h*E656|;;&r&n|(isn--ojpqtc`EF7@{Cm~=_*l67A#POe2wCxSpO>~ zBDMF4-HPEt@e5PRm1j|-ni~{7rJ{#YtCuZRv|sARNmp{WgL|XgnWJEuLOoJ;{-e++ z<|Vc6f%_FbfP%6L@~UT^cwEuysYE2KRxDnqI-48S=Jo5<`gPOPl0^&ErnRg28LPVO#_JWouAq7w>lED{KWA45pMFZQj!={l#g?5r z!fMg2ww`NH|?uBCS<@`$2gRGn?Dik?_)-?%~1 zCoB3(MT4d~k`eXtk;95kK~dHfzxAn#>^9ZaP^%bg6}eN94ZD%TXKFtmghB>bC2rDQX8Cv?|6O#V;BvemQ6W zx&Qn2-?hL{+j9&0w)bsHCU>kIKmWy!+jc(Szw*inm%lXCn!R$~3muR6npX8~TTuJ* zwRze1&U<0_bK4gDva+^s@KY5#ywA+DcRai8I(L3)P01B|%6@gjJx_M7TDaxzhi_Vb zsA$=!@GlCV>=<)j-(^d0x_!~D#rN->(mDLW$7=^wAE~cUZR^ZCaLj_%G~ z_UrY5-!$|NS@%#&`&{eQ>`kId<*S~6_I9s62mteJI-=SFqc zylJ7Ux^_L^GU>qLgZGZ!IAZwl*=;jhT4t - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hub/static/img/safari-pinned-tab.svg b/hub/static/img/safari-pinned-tab.svg deleted file mode 100644 index 71050599..00000000 --- a/hub/static/img/safari-pinned-tab.svg +++ /dev/null @@ -1,27 +0,0 @@ - - - - -Created by potrace 1.11, written by Peter Selinger 2001-2013 - - - - - diff --git a/hub/static/js/assets.js b/hub/static/js/assets.js deleted file mode 100644 index 37de826c..00000000 --- a/hub/static/js/assets.js +++ /dev/null @@ -1,42 +0,0 @@ -function do_search(){ - console.log("search"); - show_loader(); - $("#form-search").submit(); -} - -$(document).ready(function(){ - - $("#btn-clear").click(function(event){ - event.preventDefault(); - $("#input-query").val(""); - do_search(); - }); - - $("#btn-search").click(function(event){ - event.preventDefault(); - do_search(); - }); - - $(".select-view-link").click(function(event){ - event.preventDefault(); - $("#select-view").val($(this).attr("data-href")); - do_search(); - }); - - $("#select-page").change(function(event){ - do_search(); - }); - - $("#input-query").keypress(function(event) { - if ( event.which == 13 ) { - event.preventDefault(); - do_search(); - } - }); - - $("#browser-body").on("click", "tr[data-href]", function() { - window.location.href = "/detail/" + $(this).attr("data-href"); - }); - -}); - diff --git a/hub/static/js/common.js b/hub/static/js/common.js deleted file mode 100644 index e716f553..00000000 --- a/hub/static/js/common.js +++ /dev/null @@ -1,51 +0,0 @@ -$.fn.selectpicker.Constructor.BootstrapVersion = '4'; - -(function (window, document, undefined) { - "use strict"; - if (window.seismicNotify) { - return; - } - - var seismicNotify = function(channel, handler) { - this.channel = channel; - this.handler = handler; - this.connect(); - } // Notify.constructor - - seismicNotify.prototype.connect = function() { - var handler = this.handler; - var protocol = "ws://"; - if (location.protocol == "https:") - protocol = "wss://"; - this.socket = new WebSocket(protocol + location.host + "/ws/" + this.channel); - this.socket.onmessage = function(event){ - var message = JSON.parse(event.data); - handler(message); - }; - } // Notify.connect - - window.seismicNotify = seismicNotify; -})(window, document); - - -function show_loader(){ - $("#loader").fadeOut("fast"); -} - -function hide_loader(){ - $("#loader").fadeOut("fast"); -} - -$(document).ready(function(){ - $("a").click(function(event){ - show_loader(); - }); - - $(".input-timecode").inputmask({"mask": "99:99:99:99", "insertMode" : false}); -}); - - - -$(window).on("load", function() { - hide_loader(); -}); diff --git a/hub/static/js/detail.js b/hub/static/js/detail.js deleted file mode 100644 index 18d944de..00000000 --- a/hub/static/js/detail.js +++ /dev/null @@ -1,98 +0,0 @@ -function save_asset() { - console.log("Saving asset"); - if ($("#input-duration").val() != $("#input-form-duration").val()){ - $("#input-form-duration").val($("#input-duration").val()); - console.log("changing duration to", $("#input-form-duration").val()); - } - $("#form-edit").submit(); -} - - -$(document).ready(function(){ - - if (window.history.replaceState) { - window.history.replaceState( null, null, window.location.href ); - } - - $(".datepicker").each(function(){ - $(this).datepicker({ - modal: true, - uiLibrary: 'bootstrap4', - iconsLibrary: 'fontawesome', - format: 'yyyy-mm-dd', - weekStartDay: 1, - }); - - }); - - $("#button-save").click(function(){ - save_asset(); - }); - - $(".btn-qcstate").click(function(){ - console.log("set qc/state to " + $(this).attr("data-href")); - $("#input-form-qc-state").val($(this).attr("data-href")); - save_asset(); - }); - - $(".btn-sendto").click(function() { - $("#input-id-action").val($(this).attr("data-href")); - $("#form-sendto").submit(); - }); - - - - - - var r = new Resumable({ - target : '/upload', - query : {id_asset : id_asset} - }); - - r.assignBrowse(document.getElementById('button-upload')); - - r.on('fileAdded', function(file, event){ - console.log('fileAdded', event); - r.upload(); - }); - - r.on('uploadStart', function(){ - $("#upload-status").show(); - $("#upload-status").removeClass().addClass("alert alert-info"); - $("#upload-status-text").html("Upload started"); - $("#upload-progress .progress-bar").css("width", "0"); - $("#upload-progress").show(); - }); - - r.on('fileProgress', function(file){ - $("#upload-status-text").html("Uploading..."); - $("#upload-progress .progress-bar").css("width", (r.progress()*100) + "%"); - }); - - r.on('fileSuccess', function(file){ - console.log('fileSuccess',file); - $("#upload-status").removeClass().addClass("alert alert-success"); - $("#upload-status-text").html("Upload completed"); - $("#upload-progress").hide(); - - }); - - r.on('fileError', function(file, message){ - console.log(message); - var data = JSON.parse(message); - $("#upload-status").removeClass().addClass("alert alert-danger"); - $("#upload-status-text").html("Upload failed: " + data["message"]); - $("#upload-progress").hide(); - }); - -}); - - -$(document).keydown(function(event) { - if((event.ctrlKey || event.metaKey) && event.which == 83) { - save_asset(); - event.preventDefault(); - return false; - } - } -); diff --git a/hub/static/js/jobs.js b/hub/static/js/jobs.js deleted file mode 100644 index d3fc69c7..00000000 --- a/hub/static/js/jobs.js +++ /dev/null @@ -1,152 +0,0 @@ -function load_jobs(){ - console.log("Reloading jobs table"); - $("#job-table-body tr").remove(); - $.ajax({ - type: "POST", - url: "/api/jobs", - data: JSON.stringify({ - "view" : mode, - "id_asset" : id_asset, - "fulltext" : fulltext, - "formatted" : 1 - }), - processData: false, - success: function(data){ - - rows = data["data"]; - console.log(mode); - console.log(rows); - for (var i = 0; i < rows.length; i++) { - row = rows[i]; - rid = row["id"]; - rstatus = row["status"]; - rprogress = row["progress"]; - rmessage = row["message"]; - rctime = row["ctime"]; - rstime = row["stime"]; - retime = row["etime"]; - rstitle = row["service_title"]; - rtitle = "" + row["asset_title"] + ""; - raction = row["action_title"]; - - if (rstatus == 1){ - progress = "