diff options
author | lhinds <lhinds@redhat.com> | 2017-05-17 13:31:18 +0100 |
---|---|---|
committer | lhinds <lhinds@redhat.com> | 2017-05-22 14:12:27 +0100 |
commit | 0142c227fca974fb65561d0aeb9b38c8683e22e6 (patch) | |
tree | f802b60e2ceab8b033212568d3adddc754faa7da /anteater/anteater.py | |
parent | 9c00ca00dcad5624288de38e0a529f7f7b3915db (diff) |
Initial code push of Anteater
Likely far to much to cover in a commit msg.
Main bulk is the Anteater code itself, alongside
packaging requirements and build tools and Dockerfile.
Unit tests are planned as a follow up, so pushing this for now
so that efforts can get underway to integrate the tool with
jjb.
Questions on how it works, please reach me in IRC.
Change-Id: I2cd3cae391f8bf2cdc91b39c56dfc4833a1c4913
Signed-off-by: lhinds <lhinds@redhat.com>
Diffstat (limited to 'anteater/anteater.py')
-rw-r--r-- | anteater/anteater.py | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/anteater/anteater.py b/anteater/anteater.py new file mode 100644 index 0000000..063fcbd --- /dev/null +++ b/anteater/anteater.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +############################################################################## +# Copyright (c) 2017 Luke Hinds <lhinds@redhat.com>, Red Hat +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +# from __future__ import division, print_function, absolute_import + +"""Anteater - CI Gate Checks. + +Usage: + anteater (-p |--project) <project> [(-ps |--patchset) <patchset>] + anteater (-p |--project) <project> [--path <project_path>] + anteater (-h | --help) + anteater --version + +Options: + -h --help Show this screen. + --version Show version. +""" + +import ConfigParser +from docopt import docopt +import os +from src.patch_scan import prepare_patchset +from src.project_scan import prepare_project +import utils.anteater_logger as antlog + + +config = ConfigParser.RawConfigParser() +config.read('anteater.conf') +reports_dir = config.get('config', 'reports_dir') +logger = antlog.Logger(__name__).getLogger() +__version__ = "0.1" + + +def check_dir(): + """ Creates a directory for scan reports """ + try: + os.makedirs(reports_dir) + logger.info('Creating reports directory: {0}'.format(reports_dir)) + except OSError as e: + if not os.path.isdir(reports_dir): + logger.error(e) + + +def main(): + """ Main function, mostly for passing arguments """ + check_dir() + arguments = docopt(__doc__, version=__version__) + + if arguments['<patchset>']: + prepare_patchset(arguments['<project>'], arguments['<patchset>']) + elif arguments['<project_path>']: + prepare_project(arguments['<project>'], arguments['<project_path>']) + + +if __name__ == "__main__": + main() |