Re: OCoLC conversion scripts?

From: Nikitas Tampakis <tampakis_at_nyob>
Date: Wed, 9 Sep 2015 12:27:37 -0400
To: CODE4LIB_at_LISTSERV.ND.EDU
Based on https://www.oclc.org/batchload/controlnumber.en.html, this ruby function should get the job done:

def oclc_normalize oclc
  oclc_num = oclc.gsub(/\D/, '').to_i.to_s
  case oclc_num.length
  when 1..8
    "ocm" + "%08d" % oclc_num
  when 9
    "ocn" + oclc_num
  else
    "on" + oclc_num
  end
end

examples:
oclc_normalize("(OCoLC)3851870") => ocm03851870
oclc_normalize("123456789") => ocn123456789
oclc_normalize("(OCoLC)1987654041") => on1987654041
oclc_normalize("42") => ocm00000042


I'm actually currently working on stripping out all of the prefixes from the OCLC number to index into Solr. I wanted the number without any leading zeros, and that gets handled by the first line of the function.
Received on Wed Sep 09 2015 - 12:27:50 EDT