def web_converter(): input_text = '' output_text = '' new_text = '' if request.method == 'POST': if META['tmp_folder'] != '': shutil.rmtree(META['tmp_folder']) META['tmp_folder'] = '' input_text = request.values.get('inp_text') #app.logger.info(input_text) both = request.form.getlist('both') if 'go' in request.values: if 'spell' in META['current_delimiters_text']: check_brackets = 1 else: check_brackets = 0 if 'show' in both: output_text, changes, wrong_changes, _ = Processor.process_text( input_text, 1, META['old_new_delimiters'][ META['current_delimiters_text']], check_brackets) else: output_text, changes, wrong_changes, _ = Processor.process_text( input_text, 0, META['old_new_delimiters'][ META['current_delimiters_text']], check_brackets) if 'clean' in request.values: input_text = '' output_text = '' if 'download_txt' in request.values: ftxt = request.files.getlist("f_txt") errors = [] curr_time = time.time() clean_store(curr_time) tmp_folder = str(curr_time) + '_ptc' META['tmp_folder'] = META['tmp_store'] + tmp_folder os.mkdir(tmp_folder) for el in ftxt: try: META['filename'] = secure_filename(el.filename) input_text = el.read().decode('utf-8') if 'spell' in META['current_delimiters_text']: check_brackets = 1 else: check_brackets = 0 if 'show' in both: new_text, changes, wrong_changes, _ = Processor.process_text( input_text, 1, META['old_new_delimiters'] [META['current_delimiters_text']], check_brackets) else: new_text, changes, wrong_changes, _ = Processor.process_text( input_text, 0, META['old_new_delimiters'] [META['current_delimiters_text']], check_brackets) with codecs.open('log', 'w', 'utf-8') as ou: ou.write(changes) print changes, 'THIS' name = os.path.splitext(META['filename'])[0] suffix = os.path.splitext(META['filename'])[1] print 'GET NAME' if suffix == '': suffix = '.txt' new_filename = name + "_transliterated" + suffix log_filename = name + '_log.txt' fnpath = tmp_folder + '/' + new_filename lpath = tmp_folder + '/' + log_filename print 'GET PATH' with codecs.open(fnpath, 'w', 'utf-8') as ou1: ou1.write(new_text) print 'WRITE DATA' with codecs.open(lpath, 'w', 'utf-8') as ou2: ou2.write(changes) print changes, 'WRITE LOG' except: m = 'Error: file ' + secure_filename(el.filename) errors.append(m) if errors: errors = u'\n'.join(errors) fer = tmp_folder + '/' + 'errors.txt' with codecs.open(fer, 'w', 'utf-8') as ou3: ou3.write(errors) response = Response(generator(tmp_folder), mimetype='application/zip') response.headers[ 'Content-Disposition'] = 'attachment; filename={}'.format( 'files.zip') return response if 'download_xml' in request.values: fxml = request.files.getlist("f_xml") errors = [] tmp_folder = str(time.time()) + '_ptc' META['tmp_folder'] = tmp_folder os.mkdir(tmp_folder) for el in fxml: try: META['filename'] = secure_filename(el.filename) temp_filename = LoadData.get_temp_web(tmp_folder, el) new_text, changes = LoadData.iterate_root_web( temp_filename) os.remove(temp_filename) name = os.path.splitext(META['filename'])[0] suffix = os.path.splitext(META['filename'])[1] if suffix == '': suffix = '.txt' new_filename = name + "_transliterated" + suffix log_filename = name + '_log.txt' fnpath = tmp_folder + '/' + new_filename lpath = tmp_folder + '/' + log_filename with codecs.open(fnpath, 'w') as ou1: ou1.write(new_text) if changes != u'': with codecs.open(lpath, 'w', 'utf-8') as ou2: ou2.write(changes) except: m = 'Error: file ' + secure_filename(el.filename) errors.append(m) if errors: errors = u'\n'.join(errors) fer = tmp_folder + '/' + 'errors.txt' with codecs.open(fer, 'w', 'utf-8') as ou3: ou3.write(errors) response = Response(generator(tmp_folder), mimetype='application/zip') response.headers[ 'Content-Disposition'] = 'attachment; filename={}'.format( 'files.zip') return response return render_template("prereform_to_contemporary.html", output_text=output_text, input_text=input_text) return render_template("prereform_to_contemporary.html", output_text=output_text, input_text=input_text)