add abc
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
38e7c466c7
commit
7334000eb8
|
@ -0,0 +1,38 @@
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: default
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: static_analysis
|
||||||
|
image: "python:3.8"
|
||||||
|
commands:
|
||||||
|
- pip3 install --cache-dir='./.pipcache' pylint bandit mccabe
|
||||||
|
- pip3 install --cache-dir='./.pipcache' -r requirements.txt
|
||||||
|
- find . -name "*.py" -exec python3 -m py_compile '{}' \;
|
||||||
|
- find . -name "*.py" -exec pylint '{}' + || if [ $? -eq 1 ]; then echo "you fail"; fi
|
||||||
|
- find . -name "*.py" -exec python3 -m mccabe --min 3 '{}' + || if [ $? -eq 1 ]; then echo "you fail"; fi
|
||||||
|
- bandit -r . + || if [ $? -eq 1 ]; then echo "you fail"; fi
|
||||||
|
|
||||||
|
- name: code-analysis
|
||||||
|
image: aosapps/drone-sonar-plugin
|
||||||
|
settings:
|
||||||
|
sonar_host:
|
||||||
|
from_secret: SONAR_HOST
|
||||||
|
sonar_token:
|
||||||
|
from_secret: SONAR_CODE
|
||||||
|
|
||||||
|
- name: sentry
|
||||||
|
image: tormachris/drone-sentry
|
||||||
|
settings:
|
||||||
|
sentry_project: ${DRONE_REPO_NAME}
|
||||||
|
sentry_domain: sentry.kmlabz.com
|
||||||
|
sentry_token:
|
||||||
|
from_secret: SENTRY_TOKEN
|
||||||
|
|
||||||
|
- name: ms-teams
|
||||||
|
image: kuperiu/drone-teams
|
||||||
|
settings:
|
||||||
|
webhook:
|
||||||
|
from_secret: TEAMS_WEBHOOK
|
||||||
|
when:
|
||||||
|
status: [ failure ]
|
|
@ -129,3 +129,4 @@ dmypy.json
|
||||||
# Pyre type checker
|
# Pyre type checker
|
||||||
.pyre/
|
.pyre/
|
||||||
|
|
||||||
|
.idea/
|
|
@ -0,0 +1 @@
|
||||||
|
sentry_sdk
|
|
@ -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}
|
||||||
|
)
|
||||||
|
|
|
@ -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")
|
|
@ -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,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,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
|
|
@ -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
|
Loading…
Reference in New Issue