From 409988534e957ab2312d3f0ff5765267c730c5ca Mon Sep 17 00:00:00 2001
From: David Trattnig <david.trattnig@o94.at>
Date: Thu, 29 Oct 2020 14:39:23 +0100
Subject: [PATCH] Renamed "modules" to "src". #50

---
 .dockerignore                                 |  2 +-
 .gitignore                                    |  2 +-
 config/sample-development.engine.ini          |  4 ++--
 config/sample-docker.engine.ini               |  4 ++--
 config/sample-production.engine.ini           |  4 ++--
 config/systemd/aura-engine-lqs.socket         |  2 +-
 docs/developer-guide.md                       |  8 ++++----
 docs/frequently-asked-questions.md            |  2 +-
 run.py                                        | 10 +++++-----
 {modules => src}/base/config.py               |  0
 {modules => src}/base/exceptions.py           |  0
 {modules => src}/base/logger.py               |  2 +-
 {modules => src}/base/mail.py                 |  0
 {modules => src}/base/models.py               | 18 ++++++++---------
 {modules => src}/base/utils.py                |  0
 {modules => src}/core/channels.py             |  4 ++--
 {modules => src}/core/control.py              | 14 ++++++-------
 {modules => src}/core/engine.py               | 20 +++++++++----------
 {modules => src}/core/events.py               | 12 +++++------
 {modules => src}/core/liquidsoap/client.py    |  4 ++--
 {modules => src}/core/liquidsoap/connector.py |  8 ++++----
 .../core/liquidsoap/playerclient.py           |  2 +-
 {modules => src}/core/mixer.py                |  4 ++--
 {modules => src}/core/resources.py            |  0
 {modules => src}/liquidsoap/__init__.py       |  0
 {modules => src}/liquidsoap/engine.liq        |  0
 .../liquidsoap/helpers/__init__.py            |  0
 .../liquidsoap/helpers/silence.sh             |  0
 {modules => src}/liquidsoap/in_fallback.liq   |  0
 {modules => src}/liquidsoap/in_queue.liq      |  0
 {modules => src}/liquidsoap/in_soundcard.liq  |  0
 {modules => src}/liquidsoap/in_stream.liq     |  0
 {modules => src}/liquidsoap/library.liq       |  0
 .../liquidsoap/out_filesystem.liq             |  0
 {modules => src}/liquidsoap/out_soundcard.liq |  0
 {modules => src}/liquidsoap/out_stream.liq    |  0
 .../liquidsoap/outgoing_recordings/aac.liq    |  0
 .../liquidsoap/outgoing_recordings/flac.liq   |  0
 .../liquidsoap/outgoing_recordings/mp3.liq    |  0
 .../liquidsoap/outgoing_recordings/ogg.liq    |  0
 .../liquidsoap/outgoing_recordings/opus.liq   |  0
 .../liquidsoap/outgoing_recordings/wav.liq    |  0
 .../liquidsoap/outgoing_streams/aac.liq       |  0
 .../liquidsoap/outgoing_streams/flac.liq      |  0
 .../liquidsoap/outgoing_streams/mp3.liq       |  0
 .../liquidsoap/outgoing_streams/ogg.liq       |  0
 .../liquidsoap/outgoing_streams/opus.liq      |  0
 {modules => src}/liquidsoap/readini.liq       |  0
 .../liquidsoap/serverfunctions.liq            |  0
 {modules => src}/liquidsoap/settings.liq      |  0
 .../liquidsoap/unused_fallback.liq            |  0
 {modules => src}/liquidsoap/unused_record.liq |  0
 .../liquidsoap/unused_recorder.liq            |  0
 {modules => src}/liquidsoap/unused_stream.liq |  0
 {modules => src}/plugins/monitor.py           |  8 ++++----
 {modules => src}/plugins/trackservice.py      | 10 +++++-----
 {modules => src}/scheduling/calendar.py       |  8 ++++----
 .../scheduling/calender_fetcher.py            |  4 +++-
 {modules => src}/scheduling/fallback.py       | 18 ++++++++---------
 {modules => src}/scheduling/scheduler.py      | 20 +++++++++----------
 tests/connection_tester.py                    |  4 ++--
 tests/test.py                                 | 12 +++++------
 tests/tests.py                                |  8 ++++----
 63 files changed, 109 insertions(+), 109 deletions(-)
 rename {modules => src}/base/config.py (100%)
 rename {modules => src}/base/exceptions.py (100%)
 rename {modules => src}/base/logger.py (98%)
 rename {modules => src}/base/mail.py (100%)
 rename {modules => src}/base/models.py (97%)
 rename {modules => src}/base/utils.py (100%)
 rename {modules => src}/core/channels.py (98%)
 rename {modules => src}/core/control.py (96%)
 rename {modules => src}/core/engine.py (96%)
 rename {modules => src}/core/events.py (96%)
 rename {modules => src}/core/liquidsoap/client.py (98%)
 rename {modules => src}/core/liquidsoap/connector.py (96%)
 rename {modules => src}/core/liquidsoap/playerclient.py (99%)
 rename {modules => src}/core/mixer.py (99%)
 rename {modules => src}/core/resources.py (100%)
 rename {modules => src}/liquidsoap/__init__.py (100%)
 rename {modules => src}/liquidsoap/engine.liq (100%)
 rename {modules => src}/liquidsoap/helpers/__init__.py (100%)
 rename {modules => src}/liquidsoap/helpers/silence.sh (100%)
 rename {modules => src}/liquidsoap/in_fallback.liq (100%)
 rename {modules => src}/liquidsoap/in_queue.liq (100%)
 rename {modules => src}/liquidsoap/in_soundcard.liq (100%)
 rename {modules => src}/liquidsoap/in_stream.liq (100%)
 rename {modules => src}/liquidsoap/library.liq (100%)
 rename {modules => src}/liquidsoap/out_filesystem.liq (100%)
 rename {modules => src}/liquidsoap/out_soundcard.liq (100%)
 rename {modules => src}/liquidsoap/out_stream.liq (100%)
 rename {modules => src}/liquidsoap/outgoing_recordings/aac.liq (100%)
 rename {modules => src}/liquidsoap/outgoing_recordings/flac.liq (100%)
 rename {modules => src}/liquidsoap/outgoing_recordings/mp3.liq (100%)
 rename {modules => src}/liquidsoap/outgoing_recordings/ogg.liq (100%)
 rename {modules => src}/liquidsoap/outgoing_recordings/opus.liq (100%)
 rename {modules => src}/liquidsoap/outgoing_recordings/wav.liq (100%)
 rename {modules => src}/liquidsoap/outgoing_streams/aac.liq (100%)
 rename {modules => src}/liquidsoap/outgoing_streams/flac.liq (100%)
 rename {modules => src}/liquidsoap/outgoing_streams/mp3.liq (100%)
 rename {modules => src}/liquidsoap/outgoing_streams/ogg.liq (100%)
 rename {modules => src}/liquidsoap/outgoing_streams/opus.liq (100%)
 rename {modules => src}/liquidsoap/readini.liq (100%)
 rename {modules => src}/liquidsoap/serverfunctions.liq (100%)
 rename {modules => src}/liquidsoap/settings.liq (100%)
 rename {modules => src}/liquidsoap/unused_fallback.liq (100%)
 rename {modules => src}/liquidsoap/unused_record.liq (100%)
 rename {modules => src}/liquidsoap/unused_recorder.liq (100%)
 rename {modules => src}/liquidsoap/unused_stream.liq (100%)
 rename {modules => src}/plugins/monitor.py (98%)
 rename {modules => src}/plugins/trackservice.py (98%)
 rename {modules => src}/scheduling/calendar.py (98%)
 rename {modules => src}/scheduling/calender_fetcher.py (99%)
 rename {modules => src}/scheduling/fallback.py (94%)
 rename {modules => src}/scheduling/scheduler.py (98%)

