Commit e3f72817 authored by Lars Kruse's avatar Lars Kruse
Browse files

docs: fix spelling issues

Thanks, codespell!
parent d041f86c
Pipeline #1112 passed with stage
in 1 minute and 3 seconds
......@@ -25,7 +25,7 @@ the requirements of community radio stations.
## Functionality
In conjuction with other AURA components Engine provides several features:
In conjunction with other AURA components Engine provides several features:
- **Scheduler** to automatically broadcast your radio programme (see [AURA Dashboard](https://gitlab.servus.at/aura/dashboard) for an user interface to do scheduling)
- **Analog input and outputs** provided by [Engine Core](https://gitlab.servus.at/aura/engine-core)
......@@ -53,7 +53,7 @@ It's possible to schedules playlists with music or pre-recorded shows stored on
The switching between types of audio source is handled automatically, with configured fadings applied.
> Note: Any live sources or streams not specifing a length property, are automatically expanded to the left duration of the timeslot.
> Note: Any live sources or streams not specifying a length property, are automatically expanded to the left duration of the timeslot.
#### Default playlists
......@@ -64,13 +64,13 @@ for schedules and shows:
In case the timeslot doesn't have any specific playlist assigned, this playlist is broadcasted.
- **Default Show Playlist**: This playlist can be assigned to some show. If neither the specific timeslot
playlist nor the default schedule playlist is specificed the *default show playlist* is broadcasted.
playlist nor the default schedule playlist is specified the *default show playlist* is broadcasted.
If none of these playlists have been specified the *Auto DJ* feature of [Engine Core](https://gitlab.servus.at/aura/engine-core) takes over (optional).
### Heartbeat Monitoring
Instead of checking all status properties, the Heartbeat only validates the vital ones required to run the engine. If all of those are valid, a network socket request is sent to a defined server. This heartbeat is sent continiously based on the configured `heartbeat_frequency`. The service receiving this heartbeat ticks can decide what to do with that information. One scenario could be switching to another Engine instance or any other custom failover scenario. Under `contrib/heartbeat-monitor` you'll find some sample application digesting these heartbeat signals.
Instead of checking all status properties, the Heartbeat only validates the vital ones required to run the engine. If all of those are valid, a network socket request is sent to a defined server. This heartbeat is sent continuously based on the configured `heartbeat_frequency`. The service receiving this heartbeat ticks can decide what to do with that information. One scenario could be switching to another Engine instance or any other custom failover scenario. Under `contrib/heartbeat-monitor` you'll find some sample application digesting these heartbeat signals.
### Logging
......
......@@ -5,7 +5,7 @@ This page gives insights on extending Aura Engine internals or through the API.
<!-- TOC -->
1. [Aura Engine Development Guide](#aura-engine-development-guide)
1. [AURA Componentes](#aura-componentes)
1. [AURA Components](#aura-componentes)
2. [Engine Components](#engine-components)
3. [Running for Development](#running-for-development)
4. [Testing](#testing)
......@@ -16,7 +16,7 @@ This page gives insights on extending Aura Engine internals or through the API.
<!-- /TOC -->
## AURA Componentes
## AURA Components
AURA Engine as part of the AURA Radio Suite uses an modulear architecture based on a REST API. All external information is retrieved using JSON data-structures.
......@@ -28,7 +28,7 @@ For example:
- Steering, to get the main incredient of an play-out engine: schedules (or "timeslots" in Steering terms),
which hold the actual information on playlists and their entries.
- Dashboard, to have a neat interface, being able to programm the timeslots
- Dashboard, to have a neat interface, being able to programme the timeslots
- Tank, to get the references to audio files and other audio sources. Plus the actual files.
If you need to test and develop against the Engine's API you'll also need to get the `engine-api` project running.
......@@ -57,7 +57,7 @@ Ensure you have following other projects up and running:
- engine-api
- dashboard-clock (optional)
The following steps espect you having done the bases configuration and set up a database as outlined in the [Native Installation](https://gitlab.servus.at/aura/engine/-/blob/master/docs/bare-metal-installation.md) document.
The following steps expect you having done the bases configuration and set up a database as outlined in the [Native Installation](https://gitlab.servus.at/aura/engine/-/blob/master/docs/bare-metal-installation.md) document.
If you don't have already, you'll need to create an virtual environment:
......@@ -122,7 +122,7 @@ point in time and the involved phase before:
in `engine.ini`). The actual start of the window is calcuated by (timeslot start - window start)
and the end by (timeslot end - window end)
During the scheduling window, the external API Endpoints are pulled continiously, to
During the scheduling window, the external API Endpoints are pulled continuously, to
check for updated timeslots and related playlists. Also, any changes to playlists and
its entries are respected within that window (see `fetching_frequency` in `engine.ini`).
......
......@@ -41,7 +41,7 @@ def configure_flask():
app.config['BABEL_DEFAULT_LOCALE'] = 'de'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
# FIXME Instatiate SQLAlchemy without the need for Flask
# FIXME Instantiate SQLAlchemy without the need for Flask
app = Flask(__name__)
configure_flask()
DB = SQLAlchemy(app)
......
......@@ -43,7 +43,7 @@ class NoActiveEntryException(Exception):
# Liquidsoap Execeptions
# Liquidsoap Exceptions
class LQConnectionError(Exception):
pass
......
......@@ -37,7 +37,7 @@ class SimpleUtil:
This alters the input so you may wish to `copy` the dict first.
Args:
data (dict): The dicationary
data (dict): The dictionary
Returns:
(dict):
......@@ -67,7 +67,7 @@ class SimpleUtil:
@staticmethod
def nano_to_seconds(nanoseconds):
"""
Converts nano-seconds to senconds
Converts nano-seconds to seconds
Args:
(Integer) nanoseconds
......@@ -81,7 +81,7 @@ class SimpleUtil:
@staticmethod
def seconds_to_nano(seconds):
"""
Converts senconds to nano-seconds
Converts seconds to nano-seconds
Args:
(Integer) seconds
......
......@@ -136,7 +136,7 @@ class PlayerConnector():
self.disable_transaction(socket=self.client, force=True)
raise e
else:
self.event_dispatcher.on_critical("Criticial Liquidsoap connection issue", \
self.event_dispatcher.on_critical("Critical Liquidsoap connection issue", \
"Could not connect to Liquidsoap after multiple attempts", e)
raise e
......
......@@ -73,7 +73,7 @@ class SocketControlInterface:
Network socket server to control a running Engine from Liquidsoap.
Note this server only allows a single connection at once. This
service is primarly utilized to store new playlogs.
service is primarily utilized to store new playlogs.
"""
PORT = 1337
ACTION_ON_METADATA = "on_metadata"
......@@ -256,7 +256,7 @@ class EngineExecutor(Timer):
"""
@private
Child timers are dependend on their parents. So let's wait until parents are done with their stuff => finished execution.
Child timers are dependent on their parents. So let's wait until parents are done with their stuff => finished execution.
Checks the parent state to be finished every 0.2 seconds.
"""
if self.parent_timer:
......
......@@ -213,7 +213,7 @@ class Player:
Pre-Load the entry. This is required before the actual `play(..)` can happen.
Be aware when using this method to queue a very short entry (shorter than ``) this may
result in sitations with incorrect timing. In this case bundle multiple short entries as
result in situations with incorrect timing. In this case bundle multiple short entries as
one queue using `preload_playlist(self, entries)`.
It's important to note, that his method is blocking until loading has finished. If this
......@@ -295,7 +295,7 @@ class Player:
def play(self, entry, transition):
"""
Plays a new `Entry`. In case of a new timeslot (or some intented, immediate transition),
Plays a new `Entry`. In case of a new timeslot (or some intended, immediate transition),
a clean channel is selected and transitions between old and new channel is performed.
This method expects that the entry is pre-loaded using `preload(..)` or `preload_group(self, entries)`
......@@ -425,7 +425,7 @@ class Player:
entry (Entry): The entry to be pre-loaded
Returns:
(Boolean): `True` if successfull
(Boolean): `True` if successful
"""
self.stream_load(entry.channel, entry.source)
time.sleep(1)
......@@ -448,7 +448,7 @@ class Player:
def stream_load(self, channel, url):
"""
Preloads the stream URL on the given channel. Note this method is blocking
some serious amount of time; hence it's worth being called asynchroneously.
some serious amount of time; hence it's worth being called asynchronously.
Args:
channel (Channel): The stream channel
......@@ -486,7 +486,7 @@ class Player:
def stream_is_ready(self, channel, url):
"""
Checks if the stream on the given channel is ready to play. Note this method is blocking
some serious amount of time even when successfull; hence it's worth being called asynchroneously.
some serious amount of time even when successful; hence it's worth being called asynchronously.
Args:
channel (Channel): The stream channel
......
......@@ -221,7 +221,7 @@ class EngineEventDispatcher():
def on_play(self, entry):
"""
Event Handler which is called by the engine when some play command to Liquidsoap is issued.
This does not indiciate that Liquidsoap started playing actually, only that the command has
This does not indicate that Liquidsoap started playing actually, only that the command has
been issued. To get the metadata update issued by Liquidsoap use `on_metadata` instead.
Args:
......
......@@ -288,7 +288,7 @@ class Playlog:
Any previous timeslot is stored to `self.previous_timeslot` and the following one
to `self.next_timeslot`.
This method is protect by overwritting by multiple calls with the same timeslot.
This method is protect by overwriting by multiple calls with the same timeslot.
Args:
timeslot (Timeslot): The current timeslot
......
......@@ -192,7 +192,7 @@ class ResourceUtil(Enum):
Args:
uri (String): The path to the audio source
cue_in (Float): The value in seconds wher the cue in should start
cue_in (Float): The value in seconds where the cue in should start
Returns:
(String): The annotated URI
......
......@@ -286,7 +286,7 @@ class ApiFetcher(threading.Thread):
def polish_timeslots(self, timeslots):
"""
Removes all timeslots which are not relevant for further processing,
and transparent timeslot ID assigment for more expressive use.
and transparent timeslot ID assignment for more expressive use.
"""
count_before = len(timeslots)
timeslots = TimeslotFilter.filter_24h(timeslots)
......
......@@ -88,7 +88,7 @@ class AuraDatabaseModel():
def refresh(self):
"""
Refreshes the currect record
Refreshes the correct record
"""
DB.session.expire(self)
DB.session.refresh(self)
......@@ -152,8 +152,8 @@ class Timeslot(DB.Model, AuraDatabaseModel):
playlist (Playlist): The specific playlist for this timeslot
schedule_default (Playlist): Some playlist played by default, when no specific playlist is assigned
show_default (Playlist): Some playlist played by default, when no default schedule playlist is assigned
schedule_fallback (Playlist): Some playlist played as fallback, when no specific playlist is assigned or if it is errorneous (includes silence detection)
show_fallback (Playlist): Some playlist played as fallback, when no schedule fallback playlist is assigned or if some specific playlist is errorneous (includes silence detection)
schedule_fallback (Playlist): Some playlist played as fallback, when no specific playlist is assigned or if it is erroneous (includes silence detection)
show_fallback (Playlist): Some playlist played as fallback, when no schedule fallback playlist is assigned or if some specific playlist is erroneous (includes silence detection)
station_fallback (Playlist): Defined in the original AURA API but not implemented, as station fallbacks are handled locally
"""
__tablename__ = 'timeslot'
......
......@@ -169,7 +169,7 @@ class M3UPlaylistProcessor():
class TimeslotRenderer:
"""
Displays current and next timeslots in ASCII for maintainence and debugging.
Displays current and next timeslots in ASCII for maintenance and debugging.
"""
logger = None
scheduler = None
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment