Skip to content

Instantly share code, notes, and snippets.

View cfitz's full-sized avatar

Chris Fitzpatrick cfitz

  • Machine Games
  • Sweden
View GitHub Profile
@cfitz
cfitz / http.rb
Created May 17, 2017 10:07
Use HTTPS if post is set to 443/8443
require 'net/http'
class Net::HTTP
singleton_class.send(:alias_method, :start_orig, :start)
class << self
def start(address, *arg, &block)
opt = Hash.try_convert(arg[-1]) ? arg.pop : {}
opt[:use_ssl] = ( [ 443, 8443 ].include?(arg.first) )
arg << opt
<%# This would go into views/welcome/index.html.erb %>
<%= setup_context :title => "Home", :suppress_breadcrumb => true %>
<div class="row">
<div class="col-md-12">
<%= render_aspace_partial :partial => "shared/flash_messages" %>
</div>
<div class="col-md-12" style="padding: 30px;">
<h1><%= I18n.t "welcome.heading" %></h1>
# This edits the archivesspace mysql database to pull out indicator_1 vales in the
# container table that have "XX.YY" values.
# the indicator_1 and indicator_2 values are updated to be indicator_1 = XX and
# indicator_2 = YY, with a type_1 = box and type_2 = folder.
# all other container values are copied over as is.
# Containers with indicator_1 that do not have "." in them are left as-is.
# AS ALWAYS!!! MAKE A BACKUP OF YOUR DB BEFORE YOU DO THIS AND THEN CHECK IF THIS
# DID WHAT YOU WANTED!!!
@cfitz
cfitz / american-communists.xml
Created January 12, 2017 00:03
Add a note with 856$u and 856$z ( <a href="$u">$z</a> )
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<collection xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd" xmlns="http://www.loc.gov/MARC21/slim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<record>
<leader>00000npc a2200000 u 4500</leader>
<controlfield tag="008">081112i19002007xx eng d</controlfield>
<datafield tag="040" ind2=" " ind1=" ">
<subfield code="a">NyNyUA</subfield>
<subfield code="b">eng</subfield>
<subfield code="c">NyNyUA</subfield>
<subfield code="e">dacs</subfield>
# plugins/local/public/plugin_init.rb
Rails.application.config.after_initialize do
SearchController.class_eval do
private
def set_search_criteria
@criteria = params.select{|k,v|
require 'uri'
require 'fileutils'
require 'iiif/presentation'
require 'json'
collection = nil
@base = "http://loris-dev.dlts.org/loris/"
@cfitz
cfitz / manifest.json
Created September 14, 2016 08:28
iip manifests
{
"@context": "http://iiif.io/api/presentation/2/context.json",
"@id": "http://loris-dev.dlts.org/loris//manifest.json",
"@type": "sc:Manifest",
"label": "NYU Example",
"thumbnail": "http://loris-dev.dlts.org/loris/AD-MC-002_ref1000_n000001_m.tif/full/!200,200/0/default.jpg",
"viewingHint": "paged",
"metadata": [
{
"Foo": "Bar"
@cfitz
cfitz / indexer.rb
Created August 10, 2016 11:30
fixes fullrecord indexing in 1.5.1
class CommonIndexer
add_indexer_initialize_hook do |indexer|
indexer.add_document_prepare_hook do |doc, record|
doc['fullrecord'] = CommonIndexer.extract_string_values(record)
%w(finding_aid_subtitle finding_aid_author).each do |field|
if record['record'].has_key?(field)
doc['fullrecord'] << "#{record['record'][field]} "
end
@cfitz
cfitz / marc4j-demo
Created June 23, 2016 20:21
marc4 example
mport org.marc4j.MarcReader;
import org.marc4j.MarcStreamReader;
import org.marc4j.marc.Record;
import org.marc4j.marc.DataField;
import org.marc4j.MarcWriter;
import org.marc4j.MarcStreamWriter;
import org.marc4j.marc.MarcFactory;
@cfitz
cfitz / bulk_update.rb
Last active June 23, 2016 16:44
A way to bulk update objects in ArchivesSpace
#!/usr/bin/env ruby
require 'json'
require 'rest_client'
require "highline/import"
# This is a way to bulk update objects in ArchivesSpace using a JSON template
# It's in Ruby and you'll need to have rest_client and highline installed ( gem install rest_client highline )
# run it with ruby ./bulk_update.rb
# good luck and backup and use at your own risk!