diff --git a/.dockerignore b/.dockerignore
index 6e235fec..acae5e69 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -83,4 +83,4 @@ config/docker/engine.ini
 env.list
 
 # Socket
-modules/liquidsoap/engine.sock
\ No newline at end of file
+src/liquidsoap/engine.sock
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 61669570..5c5603e8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,5 +11,5 @@ config/systemd/dev/
 env.list
 audio/source
 config/docker/engine.ini
-modules/liquidsoap/engine.sock
+src/liquidsoap/engine.sock
 /python
\ No newline at end of file
diff --git a/config/sample-development.engine.ini b/config/sample-development.engine.ini
index 8c3d3a1e..332e7612 100644
--- a/config/sample-development.engine.ini
+++ b/config/sample-development.engine.ini
@@ -117,7 +117,7 @@ fade_out_time="2.5"
 
 [lqs]
 liquidsoap_path="/home/username/.opam/4.08.0/bin/liquidsoap"
-liquidsoap_working_dir="modules/liquidsoap/"
+liquidsoap_working_dir="src/liquidsoap/"
 liquidsoap_as_root="false"
 
 # Liquidsoap execution delay in seconds; Crucial to keep things in sync
@@ -129,7 +129,7 @@ daemongroup="engineuser"
 daemonuser="engineuser"
 
 [socket]
-socketdir="/home/username/code/aura/engine/modules/liquidsoap"
+socketdir="/home/username/code/aura/engine/src/liquidsoap"
 
 [audiosources]
 audio_source_folder="var/audio/source"
diff --git a/config/sample-docker.engine.ini b/config/sample-docker.engine.ini
index 25839a02..57176e37 100644
--- a/config/sample-docker.engine.ini
+++ b/config/sample-docker.engine.ini
@@ -116,7 +116,7 @@ fade_out_time="2.5"
 
 [lqs]
 liquidsoap_path="/usr/bin/liquidsoap"
-liquidsoap_working_dir="modules/liquidsoap/"
+liquidsoap_working_dir="src/liquidsoap/"
 liquidsoap_as_root="true"
 
 # Liquidsoap execution delay in seconds; Crucial to keep things in sync
@@ -128,7 +128,7 @@ daemongroup="engineuser"
 daemonuser="engineuser"
 
 [socket]
