54 lines
2.1 KiB
Python
54 lines
2.1 KiB
Python
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)
|