Python
This commit is contained in:
@ -3,22 +3,51 @@ 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):
|
||||
filename = os.path.realpath(os.path.join(os.path.dirname(__file__), '..', 'data', args.filename))
|
||||
temp = os.path.realpath(os.path.join(os.path.dirname(__file__), '..', 'data', args.temp_filename))
|
||||
pdf.remove_encryption(filename, args.password, temp)
|
||||
obj = pdf.get_data(temp)
|
||||
obj = pdf.get_text(filename, args.password)
|
||||
text = th.text_cleanup(obj, filename=str(args.filename))
|
||||
os.remove(temp)
|
||||
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('-t', '--temp_filename', type=str)
|
||||
parser.add_argument('-l', '--log_file', type=str, default=None)
|
||||
_args = parser.parse_args()
|
||||
main(_args)
|
||||
|
Reference in New Issue
Block a user