-socketdir="/srv/modules/liquidsoap"
+socketdir="/srv/src/liquidsoap"
 
 [audiosources]
 audio_source_folder="var/audio/source"
diff --git a/config/sample-production.engine.ini b/config/sample-production.engine.ini
index e5c6908f..8212604d 100644
--- a/config/sample-production.engine.ini
+++ b/config/sample-production.engine.ini
@@ -116,7 +116,7 @@ fade_out_time="2.5"
 
 [lqs]
 liquidsoap_path="/home/engineuser/.opam/4.08.0/bin/liquidsoap"
-liquidsoap_working_dir="modules/liquidsoap/"
+liquidsoap_working_dir="src/liquidsoap/"
 liquidsoap_as_root="false"
 
 # Liquidsoap execution delay in seconds; Crucial to keep things in sync
@@ -128,7 +128,7 @@ daemongroup="engineuser"
 daemonuser="engineuser"
 
 [socket]
-socketdir="/opt/aura/engine/modules/liquidsoap"
+socketdir="/opt/aura/engine/src/liquidsoap"
 
 [audiosources]
 audio_source_folder="var/audio/source"
diff --git a/config/systemd/aura-engine-lqs.socket b/config/systemd/aura-engine-lqs.socket
index 4f8c5267..0798554a 100644
--- a/config/systemd/aura-engine-lqs.socket
+++ b/config/systemd/aura-engine-lqs.socket
@@ -3,7 +3,7 @@ Description=Aura Engine - Liquidsoap Socket
 PartOf=aura-engine-lqs.service
 
 [Socket]
-ListenStream=/opt/aura/engine/modules/liquidsoap/engine.sock
+ListenStream=/opt/aura/engine/src/liquidsoap/engine.sock
 Accept=false
 
 [Install]
diff --git a/docs/developer-guide.md b/docs/developer-guide.md
index ac483de2..97f66b68 100644
--- a/docs/developer-guide.md
+++ b/docs/developer-guide.md
@@ -59,11 +59,11 @@ OpenAPI definition for Engine API: https://app.swaggerhub.com/apis/AURA-Engine/e
 
 When you start Engine the following is happening:
 
-1. Python `run.py`: Initializes `modules/core/engine.py` (The virtual mixer; class for remote-controlling Liquidsoap), Scheduler
+1. Python `run.py`: Initializes `src/core/engine.py` (The virtual mixer; class for remote-controlling Liquidsoap), Scheduler
 2. Python `run.py`: Start Liquidsoap.
 3. Liquidsoap: When Liquidsoap finished its startup, it creates a socket file as configured in `socketdir` of `engine.ini`.
-4. Python `modules/core/liquidsoap/client.py`: Connects to that socket file.
-5. Python `modules/schedulung/scheduler.py`: Continously loads schedules from the API endpoints, stores them in the local database and starts the playout as per the schedules.
+4. Python `src/core/liquidsoap/client.py`: Connects to that socket file.
+5. Python `src/schedulung/scheduler.py`: Continously loads schedules from the API endpoints, stores them in the local database and starts the playout as per the schedules.
 
 ## More infos for debugging
 
@@ -106,7 +106,7 @@ viewing your connections (with e.g. Patchage).
 as you won't have the need to adapt any Engine setting to get audio playing initially.
 
 **ALSA:** When you use ALSA, you will have to play around with ALSA settings. In the folder
-`./modules/liquidsoap` is a scipt called alsa_settings_tester.liq. You can start it
+`./src/liquidsoap` is a scipt called alsa_settings_tester.liq. You can start it
 with 'liquidsoap -v --debug alsa_settings_tester.liq'. Changing and playing with
 settings may help you to find correct ALSA settings.
 
diff --git a/docs/frequently-asked-questions.md b/docs/frequently-asked-questions.md
index 44447bef..b17bb0dc 100644
--- a/docs/frequently-asked-questions.md
+++ b/docs/frequently-asked-questions.md
@@ -58,7 +58,7 @@ Well, this is - at least for me - a hard one. I could not manage to find correct
 
 ## I have issues with starting the Engine
 
-**Cannot connect to socketpath /opt/aura/engine/modules/liquidsoap/engine.sock. Reason: [Errno 111] Connection refused**
+**Cannot connect to socketpath /opt/aura/engine/src/liquidsoap/engine.sock. Reason: [Errno 111] Connection refused**
 
 - This indicates some issue with the proper startup of Liquidsoap or any related audio device. Check the Liquidsoap logs for details.
 
diff --git a/run.py b/run.py
index a8242834..3fa2d593 100755
--- a/run.py
+++ b/run.py
@@ -33,9 +33,9 @@ import time
 from flask               import Flask
 from flask_sqlalchemy    import SQLAlchemy
 
-from modules.base.logger import AuraLogger
-from modules.base.config import AuraConfig
-from modules.base.utils  import SimpleUtil as SU
+from src.base.logger import AuraLogger
+from src.base.config import AuraConfig
+from src.base.utils  import SimpleUtil as SU
 
 
 config = AuraConfig()
@@ -78,8 +78,8 @@ class EngineRunner:
         """
         Starts Engine Core.
         """                
