Артем
Артем

Reputation: 1

How to solve Config validation error when tokenizer is not callable in Python?

link to github https://github.com/artemiy-code/course-work

main.py

from flask import Flask, render_template, request
import os
from pyresparser import ResumeParser
app = Flask(__name__)

# Function for extracting main points of a resume
def extract_resume_info(resume_path):
    data = ResumeParser(resume_path).get_extracted_data()
    return data


@app.route('/')
def index():
    return render_template('index.html')


@app.route('/upload', methods=['POST'])
def upload():
    if request.method == 'POST':
        resume_file = request.files['resume']
        if resume_file.filename == '':
            return render_template('index.html', message='No file selected')

        if resume_file:
            # Create directory 'temp' if it does not exist
            if not os.path.exists('temp'):
                os.makedirs('temp')
            # Save file in directory
            resume_path = os.path.join('temp', resume_file.filename)
            resume_file.save(resume_path)
            resume_info = extract_resume_info(resume_path)
            return render_template('result.html', resume_info=resume_info)

if __name__ == '__main__':
    app.run(debug=True)

config.cfg

[nlp]
pipeline = []
disabled = []
before_creation = null
after_creation = null
after_pipeline_creation = null
batch_size = 1000
lang = en
tokenizer = ()

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Resume Shortcut</title>
</head>
<body>
    <h1>Upload your resume</h1>
    <form action="/upload" method="post" enctype="multipart/form-data">
        <input type="file" name="resume" accept=".txt,.docx,.pdf,.doc">
        <input type="submit" value="Submit">
    </form>
    {% if message %}
    <p>{{ message }}</p>
    {% endif %}
</body>
</html>

result.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Resume Bullet points</title>
</head>
<body>
    <h1>Resume Summary</h1>
    <p>Name: {{ resume_info.name }}</p>
    <p>Age: {{ resume_info.age }}</p>
    <p>Experience: {{ resume_info.experience }}</p>
    <p>University: {{ resume_info.university }}</p>
</body>
</html>

This is a web app, in which you upload your resume file and get bulletpoints in return,like your experience,university etc. I have problem with tokenizer.I have used other tokenizers line spacy.Tokenizer.v1, but still have an error. When i upload a file and press 'Submit' I get an error: ConfigValidationError confection.ConfigValidationError:

Config validation error tokenizer () is not callable {'pipeline': [], 'disabled': [], 'before_creation': None, 'after_creation': None, 'after_pipeline_creation': None, 'batch_size': 1000, 'lang': 'en', 'tokenizer': '()', 'vectors': {'@vectors': 'spacy.Vectors.v1'}}

Also you can recomend some other Resume modules that work well. I am using pyresparser.

Upvotes: 0

Views: 130

Answers (0)

Related Questions