diff options
| author | Fabien Pinckaers <fp@tinyerp.com> | 2008-12-29 18:28:57 +0100 |
|---|---|---|
| committer | Fabien Pinckaers <fp@tinyerp.com> | 2008-12-29 18:28:57 +0100 |
| commit | d47f1b6650fd8521656710f767838d2935f8eb8a (patch) | |
| tree | 215e151934a2b84e0d8d213d3729cbc03f33eee8 /addons/base_module_quality/base_module_quality.py | |
| parent | 028a994fe916a2a12f6678698a6a2b2ad3c8fed8 (diff) | |
| parent | 9dac7587aaafb5294abb840191c77e9517482a74 (diff) | |
modifs
bzr revid: fp@tinyerp.com-20081229172857-rwpkla4hmala06vh
Diffstat (limited to 'addons/base_module_quality/base_module_quality.py')
| -rw-r--r-- | addons/base_module_quality/base_module_quality.py | 97 |
1 files changed, 78 insertions, 19 deletions
diff --git a/addons/base_module_quality/base_module_quality.py b/addons/base_module_quality/base_module_quality.py index ef4a0c3c515..1a84f35b67a 100644 --- a/addons/base_module_quality/base_module_quality.py +++ b/addons/base_module_quality/base_module_quality.py @@ -20,40 +20,70 @@ # ############################################################################## import pooler +import os +from tools import config class abstract_quality_check(object): ''' This Class provide... ''' - #This float have to store the rating of the module. - #Used to compute the final score (average of all scores). - score = 0.0 - - #This char have to store the result. - #Used to display the result of the test. - result = "" - - #This char have to store the result with more details. - #Used to provide more details if necessary. - result_details = "" - - #This bool defines if the test can be run only if the module is installed. - #True => the module have to be installed. - #False => the module can be uninstalled. - bool_installed_only = True +# #This float have to store the rating of the module. +# #Used to compute the final score (average of all scores). +# score = 0.0 +# +# #This char have to store the result. +# #Used to display the result of the test. +# result = "" +# +# #This char have to store the result with more details. +# #Used to provide more details if necessary. +# result_details = "" +# +# #This bool defines if the test can be run only if the module is installed. +# #True => the module have to be installed. +# #False => the module can be uninstalled. +# bool_installed_only = True def __init__(self): ''' this method should initialize the var ''' - raise 'Not Implemented' + #This float have to store the rating of the module. + #Used to compute the final score (average of all scores). + self.score = 0.0 + + #This char have to store the result. + #Used to display the result of the test. + self.result = "" - def run_test(self, cr, uid, module_path=""): + #This char have to store the result with more details. + #Used to provide more details if necessary. + self.result_details = "" + + #This bool defines if the test can be run only if the module is installed. + #True => the module have to be installed. + #False => the module can be uninstalled. + self.bool_installed_only = True + + self.tests = [] + self.list_folders = os.listdir(config['addons_path']+'/base_module_quality/') + for item in self.list_folders: + self.item = item + path = config['addons_path']+'/base_module_quality/'+item + if os.path.exists(path+'/'+item+'.py') and item not in ['report', 'wizard', 'security']: + item2 = 'base_module_quality.' + item +'.' + item + x = __import__(item2) + x2 = getattr(x, item) + x3 = getattr(x2, item) + self.tests.append(x3) +# raise 'Not Implemented' + + def run_test(self, cr, uid, module_path="", module_state=""): ''' this method should do the test and fill the score, result and result_details var ''' - raise 'Not Implemented' +# raise 'Not Implemented' def get_objects(self, cr, uid, module): # This function returns all object of the given module.. @@ -77,5 +107,34 @@ class abstract_quality_check(object): result_ids[obj] = ids return result_ids + def format_table(self, test='', header=[], data_list=[]): + res_format = {} + if test=='method': + detail = "" + detail += "\n===Method Test===\n" + res_format['detail'] = detail + if not data_list[2]: + detail += ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-16s \n! %-20s \n! %-16s ') % (header[0].ljust(40), header[1].ljust(16), header[2].ljust(20), header[3].ljust(16)) + for res in data_list[1]: + detail += ('\n|-\n| %s \n| %s \n| %s \n| %s ') % (res, data_list[1][res][0], data_list[1][res][1], data_list[1][res][2]) + res_format['detail'] = detail + '\n|}' + res_format['summary'] = data_list[0] + elif test=='pylint': + res_format['summary'] = data_list[0] + res_format['detail'] = data_list[1] + elif test=='speed': + detail = "" + detail += "\n===Speed Test===\n" + res_format['detail'] = detail + if not data_list[2]: + detail += ('{| border="1" cellspacing="0" cellpadding="5" align="left" \n! %-40s \n! %-10s \n! %-10s \n! %-10s \n! %-10s \n! %-20s') % (header[0].ljust(40), header[1].ljust(10), header[2].ljust(10), header[3].ljust(10), header[4].ljust(10), header[5].ljust(20)) + for data in data_list[1]: + detail += ('\n|-\n| %s \n| %s \n| %s \n| %s \n| %s \n| %s ') % (data[0], data[1], data[2], data[3], data[4], data[5]) + res_format['detail'] = detail + '\n|}\n' + res_format['summary'] = data_list[0] + return res_format + + + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
