1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import logging
- import sys
- from CSVReader import CSVReader
- from Evaluation import Evaluator
- from vendors.debian.DebianModel import DebianModel
- ##### GLOBAL VARIABLES #####
- logging.basicConfig(stream=sys.stderr, level=logging.DEBUG)
- # Increase the recursion limit by much to allow bs to parse large files ()
- sys.setrecursionlimit(6000)
- secondsperday = 86400
- verbosity = 1
- ###### FUNCTIONS ######
- def aptsec_help():
- """
- :return:
- """
- print('See manual for correct usage!')
- '''
- TODO:
- - add parameterized extensions
- - for input config_default.txt file
- - for action
- - vendors ( OPTIONAL )
-
- '''
- def __main__(configfile='config_default.txt', vendorname='debian', action='help'):
- # support only debian
- if vendorname is 'debian':
- model = DebianModel(action)
- ### generate test files ###
- norm_param = 12
- gen_dummy_model(3,norm_param)
- gen_dummy_model(6,norm_param)
- gen_dummy_model(9,norm_param)
- gen_dummy_model(12,norm_param)
- ### compute error
- Evaluator.evaluate_expectation(CSVReader.read_csv_opinons(3), model, 3,norm_param)
- Evaluator.evaluate_expectation(CSVReader.read_csv_opinons(6), model, 6,norm_param)
- Evaluator.evaluate_expectation(CSVReader.read_csv_opinons(9), model, 9,norm_param)
- Evaluator.evaluate_expectation(CSVReader.read_csv_opinons(12), model, 12,norm_param)
- else:
- print("Only debian vendors are supported for now.")
- sys.exit(1)
- def gen_dummy_model(month, norm_param):
- res = CSVReader.read_csv_prediction_errorcompl(
- "vendors/debian/inputs/dummy_input_package_prediction_errorcompl.csv", month, norm_param=norm_param)
- with open('vendors/debian/models/dummy_model_' + str(month) + '.csv', 'w') as file:
- for key in res:
- file.write(key + ":" + str(res[key].t) + ":" + str(res[key].c) + ":" + str(res[key].f) + "\n")
- __main__(action='status')
|