-        from modules.scheduling.scheduler import AuraScheduler
-        from modules.core.engine import Engine
+        from src.scheduling.scheduler import AuraScheduler
+        from src.core.engine import Engine
 
         # Check if the database has to be re-created
         if self.config.get("recreate_db") is not None:
diff --git a/modules/base/config.py b/src/base/config.py
similarity index 100%
rename from modules/base/config.py
rename to src/base/config.py
diff --git a/modules/base/exceptions.py b/src/base/exceptions.py
similarity index 100%
rename from modules/base/exceptions.py
rename to src/base/exceptions.py
diff --git a/modules/base/logger.py b/src/base/logger.py
similarity index 98%
rename from modules/base/logger.py
rename to src/base/logger.py
index 87c7fda8..d1d26730 100644
--- a/modules/base/logger.py
+++ b/src/base/logger.py
@@ -19,7 +19,7 @@
 
 import logging
 
-from modules.base.config import AuraConfig
+from src.base.config import AuraConfig
 
 
 class AuraLogger():
diff --git a/modules/base/mail.py b/src/base/mail.py
similarity index 100%
rename from modules/base/mail.py
rename to src/base/mail.py
diff --git a/modules/base/models.py b/src/base/models.py
similarity index 97%
rename from modules/base/models.py
rename to src/base/models.py
index 9f66f395..430dae8e 100644
--- a/modules/base/models.py
+++ b/src/base/models.py
@@ -24,15 +24,15 @@ import datetime
 
 import sqlalchemy as sa
 
-from sqlalchemy.ext.declarative         import declarative_base
-from sqlalchemy                         import orm
-from sqlalchemy                         import BigInteger, Boolean, Column, DateTime, Integer, String, ForeignKey
-from sqlalchemy.orm                     import relationship
-from sqlalchemy.ext.hybrid              import hybrid_property
-
-from modules.base.config                import AuraConfig
-from modules.base.utils                 import SimpleUtil
-from modules.core.resources             import ResourceUtil
+from sqlalchemy.ext.declarative     import declarative_base
+from sqlalchemy                     import orm
+from sqlalchemy                     import BigInteger, Boolean, Column, DateTime, Integer, String, ForeignKey
+from sqlalchemy.orm                 import relationship
+from sqlalchemy.ext.hybrid          import hybrid_property
+
+from src.base.config                import AuraConfig
+from src.base.utils                 import SimpleUtil
+from src.core.resources             import ResourceUtil
 
 
 
diff --git a/modules/base/utils.py b/src/base/utils.py
similarity index 100%
rename from modules/base/utils.py
rename to src/base/utils.py
diff --git a/modules/core/channels.py b/src/core/channels.py
similarity index 98%
rename from modules/core/channels.py
rename to src/core/channels.py
index c7976a91..c5184659 100644
--- a/modules/core/channels.py
+++ b/src/core/channels.py
@@ -19,8 +19,8 @@
 
 from enum import Enum
 
-from modules.base.utils import SimpleUtil as SU
-from modules.core.resources import ResourceType
+from src.base.utils import SimpleUtil as SU
+from src.core.resources import ResourceType
 
 
 class TransitionType(Enum):
diff --git a/modules/core/control.py b/src/core/control.py
similarity index 96%
rename from modules/core/control.py
rename to src/core/control.py
index 98a0038e..7cba546d 100644
--- a/modules/core/control.py
+++ b/src/core/control.py
@@ -23,13 +23,13 @@ import time
 import json
 
 
-from threading                  import Thread, Timer
-from datetime                   import datetime, timedelta
-from http_parser.http           import HttpStream
-from http_parser.reader         import SocketReader
+from threading              import Thread, Timer
+from datetime               import datetime, timedelta
+from http_parser.http       import HttpStream
+from http_parser.reader     import SocketReader
 
-from modules.base.config        import AuraConfig
-from modules.base.utils         import SimpleUtil as SU
+from src.base.config        import AuraConfig
+from src.base.utils         import SimpleUtil as SU
 
 
 
