diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7496b1d29537c082c139a160bf072328af5923d3..2e4b4615b087ef4d64820ff61f62340cfa44ad2a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,11 +7,8 @@ build: IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG DOCKER_HOST: http://docker:2375/v1.24/auth script: - - echo "hello 1" - echo "password is ${CI_REGISTRY_PASSWORD} and username is ${CI_REGISTRY_USER} and resgistry is ${CI_REGISTRY}" - - echo "hello 2" - echo $CI_REGISTRY_PASSWORD | docker login $CI_REGISTRY -u $CI_REGISTRY_USER --password-stdin - #- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker build -t $CI_COMMIT_BRANCH.$CI_COMMIT_TIMESTAMP . - docker push $IMAGE_TAG tags: diff --git a/config.py b/config.py index c6591895ef2302c00c3e6ff4546ed32dd0b6bca4..a098f6494d61c3558c3c576b558ca0536010723a 100644 --- a/config.py +++ b/config.py @@ -3,8 +3,6 @@ basedir = os.path.abspath(os.path.dirname(__file__)) print(f"DEBUG: config {basedir}") class Config(object): + """Base config class""" SQLALCHEMY_TRACK_MODIFICATIONS = False INIT_LOCATION = '/secrets/config.ini' - - -# this is a test diff --git a/sq_projects_list.py b/sq_projects_list.py index ab9d7eb86c6f11ff36ac8046fe5bb797e2eccfd4..d022fc8e27296b21aff0c7bdfc482d80c9748b14 100755 --- a/sq_projects_list.py +++ b/sq_projects_list.py @@ -26,14 +26,16 @@ def filter_data(data, months_nr): date_obj = datetime.datetime.strptime(date_str, '%Y-%m-%dT%H:%M:%S%z') months_diff = ( datetime.datetime.now(date_obj.tzinfo) - date_obj - ) // datetime.timedelta(days=30) + ) // datetime.timedelta(days=30) if months_diff > months_nr: filtered_data.append(item) return filtered_data -def fetch_data(sq_ini = os.path.expanduser('~/.config/sonarqube.ini')): + +def fetch_data(config_ini=os.path.expanduser('~/.config/sonarqube.ini')): + """fetch data from SonarQube""" config = configparser.RawConfigParser() - config.read(sq_ini) + config.read(config_ini) sq_token = config.get('sq', 'token') sq_host = config.get('sq', 'host') session = requests.Session() @@ -47,21 +49,20 @@ def fetch_data(sq_ini = os.path.expanduser('~/.config/sonarqube.ini')): raise Exception(f'Error: HTTP status code is {req.status_code}') proj_list = req.json()['components'] - final_list = [] + list_out = [] for project in proj_list: if 'lastAnalysisDate' in project: - final_list.append({ + list_out.append({ 'project_name': project['name'], 'last_analysis_date': project['lastAnalysisDate'] }) else: - final_list.append({ + list_out.append({ 'project_name': project['name'], 'last_analysis_date': '1970-01-01T01:00:00+0200' }) - return final_list - + return list_out if __name__ == '__main__': @@ -84,7 +85,6 @@ You can generate a token in SonarQube under My Account > Security ''') os.sys.exit(1) - # filter the data based on the last_analysis_date final_list = fetch_data() filtered_list = filter_data(final_list, int(months)) diff --git a/webapp/__init__.py b/webapp/__init__.py index 90ad198e3f7c2bd302edd0324d3d0370961339c4..bf5ef3823535ec0983aff5f839e20ff733103d55 100644 --- a/webapp/__init__.py +++ b/webapp/__init__.py @@ -1,8 +1,6 @@ from flask import Flask from config import Config +from webapp import routes # models app = Flask(__name__) app.config.from_object(Config) - -from webapp import routes#, models - diff --git a/webapp/routes.py b/webapp/routes.py index 85aa1ee153a5901d5cf927a7e67cac8e78d0a5c0..9265d74f3e1972c8cec1319a72bdd7187ded69ec 100644 --- a/webapp/routes.py +++ b/webapp/routes.py @@ -8,13 +8,13 @@ from sq_projects_list import filter_data, fetch_data import config conf = config.Config() + @app.route('/') @app.route('/index') def index(): + """Index page""" try: - return Response(json.dumps(filter_data(fetch_data(conf.INIT_LOCATION),12 )), status=200 ) - except: - return Response('Wea have a problem', status=500) - return filter_data(fetch_data(),12 ) - - + return Response(json.dumps(filter_data(fetch_data(conf.INIT_LOCATION), 12)), status=200) + except Exception as err: + return Response(f'We have a problem: {err}', status=500) + return filter_data(fetch_data(), 12)