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)