@@ -207,7 +207,7 @@ class EngineExecutor(Timer):
             func (function):                The function to be called
             param (object):                 Parameter passt to the function
         """        
-        from modules.core.engine import Engine
+        from src.core.engine import Engine
         now_unix = Engine.engine_time()        
         self.child_timer = child_timer
         self.direct_exec = False
diff --git a/modules/core/engine.py b/src/core/engine.py
similarity index 96%
rename from modules/core/engine.py
rename to src/core/engine.py
index 5ee2775d..98d6520a 100644
--- a/modules/core/engine.py
+++ b/src/core/engine.py
@@ -25,17 +25,15 @@ from threading                  import Thread
 
 import meta
 
-from modules.base.config        import AuraConfig
-from modules.base.utils         import SimpleUtil as SU
-from modules.base.exceptions    import LQConnectionError, InvalidChannelException, LQStreamException, \
-                                       LoadSourceException
-from modules.core.resources     import ResourceClass, ResourceUtil                                   
-from modules.core.channels      import ChannelType, TransitionType, LiquidsoapResponse, \
-                                       EntryPlayState, ResourceType, ChannelRouter
-from modules.core.events        import EngineEventDispatcher
-from modules.core.control       import EngineControlInterface
-from modules.core.mixer         import Mixer, MixerType
-from modules.core.liquidsoap.connector import PlayerConnector
+from src.base.config        import AuraConfig
+from src.base.utils         import SimpleUtil as SU
+from src.base.exceptions    import LQConnectionError, InvalidChannelException, LQStreamException, LoadSourceException
+from src.core.resources     import ResourceClass, ResourceUtil                                   
+from src.core.channels      import ChannelType, TransitionType, LiquidsoapResponse, EntryPlayState, ResourceType, ChannelRouter
+from src.core.events        import EngineEventDispatcher
+from src.core.control       import EngineControlInterface
+from src.core.mixer         import Mixer, MixerType
+from src.core.liquidsoap.connector import PlayerConnector
 
 
 
diff --git a/modules/core/events.py b/src/core/events.py
similarity index 96%
rename from modules/core/events.py
rename to src/core/events.py
index ec8d7480..75b00ceb 100644
--- a/modules/core/events.py
+++ b/src/core/events.py
@@ -22,11 +22,11 @@ import datetime
 
 from threading                      import Thread
 
-from modules.base.config            import AuraConfig
-from modules.base.utils             import SimpleUtil as SU
-from modules.base.mail              import AuraMailer
-from modules.plugins.monitor        import AuraMonitor
-from modules.plugins.trackservice   import TrackServiceHandler
+from src.base.config            import AuraConfig
+from src.base.utils             import SimpleUtil as SU
+from src.base.mail              import AuraMailer
+from src.plugins.monitor        import AuraMonitor
+from src.plugins.trackservice   import TrackServiceHandler
 
 
 class EventBinding():
@@ -149,7 +149,7 @@ class EngineEventDispatcher():
         Called when the engine is initialized, just before
         """
         self.logger.debug("on_initialized(..)")
-        from modules.scheduling.scheduler import AuraScheduler
+        from src.scheduling.scheduler import AuraScheduler
         self.scheduler = AuraScheduler(self.engine)
         self.call_event("on_initialized", None)
 
diff --git a/modules/core/liquidsoap/client.py b/src/core/liquidsoap/client.py
similarity index 98%
rename from modules/core/liquidsoap/client.py
rename to src/core/liquidsoap/client.py
index c49b89a9..89214d38 100644
--- a/modules/core/liquidsoap/client.py
+++ b/src/core/liquidsoap/client.py
@@ -24,8 +24,8 @@ import logging
 
 from multiprocessing import Lock
 
-from modules.base.exceptions import LQConnectionError
-from modules.base.utils import TerminalColors
+from src.base.exceptions import LQConnectionError
+from src.base.utils import TerminalColors
 
 
 
diff --git a/modules/core/liquidsoap/connector.py b/src/core/liquidsoap/connector.py
similarity index 96%
rename from modules/core/liquidsoap/connector.py
rename to src/core/liquidsoap/connector.py
index a5e26737..e120c173 100644
--- a/modules/core/liquidsoap/connector.py
+++ b/src/core/liquidsoap/connector.py
@@ -20,10 +20,10 @@
 import logging
 import time
 
-from modules.base.config        import AuraConfig
-from modules.base.utils         import TerminalColors, SimpleUtil as SU
-from modules.base.exceptions    import LQConnectionError                                       
-from modules.core.liquidsoap.playerclient import LiquidSoapPlayerClient
+from src.base.config        import AuraConfig
+from src.base.utils         import TerminalColors, SimpleUtil as SU
+from src.base.exceptions    import LQConnectionError                                       
+from src.core.liquidsoap.playerclient import LiquidSoapPlayerClient
 
 
 
diff --git a/modules/core/liquidsoap/playerclient.py b/src/core/liquidsoap/playerclient.py
similarity index 99%
rename from modules/core/liquidsoap/playerclient.py
rename to src/core/liquidsoap/playerclient.py
index 7604c67c..e2185a35 100644
--- a/modules/core/liquidsoap/playerclient.py
+++ b/src/core/liquidsoap/playerclient.py
@@ -17,7 +17,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-from modules.core.liquidsoap.client import LiquidSoapClient
+from src.core.liquidsoap.client import LiquidSoapClient
 
 
 class LiquidSoapPlayerClient(LiquidSoapClient):
diff --git a/modules/core/mixer.py b/src/core/mixer.py
similarity index 99%
rename from modules/core/mixer.py
rename to src/core/mixer.py
index 8a92b7f7..b5366973 100644
--- a/modules/core/mixer.py
+++ b/src/core/mixer.py
@@ -23,8 +23,8 @@ import logging
 import time
 
 from enum                       import Enum
-from modules.base.exceptions    import LQConnectionError
-from modules.base.utils         import SimpleUtil as SU
+from src.base.exceptions    import LQConnectionError
+from src.base.utils         import SimpleUtil as SU
 
 
 
