diff --git a/code/app.py b/code/app.py index f319d49..a241eaa 100644 --- a/code/app.py +++ b/code/app.py @@ -3,7 +3,6 @@ from fastapi import FastAPI, Request, HTTPException from fastapi.responses import HTMLResponse from dotenv import load_dotenv import logging -from typing import List import os from utils import clone_repository, load_runner_script @@ -12,6 +11,7 @@ from gitea_request import GiteaRequest app = FastAPI() + @app.get('/', response_class=HTMLResponse) async def root(): content_str = """ @@ -27,6 +27,7 @@ async def root(): """ return HTMLResponse(content=content_str, status_code=200) + @app.post('/test') async def test(request: Request): """ Test connection to server. """ @@ -36,6 +37,7 @@ async def test(request: Request): detail='test completed' ) + @app.post('/event') def handle_event(request: GiteaRequest): """ Handle event from webhook. """ @@ -94,6 +96,7 @@ def handle_event(request: GiteaRequest): ) # consider to include link to page that show progress + if __name__ == '__main__': load_dotenv('dev.env') setup_logging() @@ -104,4 +107,4 @@ if __name__ == '__main__': app=app, host=listen_ip, port=listen_port - ) \ No newline at end of file + ) diff --git a/code/gitea_request.py b/code/gitea_request.py index b7233ea..f4201f8 100644 --- a/code/gitea_request.py +++ b/code/gitea_request.py @@ -1,6 +1,7 @@ from pydantic import BaseModel from typing import List + class GiteaRequest(BaseModel): ref: str before: str @@ -11,4 +12,4 @@ class GiteaRequest(BaseModel): head_commit: dict repository: dict pusher: dict - sender: dict \ No newline at end of file + sender: dict diff --git a/code/main.py b/code/main.py index f58a144..2003c81 100644 --- a/code/main.py +++ b/code/main.py @@ -26,4 +26,4 @@ if __name__ == '__main__': app=app, host=listen_ip, port=listen_port - ) \ No newline at end of file + ) diff --git a/code/runner_script.py b/code/runner_script.py index 180a870..9ac4775 100644 --- a/code/runner_script.py +++ b/code/runner_script.py @@ -21,4 +21,4 @@ class RunnerScript(BaseModel): if __name__ == '__main__': path = Path(__file__).parent.parent / 'runner_script.yml' rs = RunnerScript.from_file(path) - print(rs) \ No newline at end of file + print(rs) diff --git a/code/setup_logging.py b/code/setup_logging.py index 06d0c9c..7f75836 100644 --- a/code/setup_logging.py +++ b/code/setup_logging.py @@ -1,6 +1,5 @@ from dotenv import load_dotenv import logging -import os from configparser import ConfigParser from pathlib import Path from typing import Literal @@ -15,12 +14,19 @@ LOGGER_LEVEL = config.get('main', 'logger_level') def setup_logging( logger_level: Literal['debug', 'info', 'warning', 'error'] = LOGGER_LEVEL ): - fmt = '%(asctime)s | %(levelname)s | %(filename)s | %(funcName)s | %(message)s' + fmt = ( + '%(asctime)s | ' + '%(levelname)s | ' + '%(filename)s | ' + '%(funcName)s | ' + '%(message)s' + ) datefmt = '%Y-%m-%d %H:%M:%S' level = getattr(logging, logger_level.upper()) logging.basicConfig(format=fmt, datefmt=datefmt, level=level) logging.debug('finished') + if __name__ == '__main__': load_dotenv('dev.env') - setup_logging() \ No newline at end of file + setup_logging() diff --git a/code/utils.py b/code/utils.py index b80555d..f92f267 100644 --- a/code/utils.py +++ b/code/utils.py @@ -1,5 +1,4 @@ from pydantic import AnyHttpUrl -from typing import List from pathlib import Path from git import Repo import logging @@ -8,6 +7,7 @@ import os import yaml from runner_script import RunnerScript + def clone_repository(repo_url: AnyHttpUrl) -> Path: # extract repo name repo_name = repo_url.split('/')[-1].replace('.git', '') @@ -23,6 +23,7 @@ def clone_repository(repo_url: AnyHttpUrl) -> Path: logging.debug('finished') return dst_dir + def load_runner_script(path: Path) -> RunnerScript: assert path.exists() with open(path, 'r') as fh: @@ -30,4 +31,3 @@ def load_runner_script(path: Path) -> RunnerScript: runner_script = RunnerScript.parse_obj(script) logging.debug('finished') return runner_script - \ No newline at end of file