oai 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/lib/oai/client.rb +21 -4
- data/lib/oai/constants.rb +1 -1
- data/lib/oai/harvester/harvest.rb +22 -16
- data/lib/oai/harvester/logging.rb +2 -2
- data/lib/oai/harvester/shell.rb +3 -1
- data/lib/oai/provider.rb +5 -1
- data/lib/oai/provider/metadata_format.rb +6 -2
- data/lib/oai/provider/model.rb +3 -0
- data/lib/oai/provider/model/activerecord_wrapper.rb +1 -1
- data/lib/oai/provider/response.rb +4 -0
- data/lib/oai/provider/response/get_record.rb +1 -7
- data/lib/oai/provider/response/identify.rb +1 -1
- data/lib/oai/provider/response/list_identifiers.rb +5 -4
- data/lib/oai/provider/response/list_metadata_formats.rb +27 -6
- data/lib/oai/provider/response/list_records.rb +5 -4
- data/test/activerecord_provider/database/ar_migration.rb +1 -1
- data/test/activerecord_provider/fixtures/dc.yml +100 -100
- data/test/activerecord_provider/tc_ar_provider.rb +6 -0
- data/test/provider/tc_functional_tokens.rb +11 -11
- data/test/provider/tc_resumption_tokens.rb +2 -2
- data/test/provider/tc_simple_provider.rb +7 -0
- metadata +2 -2
data/Rakefile
CHANGED
data/lib/oai/client.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
require 'uri'
|
3
3
|
require 'net/http'
|
4
4
|
require 'cgi'
|
5
|
+
require 'iconv'
|
5
6
|
|
6
7
|
if not defined?(OAI::Const::VERBS)
|
7
8
|
# Shared stuff
|
@@ -183,6 +184,7 @@ module OAI
|
|
183
184
|
end
|
184
185
|
|
185
186
|
def load_document(xml)
|
187
|
+
retried = false
|
186
188
|
case @parser
|
187
189
|
when 'libxml'
|
188
190
|
begin
|
@@ -190,13 +192,28 @@ module OAI
|
|
190
192
|
parser.string = xml
|
191
193
|
return parser.parse
|
192
194
|
rescue XML::Parser::ParseError => e
|
193
|
-
|
195
|
+
if retried
|
196
|
+
raise OAI::Exception, 'response not well formed XML: '+e, caller
|
197
|
+
end
|
198
|
+
ic = Iconv.new('UTF-8//IGNORE', 'UTF-8')
|
199
|
+
xml2 = ic.iconv(xml << ' ')[0..-2]
|
200
|
+
puts "equal? #{xml == xml2}"
|
201
|
+
retried = true
|
202
|
+
retry
|
194
203
|
end
|
195
204
|
when 'rexml'
|
196
205
|
begin
|
197
206
|
return REXML::Document.new(xml)
|
198
207
|
rescue REXML::ParseException => e
|
199
|
-
|
208
|
+
if retried
|
209
|
+
puts xml
|
210
|
+
raise OAI::Exception, 'response not well formed XML: '+e, caller
|
211
|
+
end
|
212
|
+
puts "RETRYING"
|
213
|
+
ic = Iconv.new('UTF-8//IGNORE', 'UTF-8')
|
214
|
+
xml = ic.iconv(xml << ' ')[0..-2]
|
215
|
+
retried = true
|
216
|
+
retry
|
200
217
|
end
|
201
218
|
end
|
202
219
|
end
|
@@ -246,8 +263,8 @@ module OAI
|
|
246
263
|
end
|
247
264
|
|
248
265
|
# Convert date formated strings in dates.
|
249
|
-
realopts[:from] = parse_date(realopts[:from]) if realopts[:from]
|
250
|
-
realopts[:until] = parse_date(realopts[:until]) if realopts[:until]
|
266
|
+
#realopts[:from] = parse_date(realopts[:from]) if realopts[:from]
|
267
|
+
#realopts[:until] = parse_date(realopts[:until]) if realopts[:until]
|
251
268
|
|
252
269
|
# check for any bad options
|
253
270
|
unless (realopts.keys - OAI::Const::VERBS[verb]).empty?
|
data/lib/oai/constants.rb
CHANGED
@@ -4,7 +4,7 @@ module OAI
|
|
4
4
|
# OAI defines six verbs with various allowable options.
|
5
5
|
VERBS = {
|
6
6
|
'Identify' => [],
|
7
|
-
'ListMetadataFormats' => [],
|
7
|
+
'ListMetadataFormats' => [:identifier],
|
8
8
|
'ListSets' => [:resumption_token], # unused currently
|
9
9
|
'GetRecord' => [:identifier, :from, :until, :set, :metadata_prefix],
|
10
10
|
'ListIdentifiers' => [:from, :until, :set, :metadata_prefix, :resumption_token],
|
@@ -29,19 +29,21 @@ module OAI
|
|
29
29
|
private
|
30
30
|
|
31
31
|
def harvest(site)
|
32
|
-
harvest_time = Time.now.utc
|
33
32
|
opts = build_options_hash(@config.sites[site])
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
opts[:from] = @from
|
39
|
-
else
|
40
|
-
opts[:
|
33
|
+
harvest_time = Time.now.utc
|
34
|
+
|
35
|
+
if "YYYY-MM-DD" == granularity(opts[:url])
|
36
|
+
opts[:until] = harvest_time.strftime("%Y-%m-%d")
|
37
|
+
opts[:from] = @from.strftime("%Y-%m-%d") if @from
|
38
|
+
else
|
39
|
+
opts[:until] = harvest_time.xmlschema
|
40
|
+
opts[:from] = @from.xmlschema if @from
|
41
41
|
end
|
42
|
-
|
43
|
-
opts.delete(:set) if 'all' == opts[:set]
|
44
42
|
|
43
|
+
# Allow a from date to be passed in
|
44
|
+
opts[:from] = earliest(opts[:url]) unless opts[:from]
|
45
|
+
opts.delete(:set) if 'all' == opts[:set]
|
46
|
+
|
45
47
|
begin
|
46
48
|
# Connect, and download
|
47
49
|
file, records = call(opts.delete(:url), opts)
|
@@ -68,11 +70,6 @@ module OAI
|
|
68
70
|
client = OAI::Client.new(url, :parser => @parser)
|
69
71
|
provider_config = client.identify
|
70
72
|
|
71
|
-
if Harvester::LOW_RESOLUTION == provider_config.granularity
|
72
|
-
options[:from] = Time.parse(options[:from]).strftime("%Y-%m-%d")
|
73
|
-
options[:until] = Time.parse(options[:until]).strftime("%Y-%m-%d")
|
74
|
-
end
|
75
|
-
|
76
73
|
file = Tempfile.new('oai_data')
|
77
74
|
gz = Zlib::GzipWriter.new(file)
|
78
75
|
gz << "<? xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"
|
@@ -131,11 +128,20 @@ module OAI
|
|
131
128
|
"_at_#{until_time.strftime('%H-%M-%S')}"
|
132
129
|
end
|
133
130
|
|
131
|
+
def granularity(url)
|
132
|
+
client = OAI::Client.new url
|
133
|
+
client.identify.granularity
|
134
|
+
end
|
135
|
+
|
134
136
|
# Get earliest timestamp from repository
|
135
137
|
def earliest(url)
|
136
138
|
client = OAI::Client.new url
|
137
139
|
identify = client.identify
|
138
|
-
|
140
|
+
if "YYYY-MM-DD" == identify.granularity
|
141
|
+
Time.parse(identify.earliest_datestamp).strftime("%Y-%m-%d")
|
142
|
+
else
|
143
|
+
Time.parse(identify.earliest_datestamp).xmlschema
|
144
|
+
end
|
139
145
|
end
|
140
146
|
|
141
147
|
end
|
@@ -8,8 +8,8 @@ module OAI
|
|
8
8
|
alias_method :orig_call, :call
|
9
9
|
alias_method :orig_init, :initialize
|
10
10
|
|
11
|
-
def initialize(
|
12
|
-
orig_init(
|
11
|
+
def initialize(*args)
|
12
|
+
orig_init(*args)
|
13
13
|
@summary = []
|
14
14
|
@logger = Logger.new(File.join(@config.logfile, "harvester.log"),
|
15
15
|
shift_age = 'weekly') if @config.logfile
|
data/lib/oai/harvester/shell.rb
CHANGED
@@ -73,7 +73,7 @@ module OAI
|
|
73
73
|
banner "Harvesting '#{site}'"
|
74
74
|
if date && !date.empty?
|
75
75
|
begin
|
76
|
-
date = Chronic.parse(date.join(' ')).utc
|
76
|
+
date = Chronic.parse(date.join(' ')).utc
|
77
77
|
rescue NoMethodError
|
78
78
|
puts "Couldn't parse the date supplied"
|
79
79
|
return
|
@@ -110,6 +110,8 @@ module OAI
|
|
110
110
|
print_site(site)
|
111
111
|
end
|
112
112
|
puts
|
113
|
+
rescue
|
114
|
+
puts args + " doesn't appear to be configured, use list to see configured repositories."
|
113
115
|
end
|
114
116
|
|
115
117
|
def new
|
data/lib/oai/provider.rb
CHANGED
@@ -30,8 +30,12 @@ module OAI::Provider::Metadata
|
|
30
30
|
xml.tag!("#{prefix}:#{element_namespace}", header_specification) do
|
31
31
|
fields.each do |field|
|
32
32
|
values = value_for(field, record, map)
|
33
|
-
values.each
|
34
|
-
|
33
|
+
if values.respond_to?(:each)
|
34
|
+
values.each do |value|
|
35
|
+
xml.tag! "#{element_namespace}:#{field}", value
|
36
|
+
end
|
37
|
+
else
|
38
|
+
xml.tag! "#{element_namespace}:#{field}", values
|
35
39
|
end
|
36
40
|
end
|
37
41
|
end
|
data/lib/oai/provider/model.rb
CHANGED
@@ -14,6 +14,9 @@ module OAI::Provider
|
|
14
14
|
# sets - should return an array of sets supported by the repository.
|
15
15
|
# deleted? - individual records returned should respond true or false
|
16
16
|
# when sent the deleted? message.
|
17
|
+
# available_formats - if overridden, individual records should return an
|
18
|
+
# array of prefixes for all formats in which that record is available,
|
19
|
+
# if other than ["oai_dc"]
|
17
20
|
#
|
18
21
|
# == Resumption Tokens
|
19
22
|
#
|
@@ -46,7 +46,7 @@ module OAI::Provider
|
|
46
46
|
def find(selector, options={})
|
47
47
|
return next_set(options[:resumption_token]) if options[:resumption_token]
|
48
48
|
conditions = sql_conditions(options)
|
49
|
-
|
49
|
+
|
50
50
|
if :all == selector
|
51
51
|
total = model.count(:id, :conditions => conditions)
|
52
52
|
if @limit && total > @limit
|
@@ -12,7 +12,7 @@ module OAI::Provider::Response
|
|
12
12
|
r.adminEmail address
|
13
13
|
end if provider.email
|
14
14
|
r.earliestDatestamp provider.model.earliest
|
15
|
-
r.
|
15
|
+
r.deletedRecord provider.delete_support.to_s
|
16
16
|
r.granularity provider.granularity
|
17
17
|
end
|
18
18
|
end
|
@@ -15,11 +15,12 @@ module OAI::Provider::Response
|
|
15
15
|
records.each do |rec|
|
16
16
|
header_for rec
|
17
17
|
end
|
18
|
-
end
|
19
18
|
|
20
|
-
|
21
|
-
|
22
|
-
|
19
|
+
# append resumption token for getting next group of records
|
20
|
+
if result.respond_to?(:token)
|
21
|
+
r.target! << result.token.to_xml
|
22
|
+
end
|
23
|
+
|
23
24
|
end
|
24
25
|
end
|
25
26
|
end
|
@@ -1,11 +1,26 @@
|
|
1
1
|
module OAI::Provider::Response
|
2
|
-
|
3
|
-
class ListMetadataFormats <
|
2
|
+
|
3
|
+
class ListMetadataFormats < RecordResponse
|
4
|
+
valid_parameters :identifier
|
4
5
|
|
5
6
|
def to_xml
|
7
|
+
# Get a list of all the formats the provider understands.
|
8
|
+
formats = provider.formats.values
|
9
|
+
|
10
|
+
# if it's a doc-specific request
|
11
|
+
if options.include?(:identifier)
|
12
|
+
id = extract_identifier(options[:identifier])
|
13
|
+
unless record = provider.model.find(id, options)
|
14
|
+
raise OAI::IdException.new
|
15
|
+
end
|
16
|
+
|
17
|
+
# Remove any format that this particular record can't be provided in.
|
18
|
+
formats.reject! { |f| !record_supports(record, f.prefix) }
|
19
|
+
end
|
20
|
+
|
6
21
|
response do |r|
|
7
|
-
r.ListMetadataFormats do
|
8
|
-
|
22
|
+
r.ListMetadataFormats do
|
23
|
+
formats.each do |format|
|
9
24
|
r.metadataFormat do
|
10
25
|
r.metadataPrefix format.prefix
|
11
26
|
r.schema format.schema
|
@@ -15,7 +30,13 @@ module OAI::Provider::Response
|
|
15
30
|
end
|
16
31
|
end
|
17
32
|
end
|
18
|
-
|
33
|
+
|
34
|
+
def record_supports(record, prefix)
|
35
|
+
prefix == 'oai_dc' or
|
36
|
+
record.respond_to?("to_#{prefix}") or
|
37
|
+
record.respond_to?("map_#{prefix}")
|
38
|
+
end
|
39
|
+
|
19
40
|
end
|
20
|
-
|
41
|
+
|
21
42
|
end
|
@@ -17,11 +17,12 @@ module OAI::Provider::Response
|
|
17
17
|
data_for rec unless deleted?(rec)
|
18
18
|
end
|
19
19
|
end
|
20
|
-
end
|
21
20
|
|
22
|
-
|
23
|
-
|
24
|
-
|
21
|
+
# append resumption token for getting next group of records
|
22
|
+
if result.respond_to?(:token)
|
23
|
+
r.target! << result.token.to_xml
|
24
|
+
end
|
25
|
+
|
25
26
|
end
|
26
27
|
end
|
27
28
|
end
|
@@ -19,7 +19,7 @@ class OAIPMHTables < ActiveRecord::Migration
|
|
19
19
|
t.column :description, :string
|
20
20
|
t.column :contributor, :string
|
21
21
|
t.column :publisher, :string
|
22
|
-
t.column :date, :
|
22
|
+
t.column :date, :datetime
|
23
23
|
t.column :type, :string
|
24
24
|
t.column :format, :string
|
25
25
|
t.column :source, :string
|
@@ -5,7 +5,7 @@
|
|
5
5
|
creator: creator_85
|
6
6
|
language: language_85
|
7
7
|
title: title_85
|
8
|
-
date:
|
8
|
+
date: Sun Feb 04 11:30:22 -0800 2007
|
9
9
|
type: type_85
|
10
10
|
rights: rights_85
|
11
11
|
contributor: contributor_85
|
@@ -20,7 +20,7 @@
|
|
20
20
|
creator: creator_66
|
21
21
|
language: language_66
|
22
22
|
title: title_66
|
23
|
-
date:
|
23
|
+
date: Fri Feb 23 11:30:22 -0800 2007
|
24
24
|
type: type_66
|
25
25
|
rights: rights_66
|
26
26
|
contributor: contributor_66
|
@@ -35,7 +35,7 @@
|
|
35
35
|
creator: creator_9
|
36
36
|
language: language_9
|
37
37
|
title: title_9
|
38
|
-
date:
|
38
|
+
date: Sat Apr 21 12:30:22 -0700 2007
|
39
39
|
type: type_9
|
40
40
|
rights: rights_9
|
41
41
|
contributor: contributor_9
|
@@ -50,7 +50,7 @@
|
|
50
50
|
creator: creator_47
|
51
51
|
language: language_47
|
52
52
|
title: title_47
|
53
|
-
date:
|
53
|
+
date: Wed Mar 14 12:30:22 -0700 2007
|
54
54
|
type: type_47
|
55
55
|
rights: rights_47
|
56
56
|
contributor: contributor_47
|
@@ -65,7 +65,7 @@
|
|
65
65
|
creator: creator_28
|
66
66
|
language: language_28
|
67
67
|
title: title_28
|
68
|
-
date:
|
68
|
+
date: Mon Apr 02 12:30:22 -0700 2007
|
69
69
|
type: type_28
|
70
70
|
rights: rights_28
|
71
71
|
contributor: contributor_28
|
@@ -80,7 +80,7 @@
|
|
80
80
|
creator: creator_95
|
81
81
|
language: language_95
|
82
82
|
title: title_95
|
83
|
-
date:
|
83
|
+
date: Thu Jan 25 11:30:22 -0800 2007
|
84
84
|
type: type_95
|
85
85
|
rights: rights_95
|
86
86
|
contributor: contributor_95
|
@@ -95,7 +95,7 @@
|
|
95
95
|
creator: creator_76
|
96
96
|
language: language_76
|
97
97
|
title: title_76
|
98
|
-
date:
|
98
|
+
date: Tue Feb 13 11:30:22 -0800 2007
|
99
99
|
type: type_76
|
100
100
|
rights: rights_76
|
101
101
|
contributor: contributor_76
|
@@ -110,7 +110,7 @@
|
|
110
110
|
creator: creator_19
|
111
111
|
language: language_19
|
112
112
|
title: title_19
|
113
|
-
date:
|
113
|
+
date: Wed Apr 11 12:30:22 -0700 2007
|
114
114
|
type: type_19
|
115
115
|
rights: rights_19
|
116
116
|
contributor: contributor_19
|
@@ -125,7 +125,7 @@
|
|
125
125
|
creator: creator_57
|
126
126
|
language: language_57
|
127
127
|
title: title_57
|
128
|
-
date:
|
128
|
+
date: Sun Mar 04 11:30:22 -0800 2007
|
129
129
|
type: type_57
|
130
130
|
rights: rights_57
|
131
131
|
contributor: contributor_57
|
@@ -140,7 +140,7 @@
|
|
140
140
|
creator: creator_0
|
141
141
|
language: language_0
|
142
142
|
title: title_0
|
143
|
-
date:
|
143
|
+
date: Mon Apr 30 12:30:22 -0700 2007
|
144
144
|
type: type_0
|
145
145
|
rights: rights_0
|
146
146
|
contributor: contributor_0
|
@@ -155,7 +155,7 @@
|
|
155
155
|
creator: creator_38
|
156
156
|
language: language_38
|
157
157
|
title: title_38
|
158
|
-
date:
|
158
|
+
date: Fri Mar 23 12:30:22 -0700 2007
|
159
159
|
type: type_38
|
160
160
|
rights: rights_38
|
161
161
|
contributor: contributor_38
|
@@ -170,7 +170,7 @@
|
|
170
170
|
creator: creator_86
|
171
171
|
language: language_86
|
172
172
|
title: title_86
|
173
|
-
date:
|
173
|
+
date: Sat Feb 03 11:30:22 -0800 2007
|
174
174
|
type: type_86
|
175
175
|
rights: rights_86
|
176
176
|
contributor: contributor_86
|
@@ -185,7 +185,7 @@
|
|
185
185
|
creator: creator_67
|
186
186
|
language: language_67
|
187
187
|
title: title_67
|
188
|
-
date:
|
188
|
+
date: Thu Feb 22 11:30:22 -0800 2007
|
189
189
|
type: type_67
|
190
190
|
rights: rights_67
|
191
191
|
contributor: contributor_67
|
@@ -200,7 +200,7 @@
|
|
200
200
|
creator: creator_10
|
201
201
|
language: language_10
|
202
202
|
title: title_10
|
203
|
-
date:
|
203
|
+
date: Fri Apr 20 12:30:22 -0700 2007
|
204
204
|
type: type_10
|
205
205
|
rights: rights_10
|
206
206
|
contributor: contributor_10
|
@@ -215,7 +215,7 @@
|
|
215
215
|
creator: creator_48
|
216
216
|
language: language_48
|
217
217
|
title: title_48
|
218
|
-
date:
|
218
|
+
date: Tue Mar 13 12:30:22 -0700 2007
|
219
219
|
type: type_48
|
220
220
|
rights: rights_48
|
221
221
|
contributor: contributor_48
|
@@ -230,7 +230,7 @@
|
|
230
230
|
creator: creator_29
|
231
231
|
language: language_29
|
232
232
|
title: title_29
|
233
|
-
date:
|
233
|
+
date: Sun Apr 01 12:30:22 -0700 2007
|
234
234
|
type: type_29
|
235
235
|
rights: rights_29
|
236
236
|
contributor: contributor_29
|
@@ -245,7 +245,7 @@
|
|
245
245
|
creator: creator_96
|
246
246
|
language: language_96
|
247
247
|
title: title_96
|
248
|
-
date:
|
248
|
+
date: Wed Jan 24 11:30:22 -0800 2007
|
249
249
|
type: type_96
|
250
250
|
rights: rights_96
|
251
251
|
contributor: contributor_96
|
@@ -260,7 +260,7 @@
|
|
260
260
|
creator: creator_77
|
261
261
|
language: language_77
|
262
262
|
title: title_77
|
263
|
-
date:
|
263
|
+
date: Mon Feb 12 11:30:22 -0800 2007
|
264
264
|
type: type_77
|
265
265
|
rights: rights_77
|
266
266
|
contributor: contributor_77
|
@@ -275,7 +275,7 @@
|
|
275
275
|
creator: creator_20
|
276
276
|
language: language_20
|
277
277
|
title: title_20
|
278
|
-
date:
|
278
|
+
date: Tue Apr 10 12:30:22 -0700 2007
|
279
279
|
type: type_20
|
280
280
|
rights: rights_20
|
281
281
|
contributor: contributor_20
|
@@ -290,7 +290,7 @@
|
|
290
290
|
creator: creator_58
|
291
291
|
language: language_58
|
292
292
|
title: title_58
|
293
|
-
date:
|
293
|
+
date: Sat Mar 03 11:30:22 -0800 2007
|
294
294
|
type: type_58
|
295
295
|
rights: rights_58
|
296
296
|
contributor: contributor_58
|
@@ -305,7 +305,7 @@
|
|
305
305
|
creator: creator_1
|
306
306
|
language: language_1
|
307
307
|
title: title_1
|
308
|
-
date:
|
308
|
+
date: Sun Apr 29 12:30:22 -0700 2007
|
309
309
|
type: type_1
|
310
310
|
rights: rights_1
|
311
311
|
contributor: contributor_1
|
@@ -320,7 +320,7 @@
|
|
320
320
|
creator: creator_39
|
321
321
|
language: language_39
|
322
322
|
title: title_39
|
323
|
-
date:
|
323
|
+
date: Thu Mar 22 12:30:22 -0700 2007
|
324
324
|
type: type_39
|
325
325
|
rights: rights_39
|
326
326
|
contributor: contributor_39
|
@@ -335,7 +335,7 @@
|
|
335
335
|
creator: creator_87
|
336
336
|
language: language_87
|
337
337
|
title: title_87
|
338
|
-
date:
|
338
|
+
date: Fri Feb 02 11:30:22 -0800 2007
|
339
339
|
type: type_87
|
340
340
|
rights: rights_87
|
341
341
|
contributor: contributor_87
|
@@ -350,7 +350,7 @@
|
|
350
350
|
creator: creator_68
|
351
351
|
language: language_68
|
352
352
|
title: title_68
|
353
|
-
date:
|
353
|
+
date: Wed Feb 21 11:30:22 -0800 2007
|
354
354
|
type: type_68
|
355
355
|
rights: rights_68
|
356
356
|
contributor: contributor_68
|
@@ -365,7 +365,7 @@
|
|
365
365
|
creator: creator_30
|
366
366
|
language: language_30
|
367
367
|
title: title_30
|
368
|
-
date:
|
368
|
+
date: Sat Mar 31 12:30:22 -0700 2007
|
369
369
|
type: type_30
|
370
370
|
rights: rights_30
|
371
371
|
contributor: contributor_30
|
@@ -380,7 +380,7 @@
|
|
380
380
|
creator: creator_11
|
381
381
|
language: language_11
|
382
382
|
title: title_11
|
383
|
-
date:
|
383
|
+
date: Thu Apr 19 12:30:22 -0700 2007
|
384
384
|
type: type_11
|
385
385
|
rights: rights_11
|
386
386
|
contributor: contributor_11
|
@@ -395,7 +395,7 @@
|
|
395
395
|
creator: creator_49
|
396
396
|
language: language_49
|
397
397
|
title: title_49
|
398
|
-
date:
|
398
|
+
date: Mon Mar 12 12:30:22 -0700 2007
|
399
399
|
type: type_49
|
400
400
|
rights: rights_49
|
401
401
|
contributor: contributor_49
|
@@ -410,7 +410,7 @@
|
|
410
410
|
creator: creator_97
|
411
411
|
language: language_97
|
412
412
|
title: title_97
|
413
|
-
date:
|
413
|
+
date: Tue Jan 23 11:30:22 -0800 2007
|
414
414
|
type: type_97
|
415
415
|
rights: rights_97
|
416
416
|
contributor: contributor_97
|
@@ -425,7 +425,7 @@
|
|
425
425
|
creator: creator_78
|
426
426
|
language: language_78
|
427
427
|
title: title_78
|
428
|
-
date:
|
428
|
+
date: Sun Feb 11 11:30:22 -0800 2007
|
429
429
|
type: type_78
|
430
430
|
rights: rights_78
|
431
431
|
contributor: contributor_78
|
@@ -440,7 +440,7 @@
|
|
440
440
|
creator: creator_21
|
441
441
|
language: language_21
|
442
442
|
title: title_21
|
443
|
-
date:
|
443
|
+
date: Mon Apr 09 12:30:22 -0700 2007
|
444
444
|
type: type_21
|
445
445
|
rights: rights_21
|
446
446
|
contributor: contributor_21
|
@@ -455,7 +455,7 @@
|
|
455
455
|
creator: creator_59
|
456
456
|
language: language_59
|
457
457
|
title: title_59
|
458
|
-
date:
|
458
|
+
date: Fri Mar 02 11:30:22 -0800 2007
|
459
459
|
type: type_59
|
460
460
|
rights: rights_59
|
461
461
|
contributor: contributor_59
|
@@ -470,7 +470,7 @@
|
|
470
470
|
creator: creator_2
|
471
471
|
language: language_2
|
472
472
|
title: title_2
|
473
|
-
date:
|
473
|
+
date: Sat Apr 28 12:30:22 -0700 2007
|
474
474
|
type: type_2
|
475
475
|
rights: rights_2
|
476
476
|
contributor: contributor_2
|
@@ -485,7 +485,7 @@
|
|
485
485
|
creator: creator_40
|
486
486
|
language: language_40
|
487
487
|
title: title_40
|
488
|
-
date:
|
488
|
+
date: Wed Mar 21 12:30:22 -0700 2007
|
489
489
|
type: type_40
|
490
490
|
rights: rights_40
|
491
491
|
contributor: contributor_40
|
@@ -500,7 +500,7 @@
|
|
500
500
|
creator: creator_88
|
501
501
|
language: language_88
|
502
502
|
title: title_88
|
503
|
-
date:
|
503
|
+
date: Thu Feb 01 11:30:22 -0800 2007
|
504
504
|
type: type_88
|
505
505
|
rights: rights_88
|
506
506
|
contributor: contributor_88
|
@@ -515,7 +515,7 @@
|
|
515
515
|
creator: creator_69
|
516
516
|
language: language_69
|
517
517
|
title: title_69
|
518
|
-
date:
|
518
|
+
date: Tue Feb 20 11:30:22 -0800 2007
|
519
519
|
type: type_69
|
520
520
|
rights: rights_69
|
521
521
|
contributor: contributor_69
|
@@ -530,7 +530,7 @@
|
|
530
530
|
creator: creator_31
|
531
531
|
language: language_31
|
532
532
|
title: title_31
|
533
|
-
date:
|
533
|
+
date: Fri Mar 30 12:30:22 -0700 2007
|
534
534
|
type: type_31
|
535
535
|
rights: rights_31
|
536
536
|
contributor: contributor_31
|
@@ -545,7 +545,7 @@
|
|
545
545
|
creator: creator_12
|
546
546
|
language: language_12
|
547
547
|
title: title_12
|
548
|
-
date:
|
548
|
+
date: Wed Apr 18 12:30:22 -0700 2007
|
549
549
|
type: type_12
|
550
550
|
rights: rights_12
|
551
551
|
contributor: contributor_12
|
@@ -560,7 +560,7 @@
|
|
560
560
|
creator: creator_50
|
561
561
|
language: language_50
|
562
562
|
title: title_50
|
563
|
-
date:
|
563
|
+
date: Sun Mar 11 12:30:22 -0700 2007
|
564
564
|
type: type_50
|
565
565
|
rights: rights_50
|
566
566
|
contributor: contributor_50
|
@@ -575,7 +575,7 @@
|
|
575
575
|
creator: creator_98
|
576
576
|
language: language_98
|
577
577
|
title: title_98
|
578
|
-
date:
|
578
|
+
date: Mon Jan 22 11:30:22 -0800 2007
|
579
579
|
type: type_98
|
580
580
|
rights: rights_98
|
581
581
|
contributor: contributor_98
|
@@ -590,7 +590,7 @@
|
|
590
590
|
creator: creator_79
|
591
591
|
language: language_79
|
592
592
|
title: title_79
|
593
|
-
date:
|
593
|
+
date: Sat Feb 10 11:30:22 -0800 2007
|
594
594
|
type: type_79
|
595
595
|
rights: rights_79
|
596
596
|
contributor: contributor_79
|
@@ -605,7 +605,7 @@
|
|
605
605
|
creator: creator_3
|
606
606
|
language: language_3
|
607
607
|
title: title_3
|
608
|
-
date:
|
608
|
+
date: Fri Apr 27 12:30:22 -0700 2007
|
609
609
|
type: type_3
|
610
610
|
rights: rights_3
|
611
611
|
contributor: contributor_3
|
@@ -620,7 +620,7 @@
|
|
620
620
|
creator: creator_41
|
621
621
|
language: language_41
|
622
622
|
title: title_41
|
623
|
-
date:
|
623
|
+
date: Tue Mar 20 12:30:22 -0700 2007
|
624
624
|
type: type_41
|
625
625
|
rights: rights_41
|
626
626
|
contributor: contributor_41
|
@@ -635,7 +635,7 @@
|
|
635
635
|
creator: creator_22
|
636
636
|
language: language_22
|
637
637
|
title: title_22
|
638
|
-
date:
|
638
|
+
date: Sun Apr 08 12:30:22 -0700 2007
|
639
639
|
type: type_22
|
640
640
|
rights: rights_22
|
641
641
|
contributor: contributor_22
|
@@ -650,7 +650,7 @@
|
|
650
650
|
creator: creator_60
|
651
651
|
language: language_60
|
652
652
|
title: title_60
|
653
|
-
date:
|
653
|
+
date: Thu Mar 01 11:30:22 -0800 2007
|
654
654
|
type: type_60
|
655
655
|
rights: rights_60
|
656
656
|
contributor: contributor_60
|
@@ -665,7 +665,7 @@
|
|
665
665
|
creator: creator_89
|
666
666
|
language: language_89
|
667
667
|
title: title_89
|
668
|
-
date:
|
668
|
+
date: Wed Jan 31 11:30:22 -0800 2007
|
669
669
|
type: type_89
|
670
670
|
rights: rights_89
|
671
671
|
contributor: contributor_89
|
@@ -680,7 +680,7 @@
|
|
680
680
|
creator: creator_70
|
681
681
|
language: language_70
|
682
682
|
title: title_70
|
683
|
-
date:
|
683
|
+
date: Mon Feb 19 11:30:22 -0800 2007
|
684
684
|
type: type_70
|
685
685
|
rights: rights_70
|
686
686
|
contributor: contributor_70
|
@@ -695,7 +695,7 @@
|
|
695
695
|
creator: creator_32
|
696
696
|
language: language_32
|
697
697
|
title: title_32
|
698
|
-
date:
|
698
|
+
date: Thu Mar 29 12:30:22 -0700 2007
|
699
699
|
type: type_32
|
700
700
|
rights: rights_32
|
701
701
|
contributor: contributor_32
|
@@ -710,7 +710,7 @@
|
|
710
710
|
creator: creator_13
|
711
711
|
language: language_13
|
712
712
|
title: title_13
|
713
|
-
date:
|
713
|
+
date: Tue Apr 17 12:30:22 -0700 2007
|
714
714
|
type: type_13
|
715
715
|
rights: rights_13
|
716
716
|
contributor: contributor_13
|
@@ -725,7 +725,7 @@
|
|
725
725
|
creator: creator_51
|
726
726
|
language: language_51
|
727
727
|
title: title_51
|
728
|
-
date:
|
728
|
+
date: Sat Mar 10 11:30:22 -0800 2007
|
729
729
|
type: type_51
|
730
730
|
rights: rights_51
|
731
731
|
contributor: contributor_51
|
@@ -740,7 +740,7 @@
|
|
740
740
|
creator: creator_99
|
741
741
|
language: language_99
|
742
742
|
title: title_99
|
743
|
-
date:
|
743
|
+
date: Sun Jan 21 11:30:22 -0800 2007
|
744
744
|
type: type_99
|
745
745
|
rights: rights_99
|
746
746
|
contributor: contributor_99
|
@@ -755,7 +755,7 @@
|
|
755
755
|
creator: creator_80
|
756
756
|
language: language_80
|
757
757
|
title: title_80
|
758
|
-
date:
|
758
|
+
date: Fri Feb 09 11:30:22 -0800 2007
|
759
759
|
type: type_80
|
760
760
|
rights: rights_80
|
761
761
|
contributor: contributor_80
|
@@ -770,7 +770,7 @@
|
|
770
770
|
creator: creator_4
|
771
771
|
language: language_4
|
772
772
|
title: title_4
|
773
|
-
date:
|
773
|
+
date: Thu Apr 26 12:30:22 -0700 2007
|
774
774
|
type: type_4
|
775
775
|
rights: rights_4
|
776
776
|
contributor: contributor_4
|
@@ -785,7 +785,7 @@
|
|
785
785
|
creator: creator_42
|
786
786
|
language: language_42
|
787
787
|
title: title_42
|
788
|
-
date:
|
788
|
+
date: Mon Mar 19 12:30:22 -0700 2007
|
789
789
|
type: type_42
|
790
790
|
rights: rights_42
|
791
791
|
contributor: contributor_42
|
@@ -800,7 +800,7 @@
|
|
800
800
|
creator: creator_23
|
801
801
|
language: language_23
|
802
802
|
title: title_23
|
803
|
-
date:
|
803
|
+
date: Sat Apr 07 12:30:22 -0700 2007
|
804
804
|
type: type_23
|
805
805
|
rights: rights_23
|
806
806
|
contributor: contributor_23
|
@@ -815,7 +815,7 @@
|
|
815
815
|
creator: creator_61
|
816
816
|
language: language_61
|
817
817
|
title: title_61
|
818
|
-
date:
|
818
|
+
date: Wed Feb 28 11:30:22 -0800 2007
|
819
819
|
type: type_61
|
820
820
|
rights: rights_61
|
821
821
|
contributor: contributor_61
|
@@ -830,7 +830,7 @@
|
|
830
830
|
creator: creator_90
|
831
831
|
language: language_90
|
832
832
|
title: title_90
|
833
|
-
date:
|
833
|
+
date: Tue Jan 30 11:30:22 -0800 2007
|
834
834
|
type: type_90
|
835
835
|
rights: rights_90
|
836
836
|
contributor: contributor_90
|
@@ -845,7 +845,7 @@
|
|
845
845
|
creator: creator_71
|
846
846
|
language: language_71
|
847
847
|
title: title_71
|
848
|
-
date:
|
848
|
+
date: Sun Feb 18 11:30:22 -0800 2007
|
849
849
|
type: type_71
|
850
850
|
rights: rights_71
|
851
851
|
contributor: contributor_71
|
@@ -860,7 +860,7 @@
|
|
860
860
|
creator: creator_14
|
861
861
|
language: language_14
|
862
862
|
title: title_14
|
863
|
-
date:
|
863
|
+
date: Mon Apr 16 12:30:22 -0700 2007
|
864
864
|
type: type_14
|
865
865
|
rights: rights_14
|
866
866
|
contributor: contributor_14
|
@@ -875,7 +875,7 @@
|
|
875
875
|
creator: creator_52
|
876
876
|
language: language_52
|
877
877
|
title: title_52
|
878
|
-
date:
|
878
|
+
date: Fri Mar 09 11:30:22 -0800 2007
|
879
879
|
type: type_52
|
880
880
|
rights: rights_52
|
881
881
|
contributor: contributor_52
|
@@ -890,7 +890,7 @@
|
|
890
890
|
creator: creator_33
|
891
891
|
language: language_33
|
892
892
|
title: title_33
|
893
|
-
date:
|
893
|
+
date: Wed Mar 28 12:30:22 -0700 2007
|
894
894
|
type: type_33
|
895
895
|
rights: rights_33
|
896
896
|
contributor: contributor_33
|
@@ -905,7 +905,7 @@
|
|
905
905
|
creator: creator_81
|
906
906
|
language: language_81
|
907
907
|
title: title_81
|
908
|
-
date:
|
908
|
+
date: Thu Feb 08 11:30:22 -0800 2007
|
909
909
|
type: type_81
|
910
910
|
rights: rights_81
|
911
911
|
contributor: contributor_81
|
@@ -920,7 +920,7 @@
|
|
920
920
|
creator: creator_43
|
921
921
|
language: language_43
|
922
922
|
title: title_43
|
923
|
-
date:
|
923
|
+
date: Sun Mar 18 12:30:22 -0700 2007
|
924
924
|
type: type_43
|
925
925
|
rights: rights_43
|
926
926
|
contributor: contributor_43
|
@@ -935,7 +935,7 @@
|
|
935
935
|
creator: creator_24
|
936
936
|
language: language_24
|
937
937
|
title: title_24
|
938
|
-
date:
|
938
|
+
date: Fri Apr 06 12:30:22 -0700 2007
|
939
939
|
type: type_24
|
940
940
|
rights: rights_24
|
941
941
|
contributor: contributor_24
|
@@ -950,7 +950,7 @@
|
|
950
950
|
creator: creator_62
|
951
951
|
language: language_62
|
952
952
|
title: title_62
|
953
|
-
date:
|
953
|
+
date: Tue Feb 27 11:30:22 -0800 2007
|
954
954
|
type: type_62
|
955
955
|
rights: rights_62
|
956
956
|
contributor: contributor_62
|
@@ -965,7 +965,7 @@
|
|
965
965
|
creator: creator_5
|
966
966
|
language: language_5
|
967
967
|
title: title_5
|
968
|
-
date:
|
968
|
+
date: Wed Apr 25 12:30:22 -0700 2007
|
969
969
|
type: type_5
|
970
970
|
rights: rights_5
|
971
971
|
contributor: contributor_5
|
@@ -980,7 +980,7 @@
|
|
980
980
|
creator: creator_91
|
981
981
|
language: language_91
|
982
982
|
title: title_91
|
983
|
-
date:
|
983
|
+
date: Mon Jan 29 11:30:22 -0800 2007
|
984
984
|
type: type_91
|
985
985
|
rights: rights_91
|
986
986
|
contributor: contributor_91
|
@@ -995,7 +995,7 @@
|
|
995
995
|
creator: creator_72
|
996
996
|
language: language_72
|
997
997
|
title: title_72
|
998
|
-
date:
|
998
|
+
date: Sat Feb 17 11:30:22 -0800 2007
|
999
999
|
type: type_72
|
1000
1000
|
rights: rights_72
|
1001
1001
|
contributor: contributor_72
|
@@ -1010,7 +1010,7 @@
|
|
1010
1010
|
creator: creator_15
|
1011
1011
|
language: language_15
|
1012
1012
|
title: title_15
|
1013
|
-
date:
|
1013
|
+
date: Sun Apr 15 12:30:22 -0700 2007
|
1014
1014
|
type: type_15
|
1015
1015
|
rights: rights_15
|
1016
1016
|
contributor: contributor_15
|
@@ -1025,7 +1025,7 @@
|
|
1025
1025
|
creator: creator_53
|
1026
1026
|
language: language_53
|
1027
1027
|
title: title_53
|
1028
|
-
date:
|
1028
|
+
date: Thu Mar 08 11:30:22 -0800 2007
|
1029
1029
|
type: type_53
|
1030
1030
|
rights: rights_53
|
1031
1031
|
contributor: contributor_53
|
@@ -1040,7 +1040,7 @@
|
|
1040
1040
|
creator: creator_34
|
1041
1041
|
language: language_34
|
1042
1042
|
title: title_34
|
1043
|
-
date:
|
1043
|
+
date: Tue Mar 27 12:30:22 -0700 2007
|
1044
1044
|
type: type_34
|
1045
1045
|
rights: rights_34
|
1046
1046
|
contributor: contributor_34
|
@@ -1055,7 +1055,7 @@
|
|
1055
1055
|
creator: creator_82
|
1056
1056
|
language: language_82
|
1057
1057
|
title: title_82
|
1058
|
-
date:
|
1058
|
+
date: Wed Feb 07 11:30:22 -0800 2007
|
1059
1059
|
type: type_82
|
1060
1060
|
rights: rights_82
|
1061
1061
|
contributor: contributor_82
|
@@ -1070,7 +1070,7 @@
|
|
1070
1070
|
creator: creator_25
|
1071
1071
|
language: language_25
|
1072
1072
|
title: title_25
|
1073
|
-
date:
|
1073
|
+
date: Thu Apr 05 12:30:22 -0700 2007
|
1074
1074
|
type: type_25
|
1075
1075
|
rights: rights_25
|
1076
1076
|
contributor: contributor_25
|
@@ -1085,7 +1085,7 @@
|
|
1085
1085
|
creator: creator_63
|
1086
1086
|
language: language_63
|
1087
1087
|
title: title_63
|
1088
|
-
date:
|
1088
|
+
date: Mon Feb 26 11:30:22 -0800 2007
|
1089
1089
|
type: type_63
|
1090
1090
|
rights: rights_63
|
1091
1091
|
contributor: contributor_63
|
@@ -1100,7 +1100,7 @@
|
|
1100
1100
|
creator: creator_6
|
1101
1101
|
language: language_6
|
1102
1102
|
title: title_6
|
1103
|
-
date:
|
1103
|
+
date: Tue Apr 24 12:30:22 -0700 2007
|
1104
1104
|
type: type_6
|
1105
1105
|
rights: rights_6
|
1106
1106
|
contributor: contributor_6
|
@@ -1115,7 +1115,7 @@
|
|
1115
1115
|
creator: creator_44
|
1116
1116
|
language: language_44
|
1117
1117
|
title: title_44
|
1118
|
-
date:
|
1118
|
+
date: Sat Mar 17 12:30:22 -0700 2007
|
1119
1119
|
type: type_44
|
1120
1120
|
rights: rights_44
|
1121
1121
|
contributor: contributor_44
|
@@ -1130,7 +1130,7 @@
|
|
1130
1130
|
creator: creator_92
|
1131
1131
|
language: language_92
|
1132
1132
|
title: title_92
|
1133
|
-
date:
|
1133
|
+
date: Sun Jan 28 11:30:22 -0800 2007
|
1134
1134
|
type: type_92
|
1135
1135
|
rights: rights_92
|
1136
1136
|
contributor: contributor_92
|
@@ -1145,7 +1145,7 @@
|
|
1145
1145
|
creator: creator_73
|
1146
1146
|
language: language_73
|
1147
1147
|
title: title_73
|
1148
|
-
date:
|
1148
|
+
date: Fri Feb 16 11:30:22 -0800 2007
|
1149
1149
|
type: type_73
|
1150
1150
|
rights: rights_73
|
1151
1151
|
contributor: contributor_73
|
@@ -1160,7 +1160,7 @@
|
|
1160
1160
|
creator: creator_54
|
1161
1161
|
language: language_54
|
1162
1162
|
title: title_54
|
1163
|
-
date:
|
1163
|
+
date: Wed Mar 07 11:30:22 -0800 2007
|
1164
1164
|
type: type_54
|
1165
1165
|
rights: rights_54
|
1166
1166
|
contributor: contributor_54
|
@@ -1175,7 +1175,7 @@
|
|
1175
1175
|
creator: creator_35
|
1176
1176
|
language: language_35
|
1177
1177
|
title: title_35
|
1178
|
-
date:
|
1178
|
+
date: Mon Mar 26 12:30:22 -0700 2007
|
1179
1179
|
type: type_35
|
1180
1180
|
rights: rights_35
|
1181
1181
|
contributor: contributor_35
|
@@ -1190,7 +1190,7 @@
|
|
1190
1190
|
creator: creator_16
|
1191
1191
|
language: language_16
|
1192
1192
|
title: title_16
|
1193
|
-
date:
|
1193
|
+
date: Sat Apr 14 12:30:22 -0700 2007
|
1194
1194
|
type: type_16
|
1195
1195
|
rights: rights_16
|
1196
1196
|
contributor: contributor_16
|
@@ -1205,7 +1205,7 @@
|
|
1205
1205
|
creator: creator_83
|
1206
1206
|
language: language_83
|
1207
1207
|
title: title_83
|
1208
|
-
date:
|
1208
|
+
date: Tue Feb 06 11:30:22 -0800 2007
|
1209
1209
|
type: type_83
|
1210
1210
|
rights: rights_83
|
1211
1211
|
contributor: contributor_83
|
@@ -1220,7 +1220,7 @@
|
|
1220
1220
|
creator: creator_26
|
1221
1221
|
language: language_26
|
1222
1222
|
title: title_26
|
1223
|
-
date:
|
1223
|
+
date: Wed Apr 04 12:30:22 -0700 2007
|
1224
1224
|
type: type_26
|
1225
1225
|
rights: rights_26
|
1226
1226
|
contributor: contributor_26
|
@@ -1235,7 +1235,7 @@
|
|
1235
1235
|
creator: creator_64
|
1236
1236
|
language: language_64
|
1237
1237
|
title: title_64
|
1238
|
-
date:
|
1238
|
+
date: Sun Feb 25 11:30:22 -0800 2007
|
1239
1239
|
type: type_64
|
1240
1240
|
rights: rights_64
|
1241
1241
|
contributor: contributor_64
|
@@ -1250,7 +1250,7 @@
|
|
1250
1250
|
creator: creator_7
|
1251
1251
|
language: language_7
|
1252
1252
|
title: title_7
|
1253
|
-
date:
|
1253
|
+
date: Mon Apr 23 12:30:22 -0700 2007
|
1254
1254
|
type: type_7
|
1255
1255
|
rights: rights_7
|
1256
1256
|
contributor: contributor_7
|
@@ -1265,7 +1265,7 @@
|
|
1265
1265
|
creator: creator_45
|
1266
1266
|
language: language_45
|
1267
1267
|
title: title_45
|
1268
|
-
date:
|
1268
|
+
date: Fri Mar 16 12:30:22 -0700 2007
|
1269
1269
|
type: type_45
|
1270
1270
|
rights: rights_45
|
1271
1271
|
contributor: contributor_45
|
@@ -1280,7 +1280,7 @@
|
|
1280
1280
|
creator: creator_93
|
1281
1281
|
language: language_93
|
1282
1282
|
title: title_93
|
1283
|
-
date:
|
1283
|
+
date: Sat Jan 27 11:30:22 -0800 2007
|
1284
1284
|
type: type_93
|
1285
1285
|
rights: rights_93
|
1286
1286
|
contributor: contributor_93
|
@@ -1295,7 +1295,7 @@
|
|
1295
1295
|
creator: creator_74
|
1296
1296
|
language: language_74
|
1297
1297
|
title: title_74
|
1298
|
-
date:
|
1298
|
+
date: Thu Feb 15 11:30:22 -0800 2007
|
1299
1299
|
type: type_74
|
1300
1300
|
rights: rights_74
|
1301
1301
|
contributor: contributor_74
|
@@ -1310,7 +1310,7 @@
|
|
1310
1310
|
creator: creator_36
|
1311
1311
|
language: language_36
|
1312
1312
|
title: title_36
|
1313
|
-
date:
|
1313
|
+
date: Sun Mar 25 12:30:22 -0700 2007
|
1314
1314
|
type: type_36
|
1315
1315
|
rights: rights_36
|
1316
1316
|
contributor: contributor_36
|
@@ -1325,7 +1325,7 @@
|
|
1325
1325
|
creator: creator_17
|
1326
1326
|
language: language_17
|
1327
1327
|
title: title_17
|
1328
|
-
date:
|
1328
|
+
date: Fri Apr 13 12:30:22 -0700 2007
|
1329
1329
|
type: type_17
|
1330
1330
|
rights: rights_17
|
1331
1331
|
contributor: contributor_17
|
@@ -1340,7 +1340,7 @@
|
|
1340
1340
|
creator: creator_55
|
1341
1341
|
language: language_55
|
1342
1342
|
title: title_55
|
1343
|
-
date:
|
1343
|
+
date: Tue Mar 06 11:30:22 -0800 2007
|
1344
1344
|
type: type_55
|
1345
1345
|
rights: rights_55
|
1346
1346
|
contributor: contributor_55
|
@@ -1355,7 +1355,7 @@
|
|
1355
1355
|
creator: creator_84
|
1356
1356
|
language: language_84
|
1357
1357
|
title: title_84
|
1358
|
-
date:
|
1358
|
+
date: Mon Feb 05 11:30:22 -0800 2007
|
1359
1359
|
type: type_84
|
1360
1360
|
rights: rights_84
|
1361
1361
|
contributor: contributor_84
|
@@ -1370,7 +1370,7 @@
|
|
1370
1370
|
creator: creator_65
|
1371
1371
|
language: language_65
|
1372
1372
|
title: title_65
|
1373
|
-
date:
|
1373
|
+
date: Sat Feb 24 11:30:22 -0800 2007
|
1374
1374
|
type: type_65
|
1375
1375
|
rights: rights_65
|
1376
1376
|
contributor: contributor_65
|
@@ -1385,7 +1385,7 @@
|
|
1385
1385
|
creator: creator_8
|
1386
1386
|
language: language_8
|
1387
1387
|
title: title_8
|
1388
|
-
date:
|
1388
|
+
date: Sun Apr 22 12:30:22 -0700 2007
|
1389
1389
|
type: type_8
|
1390
1390
|
rights: rights_8
|
1391
1391
|
contributor: contributor_8
|
@@ -1400,7 +1400,7 @@
|
|
1400
1400
|
creator: creator_46
|
1401
1401
|
language: language_46
|
1402
1402
|
title: title_46
|
1403
|
-
date:
|
1403
|
+
date: Thu Mar 15 12:30:22 -0700 2007
|
1404
1404
|
type: type_46
|
1405
1405
|
rights: rights_46
|
1406
1406
|
contributor: contributor_46
|
@@ -1415,7 +1415,7 @@
|
|
1415
1415
|
creator: creator_27
|
1416
1416
|
language: language_27
|
1417
1417
|
title: title_27
|
1418
|
-
date:
|
1418
|
+
date: Tue Apr 03 12:30:22 -0700 2007
|
1419
1419
|
type: type_27
|
1420
1420
|
rights: rights_27
|
1421
1421
|
contributor: contributor_27
|
@@ -1430,7 +1430,7 @@
|
|
1430
1430
|
creator: creator_94
|
1431
1431
|
language: language_94
|
1432
1432
|
title: title_94
|
1433
|
-
date:
|
1433
|
+
date: Fri Jan 26 11:30:22 -0800 2007
|
1434
1434
|
type: type_94
|
1435
1435
|
rights: rights_94
|
1436
1436
|
contributor: contributor_94
|
@@ -1445,7 +1445,7 @@
|
|
1445
1445
|
creator: creator_75
|
1446
1446
|
language: language_75
|
1447
1447
|
title: title_75
|
1448
|
-
date:
|
1448
|
+
date: Wed Feb 14 11:30:22 -0800 2007
|
1449
1449
|
type: type_75
|
1450
1450
|
rights: rights_75
|
1451
1451
|
contributor: contributor_75
|
@@ -1460,7 +1460,7 @@
|
|
1460
1460
|
creator: creator_37
|
1461
1461
|
language: language_37
|
1462
1462
|
title: title_37
|
1463
|
-
date:
|
1463
|
+
date: Sat Mar 24 12:30:22 -0700 2007
|
1464
1464
|
type: type_37
|
1465
1465
|
rights: rights_37
|
1466
1466
|
contributor: contributor_37
|
@@ -1475,7 +1475,7 @@
|
|
1475
1475
|
creator: creator_18
|
1476
1476
|
language: language_18
|
1477
1477
|
title: title_18
|
1478
|
-
date:
|
1478
|
+
date: Thu Apr 12 12:30:22 -0700 2007
|
1479
1479
|
type: type_18
|
1480
1480
|
rights: rights_18
|
1481
1481
|
contributor: contributor_18
|
@@ -1490,7 +1490,7 @@
|
|
1490
1490
|
creator: creator_56
|
1491
1491
|
language: language_56
|
1492
1492
|
title: title_56
|
1493
|
-
date:
|
1493
|
+
date: Mon Mar 05 11:30:22 -0800 2007
|
1494
1494
|
type: type_56
|
1495
1495
|
rights: rights_56
|
1496
1496
|
contributor: contributor_56
|
@@ -12,6 +12,12 @@ class ActiveRecordProviderTest < Test::Unit::TestCase
|
|
12
12
|
assert doc.elements['/OAI-PMH/ListMetadataFormats/metadataFormat/metadataPrefix'].text == 'oai_dc'
|
13
13
|
end
|
14
14
|
|
15
|
+
def test_metadata_formats_for_record
|
16
|
+
assert_nothing_raised { REXML::Document.new(@provider.list_metadata_formats(:identifier => 'oai:test/1')) }
|
17
|
+
doc = REXML::Document.new(@provider.list_metadata_formats)
|
18
|
+
assert doc.elements['/OAI-PMH/ListMetadataFormats/metadataFormat/metadataPrefix'].text == 'oai_dc'
|
19
|
+
end
|
20
|
+
|
15
21
|
def test_list_records
|
16
22
|
assert_nothing_raised { REXML::Document.new(@provider.list_records) }
|
17
23
|
doc = REXML::Document.new(@provider.list_records)
|
@@ -10,12 +10,12 @@ class ResumptionTokenFunctionalTest < Test::Unit::TestCase
|
|
10
10
|
def test_resumption_tokens
|
11
11
|
assert_nothing_raised { Document.new(@provider.list_records) }
|
12
12
|
doc = Document.new(@provider.list_records)
|
13
|
-
assert_not_nil doc.elements["/OAI-PMH/resumptionToken"]
|
14
|
-
assert_equal
|
15
|
-
token = doc.elements["/OAI-PMH/resumptionToken"].text
|
13
|
+
assert_not_nil doc.elements["/OAI-PMH/ListRecords/resumptionToken"]
|
14
|
+
assert_equal 101, doc.elements["/OAI-PMH/ListRecords"].to_a.size
|
15
|
+
token = doc.elements["/OAI-PMH/ListRecords/resumptionToken"].text
|
16
16
|
doc = Document.new(@provider.list_records(:resumption_token => token))
|
17
|
-
assert_not_nil doc.elements["/OAI-PMH/resumptionToken"]
|
18
|
-
assert_equal
|
17
|
+
assert_not_nil doc.elements["/OAI-PMH/ListRecords/resumptionToken"]
|
18
|
+
assert_equal 101, doc.elements["/OAI-PMH/ListRecords"].to_a.size
|
19
19
|
end
|
20
20
|
|
21
21
|
def test_from_and_until_with_resumption_tokens
|
@@ -26,16 +26,16 @@ class ResumptionTokenFunctionalTest < Test::Unit::TestCase
|
|
26
26
|
:from => Chronic.parse("September 1 2004"),
|
27
27
|
:until => Chronic.parse("November 30 2004"))
|
28
28
|
)
|
29
|
-
assert_equal
|
30
|
-
token = doc.elements["/OAI-PMH/resumptionToken"].text
|
29
|
+
assert_equal 101, doc.elements["/OAI-PMH/ListRecords"].to_a.size
|
30
|
+
token = doc.elements["/OAI-PMH/ListRecords/resumptionToken"].text
|
31
31
|
|
32
32
|
doc = Document.new(@provider.list_records(:resumption_token => token))
|
33
|
-
assert_not_nil doc.elements["/OAI-PMH/resumptionToken"]
|
34
|
-
assert_equal
|
35
|
-
token = doc.elements["/OAI-PMH/resumptionToken"].text
|
33
|
+
assert_not_nil doc.elements["/OAI-PMH/ListRecords/resumptionToken"]
|
34
|
+
assert_equal 101, doc.elements["/OAI-PMH/ListRecords"].to_a.size
|
35
|
+
token = doc.elements["/OAI-PMH/ListRecords/resumptionToken"].text
|
36
36
|
|
37
37
|
doc = Document.new(@provider.list_records(:resumption_token => token))
|
38
|
-
assert_nil doc.elements["/OAI-PMH/resumptionToken"]
|
38
|
+
assert_nil doc.elements["/OAI-PMH/ListRecords/resumptionToken"]
|
39
39
|
assert_equal 100, doc.elements["/OAI-PMH/ListRecords"].to_a.size
|
40
40
|
end
|
41
41
|
|
@@ -6,8 +6,8 @@ class ResumptionTokenTest < Test::Unit::TestCase
|
|
6
6
|
|
7
7
|
def setup
|
8
8
|
@token = ResumptionToken.new(
|
9
|
-
:from =>
|
10
|
-
:until =>
|
9
|
+
:from => Time.utc(2005,"jan",1,17,0,0),
|
10
|
+
:until => Time.utc(2005,"jan",31,17,0,0),
|
11
11
|
:set => "A",
|
12
12
|
:metadata_prefix => "oai_dc",
|
13
13
|
:last => 1
|
@@ -29,6 +29,13 @@ class TestSimpleProvider < Test::Unit::TestCase
|
|
29
29
|
doc.elements['/OAI-PMH/ListMetadataFormats/metadataFormat/metadataPrefix'].text
|
30
30
|
end
|
31
31
|
|
32
|
+
def test_metadata_formats_for_document
|
33
|
+
assert_nothing_raised { REXML::Document.new(@simple_provider.list_metadata_formats(:identifier => "oai:test/1")) }
|
34
|
+
doc = REXML::Document.new(@simple_provider.list_metadata_formats)
|
35
|
+
assert_equal "oai_dc",
|
36
|
+
doc.elements['/OAI-PMH/ListMetadataFormats/metadataFormat/metadataPrefix'].text
|
37
|
+
end
|
38
|
+
|
32
39
|
def test_list_records_without_constraints
|
33
40
|
assert_nothing_raised { REXML::Document.new(@simple_provider.list_records) }
|
34
41
|
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
|
|
3
3
|
specification_version: 1
|
4
4
|
name: oai
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.0.
|
7
|
-
date: 2007-
|
6
|
+
version: 0.0.6
|
7
|
+
date: 2007-06-05 00:00:00 -04:00
|
8
8
|
summary: A ruby library for working with the Open Archive Initiative Protocol for Metadata Harvesting (OAI-PMH)
|
9
9
|
require_paths:
|
10
10
|
- lib
|