diff --git a/modules/core/resources.py b/src/core/resources.py
similarity index 100%
rename from modules/core/resources.py
rename to src/core/resources.py
diff --git a/modules/liquidsoap/__init__.py b/src/liquidsoap/__init__.py
similarity index 100%
rename from modules/liquidsoap/__init__.py
rename to src/liquidsoap/__init__.py
diff --git a/modules/liquidsoap/engine.liq b/src/liquidsoap/engine.liq
similarity index 100%
rename from modules/liquidsoap/engine.liq
rename to src/liquidsoap/engine.liq
diff --git a/modules/liquidsoap/helpers/__init__.py b/src/liquidsoap/helpers/__init__.py
similarity index 100%
rename from modules/liquidsoap/helpers/__init__.py
rename to src/liquidsoap/helpers/__init__.py
diff --git a/modules/liquidsoap/helpers/silence.sh b/src/liquidsoap/helpers/silence.sh
similarity index 100%
rename from modules/liquidsoap/helpers/silence.sh
rename to src/liquidsoap/helpers/silence.sh
diff --git a/modules/liquidsoap/in_fallback.liq b/src/liquidsoap/in_fallback.liq
similarity index 100%
rename from modules/liquidsoap/in_fallback.liq
rename to src/liquidsoap/in_fallback.liq
diff --git a/modules/liquidsoap/in_queue.liq b/src/liquidsoap/in_queue.liq
similarity index 100%
rename from modules/liquidsoap/in_queue.liq
rename to src/liquidsoap/in_queue.liq
diff --git a/modules/liquidsoap/in_soundcard.liq b/src/liquidsoap/in_soundcard.liq
similarity index 100%
rename from modules/liquidsoap/in_soundcard.liq
rename to src/liquidsoap/in_soundcard.liq
diff --git a/modules/liquidsoap/in_stream.liq b/src/liquidsoap/in_stream.liq
similarity index 100%
rename from modules/liquidsoap/in_stream.liq
rename to src/liquidsoap/in_stream.liq
diff --git a/modules/liquidsoap/library.liq b/src/liquidsoap/library.liq
similarity index 100%
rename from modules/liquidsoap/library.liq
rename to src/liquidsoap/library.liq
diff --git a/modules/liquidsoap/out_filesystem.liq b/src/liquidsoap/out_filesystem.liq
similarity index 100%
rename from modules/liquidsoap/out_filesystem.liq
rename to src/liquidsoap/out_filesystem.liq
diff --git a/modules/liquidsoap/out_soundcard.liq b/src/liquidsoap/out_soundcard.liq
similarity index 100%
rename from modules/liquidsoap/out_soundcard.liq
rename to src/liquidsoap/out_soundcard.liq
diff --git a/modules/liquidsoap/out_stream.liq b/src/liquidsoap/out_stream.liq
similarity index 100%
rename from modules/liquidsoap/out_stream.liq
rename to src/liquidsoap/out_stream.liq
diff --git a/modules/liquidsoap/outgoing_recordings/aac.liq b/src/liquidsoap/outgoing_recordings/aac.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_recordings/aac.liq
rename to src/liquidsoap/outgoing_recordings/aac.liq
diff --git a/modules/liquidsoap/outgoing_recordings/flac.liq b/src/liquidsoap/outgoing_recordings/flac.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_recordings/flac.liq
rename to src/liquidsoap/outgoing_recordings/flac.liq
diff --git a/modules/liquidsoap/outgoing_recordings/mp3.liq b/src/liquidsoap/outgoing_recordings/mp3.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_recordings/mp3.liq
rename to src/liquidsoap/outgoing_recordings/mp3.liq
diff --git a/modules/liquidsoap/outgoing_recordings/ogg.liq b/src/liquidsoap/outgoing_recordings/ogg.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_recordings/ogg.liq
rename to src/liquidsoap/outgoing_recordings/ogg.liq
diff --git a/modules/liquidsoap/outgoing_recordings/opus.liq b/src/liquidsoap/outgoing_recordings/opus.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_recordings/opus.liq
rename to src/liquidsoap/outgoing_recordings/opus.liq
diff --git a/modules/liquidsoap/outgoing_recordings/wav.liq b/src/liquidsoap/outgoing_recordings/wav.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_recordings/wav.liq
rename to src/liquidsoap/outgoing_recordings/wav.liq
diff --git a/modules/liquidsoap/outgoing_streams/aac.liq b/src/liquidsoap/outgoing_streams/aac.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_streams/aac.liq
rename to src/liquidsoap/outgoing_streams/aac.liq
diff --git a/modules/liquidsoap/outgoing_streams/flac.liq b/src/liquidsoap/outgoing_streams/flac.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_streams/flac.liq
rename to src/liquidsoap/outgoing_streams/flac.liq
diff --git a/modules/liquidsoap/outgoing_streams/mp3.liq b/src/liquidsoap/outgoing_streams/mp3.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_streams/mp3.liq
rename to src/liquidsoap/outgoing_streams/mp3.liq
diff --git a/modules/liquidsoap/outgoing_streams/ogg.liq b/src/liquidsoap/outgoing_streams/ogg.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_streams/ogg.liq
rename to src/liquidsoap/outgoing_streams/ogg.liq
diff --git a/modules/liquidsoap/outgoing_streams/opus.liq b/src/liquidsoap/outgoing_streams/opus.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_streams/opus.liq
rename to src/liquidsoap/outgoing_streams/opus.liq
diff --git a/modules/liquidsoap/readini.liq b/src/liquidsoap/readini.liq
similarity index 100%
rename from modules/liquidsoap/readini.liq
rename to src/liquidsoap/readini.liq
diff --git a/modules/liquidsoap/serverfunctions.liq b/src/liquidsoap/serverfunctions.liq
similarity index 100%
rename from modules/liquidsoap/serverfunctions.liq
rename to src/liquidsoap/serverfunctions.liq
diff --git a/modules/liquidsoap/settings.liq b/src/liquidsoap/settings.liq
similarity index 100%
rename from modules/liquidsoap/settings.liq
rename to src/liquidsoap/settings.liq
diff --git a/modules/liquidsoap/unused_fallback.liq b/src/liquidsoap/unused_fallback.liq
similarity index 100%
rename from modules/liquidsoap/unused_fallback.liq
rename to src/liquidsoap/unused_fallback.liq
diff --git a/modules/liquidsoap/unused_record.liq b/src/liquidsoap/unused_record.liq
similarity index 100%
rename from modules/liquidsoap/unused_record.liq
rename to src/liquidsoap/unused_record.liq
diff --git a/modules/liquidsoap/unused_recorder.liq b/src/liquidsoap/unused_recorder.liq
similarity index 100%
rename from modules/liquidsoap/unused_recorder.liq
rename to src/liquidsoap/unused_recorder.liq
diff --git a/modules/liquidsoap/unused_stream.liq b/src/liquidsoap/unused_stream.liq
similarity index 100%
rename from modules/liquidsoap/unused_stream.liq
rename to src/liquidsoap/unused_stream.liq
diff --git a/modules/plugins/monitor.py b/src/plugins/monitor.py
similarity index 98%
rename from modules/plugins/monitor.py
rename to src/plugins/monitor.py
index 6cdae73c..b2ce6633 100644
--- a/modules/plugins/monitor.py
+++ b/src/plugins/monitor.py
@@ -22,17 +22,17 @@ import datetime
 import urllib
 import logging
 import json
