add abc
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-08-19 00:44:04 +02:00
parent 38e7c466c7
commit 7334000eb8
13 changed files with 182 additions and 0 deletions

31
src/app.py Normal file
View File

@ -0,0 +1,31 @@
#!/usr/bin/env python3
import logging
import sentry_sdk
from sentry_sdk.integrations.logging import LoggingIntegration
import config
"""
Main Entrypoint
"""
__author__ = "@tormakris"
__copyright__ = "Copyright 2020, Birbnetes Team"
__module_name__ = "app"
__version__text__ = "1"
sentry_logging = LoggingIntegration(
level=logging.INFO,
event_level=logging.ERROR
)
if config.SENTRY_DSN:
sentry_sdk.init(
dsn=config.SENTRY_DSN,
integrations=[sentry_logging],
traces_sample_rate=1.0,
send_default_pii=True,
release=config.RELEASE_ID,
environment=config.RELEASEMODE,
_experiments={"auto_enabling_integrations": True}
)

15
src/config.py Normal file
View File

@ -0,0 +1,15 @@
#!/usr/bin/env python3
import os
"""
Main Flask RESTful API
"""
__author__ = "@tormakris"
__copyright__ = "Copyright 2020, Birbnetes Team"
__module_name__ = "app"
__version__text__ = "1"
SENTRY_DSN = os.environ.get("SENTRY_DSN")
RELEASE_ID = os.environ.get("RELEASE_ID", "test")
RELEASEMODE = os.environ.get("INPUT_SERVICE_RELEASEMODE", "dev")

View File

View File

@ -0,0 +1,24 @@
#!/usr/bin/env python3
from abc import ABC, abstractmethod
"""
Abstract base class for Sender
"""
__author__ = "@tormakris"
__copyright__ = "Copyright 2020, Birbnetes Team"
__module_name__ = "abcpreprocessor"
__version__text__ = "1"
class AbcPreProcessor(ABC):
"""
Abstract base class PreProcessor. Responsible for manipulating input data from a sensor.
"""
@abstractmethod
def preprocesssignal(self, signal):
"""
Preprocess a signal.
:return:
"""
pass

0
src/sender/__init__.py Normal file
View File

24
src/sender/abcsender.py Normal file
View File

@ -0,0 +1,24 @@
#!/usr/bin/env python3
from abc import ABC, abstractmethod
"""
Abstract base class for Sender
"""
__author__ = "@tormakris"
__copyright__ = "Copyright 2020, Birbnetes Team"
__module_name__ = "abcsender"
__version__text__ = "1"
class AbcSender(ABC):
"""
Abstract base class Sender. Responsible for sending results to the cloud.
"""
@abstractmethod
def sendvalue(self, value, decision):
"""
Send a value to the cloud.
:return:
"""
pass

0
src/sensor/__init__.py Normal file
View File

24
src/sensor/abcsensor.py Normal file
View File

@ -0,0 +1,24 @@
#!/usr/bin/env python3
from abc import ABC, abstractmethod
"""
Abstract base class for Sensor
"""
__author__ = "@tormakris"
__copyright__ = "Copyright 2020, Birbnetes Team"
__module_name__ = "abcsensor"
__version__text__ = "1"
class AbcSensor(ABC):
"""
Abstract base class Sensor. Responsible for value retrieval from hardware sensors.
"""
@abstractmethod
def getvalue(self):
"""
Retrieve a value from a sensor.
:return:
"""
pass

View File

View File

@ -0,0 +1,24 @@
#!/usr/bin/env python3
from abc import ABC, abstractmethod
"""
Abstract base class for signalprocessor
"""
__author__ = "@tormakris"
__copyright__ = "Copyright 2020, Birbnetes Team"
__module_name__ = "abcsignalprocessor"
__version__text__ = "1"
class AbcSignalProcessor(ABC):
"""
Abstract base class Signal Processor. Responsible for handling a signal processor pipeline.
"""
@abstractmethod
def processcurrentsignal(self):
"""
Process a signal.
:return:
"""
pass