OpenCATS icon indicating copy to clipboard operation
OpenCATS copied to clipboard

Evaluate replacement resume parsing services

Open RussH opened this issue 9 years ago • 1 comments

We can replace the existing non-functional resume parsing (used to exist at resfly.com) with a similar SOAP call out to a replacement service. One example is www.bighelpdesk.com/cvparseapi.aspx (free up to 50/month).

There are also open-source alternatives. https://github.com/antonydeepak/ResumeParser https://github.com/likerRr/code4goal-resume-parser

Assigning to @skrchnavy as you seem to be cleaning up parsing / sphinx - you may have this on your radar already

Note- if anyone wants to run resume parsing as a service, this is an ideal time :-)

RussH avatar Oct 20 '16 12:10 RussH

Resume parsing was not working from server side so I made some changes in client-side javascript and added some files made one autofill button. and calling the function the script goes in at this way.

//For auto fill all the documents
function allsave(){
  //For getting all the links inside variable
  var list = document.getElementById("tableData").getElementsByTagName('a');
  var i;
  for(i=0;i<list.length;i++){
    const tab = window.open(list[i],"_blank");
    tab.doNotSetListener = true;
    //To auto close the table
    setTimeout(() => tab.close(), 2500);

    if (tab.closed === true) {
      continue;
    }
  }

}
//Parsing data for the mass upload
function getTextAreaMass(){
  var data =document.getElementById('document').value;
  var parsedData = parseSingle(data);
  //To appent first Name
  document.getElementById("firstName").value = parsedData.firstName;
  //To appent the last name
  document.getElementById("lastName").value = parsedData.lastName;
  //For appenting values to the appropriate fields
  document.getElementById("email").value = parsedData.email;
  //To appent phone number
  document.getElementById("homePhone").value = parsedData.phonenumber;
  //To appent zip Code
  document.getElementById("zipCode").value = parsedData.zip;
  //To appent city
  document.getElementById("city").value = parsedData.city;
  //For running the auto save function

  if(doNotSetListener) {
   document.getElementById('save').click();
  }
}

//For parsing data for the simple upload
function getTextArea(){
  var data =document.getElementById('documentText').value;
  var parsedData = parseSingle(data);

  //For appenting values to the appropriate fields
  document.getElementById("firstName").value = parsedData.firstName;
  //To appent the last name
  document.getElementById("lastName").value = parsedData.lastName;
  //To appent email
  document.getElementById("email1").value = parsedData.email;
  //To appent phone number
  document.getElementById("phoneHome").value = parsedData.phonenumber;
  //To appent zip Code
  document.getElementById("zip").value = parsedData.zip;
  //To appent city
  document.getElementById("city").value = parsedData.city;
  //To appent first Name

}


//This function will be called to extract requerd values
function parseSingle(data){
            var parsedData = {
                email: extractEmails(data),
                phonenumber: extractPhonenumber(data),
                //zip:  extractZipcode(data),
                city: extractCity(data),
                firstName: extractFirstName(data),
                lastName: extractLastName(data)
            }
      return parsedData;
}
//Function for extracting email
function extractEmails (data){
      return data.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
}
//Function to extract Phone number
function extractPhonenumber(data){
  return data.match(/(\d{3}-?\d{3}-?\d{4})/g);
}
//Function to extract zip Code
function extractZipcode(data){
  return data.match(/(-+[\d][\d][\d][\d][\d][\d]+[\s])/g);
}

//Function for extracting city
function extractCity(data){
  return data.match(/([a-zA-Z0-9._-]+-+[\d][\d][\d][\d][\d][\d]+[\s])/gi);
}

function extractFirstName(data){
   var words = data.split(" ");
   return words[0];
  //return words[0];
}

function extractLastName(data){
   var words = data.split(" ");
   return words[1];
  //return words[0];
}

You have to call window.onload=getTextAreaMass(); in modules/import/MassImportEdit.tpl Also

You have to call In modules/import/MassImportStep3.tpl

arunwebber avatar Jul 18 '18 06:07 arunwebber