-import requests
 import threading
 import platform
+import requests
 
 from enum import Enum
 from socket import socket, AF_INET, SOCK_DGRAM, SOL_SOCKET, SO_BROADCAST
 
 import meta
-from modules.base.config import AuraConfig
-from modules.base.utils import SimpleUtil as SU
-from modules.base.mail import AuraMailer
+from src.base.config import AuraConfig
+from src.base.utils import SimpleUtil as SU
+from src.base.mail import AuraMailer
 
 
 
diff --git a/modules/plugins/trackservice.py b/src/plugins/trackservice.py
similarity index 98%
rename from modules/plugins/trackservice.py
rename to src/plugins/trackservice.py
index 999db6bc..44537476 100644
--- a/modules/plugins/trackservice.py
+++ b/src/plugins/trackservice.py
@@ -24,11 +24,11 @@ import requests
 from collections import deque
 from datetime import datetime, timedelta
 
-from modules.base.config import AuraConfig
-from modules.base.utils import SimpleUtil as SU
-from modules.core.resources import ResourceClass
-from modules.core.resources import ResourceUtil
-from modules.scheduling.fallback import FallbackType
+from src.base.config import AuraConfig
+from src.base.utils import SimpleUtil as SU
+from src.core.resources import ResourceClass
+from src.core.resources import ResourceUtil
+from src.scheduling.fallback import FallbackType
 
 
 
diff --git a/modules/scheduling/calendar.py b/src/scheduling/calendar.py
similarity index 98%
rename from modules/scheduling/calendar.py
rename to src/scheduling/calendar.py
index 4d5efd73..b208165f 100644
--- a/modules/scheduling/calendar.py
+++ b/src/scheduling/calendar.py
@@ -26,10 +26,10 @@ import logging
 
 from datetime import datetime
 
-# from modules.scheduling.types import PlaylistType
-from modules.base.utils import SimpleUtil as SU
-from modules.base.models import Schedule, Playlist, PlaylistEntry, PlaylistEntryMetaData
-from modules.scheduling.calender_fetcher import CalendarFetcher
+from src.base.utils import SimpleUtil as SU
+from src.base.models import Schedule, Playlist, PlaylistEntry, PlaylistEntryMetaData
+from src.scheduling.calender_fetcher import CalendarFetcher
+
 
 
 class AuraCalendarService(threading.Thread):
diff --git a/modules/scheduling/calender_fetcher.py b/src/scheduling/calender_fetcher.py
similarity index 99%
rename from modules/scheduling/calender_fetcher.py
rename to src/scheduling/calender_fetcher.py
index b6a74537..dd869346 100644
--- a/modules/scheduling/calender_fetcher.py
+++ b/src/scheduling/calender_fetcher.py
@@ -23,7 +23,9 @@ import logging
 import requests
 
 from datetime import datetime
-from modules.base.utils import SimpleUtil as SU
+
+from src.base.utils import SimpleUtil as SU
+
 
 
 class CalendarFetcher:
