import argparse import os import contabilidad.pdf as pdf import contabilidad.text_handler as th from contabilidad.log import Logger, LOG_LEVEL import ai.dictionary as dictionary from ai.network import AI def parse_settings(args): output = {'filename': args.filename} if not os.path.isfile(output['filename']): output['filename'] = os.path.realpath(os.path.join(os.path.dirname(__file__), '..', 'data', args.filename)) t = args.filename.split('.') output['temp'] = os.path.realpath(os.path.join(os.path.dirname(output['filename']), t[0] + '-temp.pdf')) output['dictionary'] = os.path.join(os.path.dirname(output['filename']), 'dictionary.json') output['network'] = os.path.join(os.path.dirname(output['filename']), 'network.json') output['log_file'] = args.log_file if not os.path.isfile(output['log_file']): output['log_file'] = os.path.join(os.path.dirname(os.path.dirname(output['filename'])), output['log_file']) output['error_log_file'] = os.path.join(os.path.dirname(output['log_file']), 'error.log') output['logger'] = Logger() output['logger'].add_log(output['log_file']).add_log(output['error_log_file'], LOG_LEVEL.ERROR) return output def main(args): settings = parse_settings(args) print('Loading AI') network = AI(settings['dictionary'], settings['logger']) network.set_filename(settings['network']) network.add_source({'filename': settings['filename'], 'password': args.password}) network.process_sources() exit() print('Loading dictionary.') dictio = dictionary.Dictionary(settings['dictionary'], settings['logger']) print('Getting possible phrases.') dictio.process(settings['filename'], args.password) dictio.to_data() # print('Saving dictionary.') # dictio.save() if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('-f', '--filename', type=str) parser.add_argument('-p', '--password', type=str, default='') parser.add_argument('-l', '--log_file', type=str, default=None) _args = parser.parse_args() main(_args)