Gathers various values from the gate check yaml file and return them to the
calling instance
"""
+from __future__ import absolute_import
-import anteater.utils.anteater_logger as antlog
-import ConfigParser
+import logging
+import six.moves.configparser
import copy
import os
import yaml
import re
-config = ConfigParser.RawConfigParser()
+
+config = six.moves.configparser.RawConfigParser()
config.read('anteater.conf')
-logger = antlog.Logger(__name__).getLogger()
+logger = logging.getLogger(__name__)
master_list = config.get('config', 'master_list')
+ignore_list = config.get('config', 'ignore_list')
with open(master_list, 'r') as f:
- yl = yaml.safe_load(f)
+ ml = yaml.safe_load(f)
+
+with open(ignore_list, 'r') as f:
+ il = yaml.safe_load(f)
def _remove_nullvalue(contents):
with open(exception_file, 'r') as f:
ex = yaml.safe_load(f)
for key in ex:
- if key in yl:
- yl[key][project] = _merge(yl[key][project], ex.get(key, None)) \
- if project in yl[key] else ex.get(key, None)
+ if key in ml:
+ ml[key][project] = _merge(ml[key][project], ex.get(key, None)) \
+ if project in ml[key] else ex.get(key, None)
self.loaded = True
def binary_list(self, project):
- project_list = False
- self.load_project_exception_file(yl.get('project_exceptions'), project)
try:
- default_list = (yl['binaries']['binary_ignore'])
+ default_list = (ml['binaries']['binary_ignore'])
except KeyError:
logger.error('Key Error processing binary list values')
- try:
- project_list = (yl['binaries'][project]['binary_ignore'])
- except KeyError:
- logger.info('No binary waivers found for {0}'.
- format(project))
binary_re = re.compile("|".join(default_list),
- flags=re.IGNORECASE)
+ flags=re.IGNORECASE)
+ return binary_re
+
+ def binary_hash(self, project, patch_file):
+ self.load_project_exception_file(ml.get('project_exceptions'), project)
+ try:
+ binary_hash = (ml['binaries'][project][patch_file])
+ return binary_hash
+ except KeyError:
+ binary_hash = 'null'
+ return binary_hash
- if project_list:
- binary_project_re = re.compile("|".join(project_list),
- flags=re.IGNORECASE)
- return binary_re, binary_project_re
- else:
- binary_project_re = re.compile("")
- return binary_re, binary_project_re
def file_audit_list(self, project):
project_list = False
- self.load_project_exception_file(yl.get('project_exceptions'), project)
+ self.load_project_exception_file(ml.get('project_exceptions'), project)
try:
- default_list = set((yl['file_audits']['file_names']))
+ default_list = set((ml['file_audits']['file_names']))
except KeyError:
logger.error('Key Error processing file_names list values')
try:
- project_list = set((yl['file_audits'][project]['file_names']))
- logger.info('file_names waivers found for {0}'.
- format(project))
+ project_list = set((ml['file_audits'][project]['file_names']))
+ logger.info('file_names waivers found for %s', project)
except KeyError:
- logger.info('No file_names waivers found for {0}'.
- format(project))
+ logger.info('No file_names waivers found for %s', project)
file_names_re = re.compile("|".join(default_list),
flags=re.IGNORECASE)
def file_content_list(self, project):
project_list = False
- self.load_project_exception_file(yl.get('project_exceptions'), project)
+ self.load_project_exception_file(ml.get('project_exceptions'), project)
+ try:
+ master_list = (ml['file_audits']['file_contents'])
+
+ except KeyError:
+ logger.error('Key Error processing file_contents list values')
+
try:
- default_list = set((yl['file_audits']['file_contents']))
+ ignore_list = il['file_audits']['file_contents']
+
except KeyError:
logger.error('Key Error processing file_contents list values')
+
try:
- project_list = set((yl['file_audits'][project]['file_contents']))
+ project_list = ml['file_audits'][project]['file_contents']
+
except KeyError:
- logger.info('No file_contents waivers found for {0}'.
- format(project))
+ logger.info('No file_contents waivers found for %s', project)
- file_contents_re = re.compile("|".join(default_list),
- flags=re.IGNORECASE)
+ ignore_list_merge = project_list + ignore_list
- if project_list:
- file_contents_proj_re = re.compile("|".join(project_list),
- flags=re.IGNORECASE)
- return file_contents_re, file_contents_proj_re
- else:
- file_contents_proj_re = re.compile("")
- return file_contents_re, file_contents_proj_re
+ ignore_list_re = re.compile("|".join(ignore_list_merge), flags=re.IGNORECASE)
+
+ return master_list, ignore_list_re
+
+ def file_ignore(self):
+ try:
+ file_ignore = (ml['file_ignore'])
+ except KeyError:
+ logger.error('Key Error processing file_ignore list values')
+ return file_ignore
def licence_extensions(self):
try:
- licence_extensions = (yl['licence']['licence_ext'])
+ licence_extensions = (ml['licence']['licence_ext'])
except KeyError:
logger.error('Key Error processing licence_extensions list values')
return licence_extensions
def licence_ignore(self):
try:
- licence_ignore = (yl['licence']['licence_ignore'])
+ licence_ignore = (ml['licence']['licence_ignore'])
except KeyError:
logger.error('Key Error processing licence_ignore list values')
return licence_ignore