diff --git a/modules/scheduling/fallback.py b/src/scheduling/fallback.py
similarity index 94%
rename from modules/scheduling/fallback.py
rename to src/scheduling/fallback.py
index aa0e2305..307ad88d 100644
--- a/modules/scheduling/fallback.py
+++ b/src/scheduling/fallback.py
@@ -21,15 +21,15 @@
 
 import logging
 
-from enum                       import Enum
-from datetime                   import timedelta
+from enum                   import Enum
+from datetime               import timedelta
 
-from modules.base.config        import AuraConfig
-from modules.base.utils         import SimpleUtil as SU
-from modules.base.mail          import AuraMailer
-from modules.core.resources     import ResourceClass
-from modules.core.channels      import Channel
-from modules.core.control       import EngineExecutor
+from src.base.config        import AuraConfig
+from src.base.utils         import SimpleUtil as SU
+from src.base.mail          import AuraMailer
+from src.core.resources     import ResourceClass
+from src.core.channels      import Channel
+from src.core.control       import EngineExecutor
 
 
 
@@ -210,7 +210,7 @@ class FallbackCommand(EngineExecutor):
             timeslot (Timeslot):    The timeslot any fallback entries should be scheduled for
             entries (List):         List of entries to be scheduled as fallback
         """        
-        from modules.core.engine import Engine
+        from src.core.engine import Engine
 
         def do_play(entries):
             self.logger.info(SU.cyan(f"=== start_fallback_playlist('{entries}') ==="))
diff --git a/modules/scheduling/scheduler.py b/src/scheduling/scheduler.py
similarity index 98%
rename from modules/scheduling/scheduler.py
rename to src/scheduling/scheduler.py
index d6389556..22e07615 100644
--- a/modules/scheduling/scheduler.py
+++ b/src/scheduling/scheduler.py
@@ -27,16 +27,16 @@ from enum import Enum
 from operator import attrgetter
 from datetime import datetime, timedelta
 
-from modules.base.config                    import AuraConfig
-from modules.base.utils                     import SimpleUtil as SU
-from modules.base.models                    import AuraDatabaseModel, Schedule, Playlist
-from modules.base.exceptions                import NoActiveScheduleException, LoadSourceException
-from modules.core.control                   import EngineExecutor
-from modules.core.engine                    import Engine
-from modules.core.channels                  import ChannelType, TransitionType, EntryPlayState
-from modules.core.resources                 import ResourceClass, ResourceUtil
-from modules.scheduling.calendar            import AuraCalendarService
-from modules.scheduling.fallback            import FallbackManager
+from src.base.config                    import AuraConfig
+from src.base.utils                     import SimpleUtil as SU
+from src.base.models                    import AuraDatabaseModel, Schedule, Playlist
+from src.base.exceptions                import NoActiveScheduleException, LoadSourceException
+from src.core.control                   import EngineExecutor
+from src.core.engine                    import Engine
+from src.core.channels                  import ChannelType, TransitionType, EntryPlayState
+from src.core.resources                 import ResourceClass, ResourceUtil
+from src.scheduling.calendar            import AuraCalendarService
+from src.scheduling.fallback            import FallbackManager
 
 
 
diff --git a/tests/connection_tester.py b/tests/connection_tester.py
index f0b0c094..6a00c030 100644
--- a/tests/connection_tester.py
+++ b/tests/connection_tester.py
@@ -22,8 +22,8 @@
 import urllib
 import json
 
-from modules.core.engine import Engine
-from modules.base.config import AuraConfig
+from src.core.engine import Engine
+from src.base.config import AuraConfig
 
 
 # ------------------------------------------------------------------------------------------ #
diff --git a/tests/test.py b/tests/test.py
index b466adce..c3510a9f 100644
--- a/tests/test.py
+++ b/tests/test.py
@@ -24,14 +24,14 @@ import validators
 
 from datetime import datetime
 
-from modules.base.logger import AuraLogger
-from modules.base.config import AuraConfig
-from modules.base.models import Schedule, TrackService
+from src.base.logger import AuraLogger
+from src.base.config import AuraConfig
+from src.base.models import Schedule, TrackService
 
 
-# modules
-from modules.core.engine import SoundSystem
-from modules.scheduling.scheduler import AuraScheduler
+# src
+from src.core.engine import SoundSystem
+from src.scheduling.scheduler import AuraScheduler
 
 class TestLogger(unittest.TestCase):
     aura_logger = None
diff --git a/tests/tests.py b/tests/tests.py
index eaa066ec..b42b83e6 100755
--- a/tests/tests.py
+++ b/tests/tests.py
@@ -27,10 +27,10 @@ import sqlalchemy
 import decimal
 import datetime
 
-from modules.base.config import AuraConfig
-from modules.base.models import PlaylistEntry
-from modules.core.engine import Engine
-from modules.scheduling.scheduler import AuraScheduler
+from src.base.config import AuraConfig
+from src.base.models import PlaylistEntry
+from src.core.engine import Engine
+from src.scheduling.scheduler import AuraScheduler
 
 
 
-- 
GitLab