Skip to content

Instantly share code, notes, and snippets.

@mark-cooper
mark-cooper / OpenLibraryOLIDName.java
Created January 15, 2012 06:23
Open Library authors dump: olid/names to file
package net.libcode.www.openlibrary;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import org.json.simple.JSONObject;
@mark-cooper
mark-cooper / OpenLibraryData.java
Created January 15, 2012 16:11
Open Library data dumps: getting CSV
package net.libcode.www.openlibrary;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
@mark-cooper
mark-cooper / OpenLibraryMarc.java
Created January 17, 2012 07:03
Reading Open Library marc records
package net.libcode.www.openlibrary;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import org.marc4j.MarcPermissiveStreamReader;
import org.marc4j.marc.Record;
public class OpenLibraryMarc {
@mark-cooper
mark-cooper / update_sfield.rb
Created January 23, 2012 21:13
Updating a field/subfield value with ruby-marc
require 'marc'
TAG = '856'
SUB = 'y'
STR = 'Img100'
REP = 'Img200'
count = 0
w = MARC::Writer.new('dla_fixed.mrc')
MARC::ForgivingReader.new('records/dla.mrc').each do |r|
@mark-cooper
mark-cooper / libgig.rb
Created February 23, 2012 05:20
LibGig jobs RSS to CSV
require 'rss/2.0'
require 'open-uri'
require 'csv'
csv = 'libgig.csv'
source = 'http://publicboard.libgig.com/feeds/rss20'
content = '' # raw content of rss feed will be loaded here
open(source) do |s| content = s.read end
rss = RSS::Parser.parse(content, false)
@mark-cooper
mark-cooper / google_embed.rb
Created March 2, 2012 03:38
Google books embed viewer from isbn code
# find isbn numbers with at least partial Google books embed viewer
require 'nokogiri'
require 'open-uri'
require 'json'
# load a with ISBN numbers
a = []
g = 'http://books.google.com/books?jscmd=viewapi&bibkeys='
@mark-cooper
mark-cooper / zip.rb
Created March 5, 2012 04:35
Reading and searching marc files in zip
require 'zip/zip'
require 'marc'
search = 'tower heist'
path = 'X:/Digital Projects/FTP files/files*/*'
Dir[path].each do |f|
if f =~ /\.zip$/
Zip::ZipFile.open(f) do |zipfile|
zipfile.each do |entry|
@mark-cooper
mark-cooper / OCLCCatcher.java
Created April 10, 2012 19:31
Batch deleting ContentDM records using Catcher and file of record identifiers
package org.sonomalibrary.catcher;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.oclc.cdm.catcherws.CatcherService;
import org.oclc.cdm.catcherws.Metadata;
import org.oclc.cdm.catcherws.MetadataWrapper;
@mark-cooper
mark-cooper / OCLCCatcher.java
Created April 11, 2012 23:46
Batch edit ContentDM records using Catcher
package org.sonomalibrary.catcher;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
@mark-cooper
mark-cooper / diff-osrf-eg.xml.example.txt
Created April 29, 2012 18:48
Diff as shipped OPENSRF - opensrf.xml.example - EVERGREEN
1,17c1
< <?xml version="1.0"?>
< <!--
< vim:et:ts=2:sw=2:
< -->
< <opensrf version="0.0.3">
< <!--
<
< There is one <host> entry for each server on the network. Settings for the
< 'default' host are used for every setting that isn't overridden within a given