From a345cc28c3da3f7372e96cc746bc9d05c6eb2177 Mon Sep 17 00:00:00 2001 From: topilski Date: Mon, 10 Feb 2020 10:46:38 -0500 Subject: [PATCH] Minor fixes --- app/service/service.py | 11 ++++++++++- app/service/service_client.py | 3 ++- app/service/service_manager.py | 1 - app/service/view.py | 2 ++ app/stream/view.py | 2 +- app/templates/provider/dashboard.html | 7 ------- app/templates/stream/catchup/base.html | 2 ++ 7 files changed, 17 insertions(+), 11 deletions(-) diff --git a/app/service/service.py b/app/service/service.py index 0c2c81a..8c279b6 100644 --- a/app/service/service.py +++ b/app/service/service.py @@ -6,6 +6,7 @@ from pyfastocloud_models.stream.entry import IStream, ProxyStream, EncodeStream, from pyfastocloud.client_constants import ClientStatus from pyfastocloud_models.series.entry import Serial +import pyfastocloud_models.constants as constants from pyfastocloud_models.service.entry import ServiceSettings, ProviderPair, safe_delete_stream from app.service.service_client import ServiceClient, OperationSystem from app.service.stream_handler import IStreamHandler @@ -109,7 +110,9 @@ class Service(IStreamHandler): settings = self._settings if prepare: self._client.prepare_service(settings) - return self._client.sync_service(settings) + res = self._client.sync_service(settings) + self.__refresh_catchups() + return res def get_log_stream(self, sid: str): stream = self.find_stream_by_id(sid) @@ -401,3 +404,9 @@ class Service(IStreamHandler): for stream in streams: self.__init_stream_runtime_fields(stream) self._streams.append(stream) + + def __refresh_catchups(self): + for stream in self._streams: + if stream.get_type() == constants.StreamType.CATCHUP: + self._client.start_stream(stream.config()) + return diff --git a/app/service/service_client.py b/app/service/service_client.py index 8f90de2..d1c9a90 100644 --- a/app/service/service_client.py +++ b/app/service/service_client.py @@ -108,7 +108,8 @@ class ServiceClient(IClientHandler): streams = [] for stream in settings.streams: stream.set_server_settings(settings) - streams.append(stream.config()) + config = stream.config() + streams.append(config) return self._client.sync_service(self._gen_request_id(), streams) diff --git a/app/service/service_manager.py b/app/service/service_manager.py index 781b947..824d30e 100644 --- a/app/service/service_manager.py +++ b/app/service/service_manager.py @@ -41,7 +41,6 @@ class ServiceManager(object): readable, writeable, _ = select.select(rsockets, [], [], 1) for read in readable: - for server in self._servers_pool: if server.socket() == read: server.recv_data() diff --git a/app/service/view.py b/app/service/view.py index 0b87a92..4a1f237 100644 --- a/app/service/view.py +++ b/app/service/view.py @@ -73,6 +73,8 @@ class ServiceView(FlaskView): oid=stream.output.urls[0].id) elif stream_type == constants.StreamType.CATCHUP: stream = server.make_catchup_stream() + stream.output.urls[0] = stream.generate_http_link(constants.HlsType.HLS_PULL, + oid=stream.output.urls[0].id) else: stream = server.make_test_life_stream() diff --git a/app/stream/view.py b/app/stream/view.py index 95ff47e..c8c8fef 100644 --- a/app/stream/view.py +++ b/app/stream/view.py @@ -269,7 +269,7 @@ class StreamView(FlaskView): if server: stream = server.make_catchup_stream() form = CatchupStreamForm(obj=stream) - if request.method == 'POST': # FIXME form.validate_on_submit() + if request.method == 'POST' and form.validate_on_submit(): new_entry = form.update_entry(stream) new_entry.save() server.add_stream(new_entry) diff --git a/app/templates/provider/dashboard.html b/app/templates/provider/dashboard.html index d83d13c..5e3cbd5 100644 --- a/app/templates/provider/dashboard.html +++ b/app/templates/provider/dashboard.html @@ -49,12 +49,6 @@ Dashboard | {{ config['PUBLIC_CONFIG'].site.title }} th.stream_actions { width: 25%; } - - - - - - {{super()}} {% endblock %} @@ -1624,6 +1618,5 @@ Dashboard | {{ config['PUBLIC_CONFIG'].site.title }} } }); } - {% endblock %} diff --git a/app/templates/stream/catchup/base.html b/app/templates/stream/catchup/base.html index 1018169..1d65a10 100644 --- a/app/templates/stream/catchup/base.html +++ b/app/templates/stream/catchup/base.html @@ -54,6 +54,8 @@
{{ render_bootstrap_form(form.input) }}
+ {{ render_bootstrap_form(form.output) }} +
{{ render_bootstrap_form(form.timeshift_chunk_duration) }}
{{ render_bootstrap_form(form.timeshift_chunk_life_time) }}