zcc 0.0.3 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. data/History.txt +15 -0
  2. data/Manifest.txt +12 -19
  3. data/Rakefile +2 -1
  4. data/bin/zcc +228 -202
  5. data/examples/zcc.yaml +21 -12
  6. data/examples/zebra/{register/empty → key/remove_me} +1 -1
  7. data/examples/zebra/{key/empty → lock/remove_me} +1 -1
  8. data/examples/zebra/records/0.mrc +1 -0
  9. data/examples/zebra/{lock/empty → register/remove_me} +1 -1
  10. data/examples/zebra/tab/marc21.abs +67 -0
  11. data/examples/zebra/tab/record.abs +1 -0
  12. data/examples/zebra/zebra.cfg +2 -2
  13. data/examples/zservers.yaml +869 -0
  14. data/lib/zcc.rb +8 -0
  15. data/lib/zcc/ansicolorz.rb +26 -0
  16. data/lib/zcc/cli_display.rb +461 -0
  17. data/lib/zcc/query.rb +183 -0
  18. data/lib/zcc/record.rb +265 -0
  19. data/lib/zcc/resultset.rb +169 -0
  20. data/lib/zcc/version.rb +2 -2
  21. data/lib/zcc/zoomer.rb +16 -2
  22. data/lib/zcc/zserver.rb +38 -0
  23. data/website/index.html +1 -1
  24. data/website/koha.html +18 -10
  25. data/website/koha.txt +13 -8
  26. data/website/zcc.html +35 -33
  27. data/website/zcc.txt +30 -32
  28. data/website/zebra.html +57 -15
  29. data/website/zebra.txt +56 -15
  30. metadata +23 -21
  31. data/examples/zebra/README +0 -2
  32. data/examples/zebra/records/examples/0.xml +0 -1
  33. data/examples/zebra/records/examples/1.xml +0 -1
  34. data/examples/zebra/records/examples/2.xml +0 -1
  35. data/examples/zebra/records/examples/3.xml +0 -1
  36. data/examples/zebra/records/examples/4.xml +0 -1
  37. data/examples/zebra/records/examples/5.xml +0 -1
  38. data/examples/zebra/records/examples/6.xml +0 -1
  39. data/examples/zebra/records/examples/7.xml +0 -1
  40. data/examples/zebra/records/examples/8.xml +0 -1
  41. data/examples/zebra/records/examples/9.xml +0 -1
  42. data/examples/zebra/shadow/empty +0 -1
  43. data/examples/zebra/tab/kohalis +0 -1
  44. data/examples/zebra/tmp/empty +0 -1
  45. data/lib/zcc/marcadditions.rb +0 -221
  46. data/lib/zcc/pickers.rb +0 -176
@@ -1,176 +0,0 @@
1
- module ZCC
2
- def ZCC.display_menu(rec_copy, index)
3
- field_width = $term_width - 8
4
- say("<%= color(\"#{index}\", :index) %> ")
5
- ['245', '260', '300'].each do |field|
6
- string = rec_copy[index][field].to_s
7
- string.rstrip!
8
- string.lstrip!
9
- if string.length < field_width
10
- say("\t#{ZCC.zcc_marc_str_bold(string, field)}")
11
- else
12
- better_string = ZCC.wrap_field(string, field_width)
13
- #puts better_string
14
- say("\t#{ZCC.zcc_marc_str_bold(better_string, field)}")
15
-
16
- end
17
- end
18
- end
19
-
20
- #currently this goes word by word. how difficult to go field by subfield?
21
- def ZCC.wrap_field(s, width)
22
- lines = []
23
- line = ""
24
- smaller_width = width - 7
25
- s.split(/\s+/).each do |word|
26
- if (line.size + word.size) >= (width - 3)
27
- lines << line
28
- line = word
29
- width = smaller_width
30
- elsif line.empty?
31
- line = word
32
- else
33
- line << " " << word
34
- end
35
- end
36
- lines << line if line
37
- return lines.join "\n\t\t"
38
- end
39
-
40
-
41
- def ZCC.zcc_marc_str_bold(string, field)
42
- #puts field
43
- string.gsub!("'", "\'")
44
- #string.gsub!("(", "\(")
45
- #string.gsub!(")", "\)")
46
- if field == '245'
47
- string.gsub!(/(\$a\s)(.*?)(\$.)/, "\\1<%= color(\"\\2\", :field_hilite) %>\\3")
48
- elsif field == '260'
49
- #puts 'gets here'
50
- string.gsub!(/(\$c\s)([\[0-9A-Za-z\]]*)(.|$)/, "\\1<%= color(\"\\2\", :field_hilite) %>\\3")
51
-
52
- #string.gsub!(/(\$c)(.*)(\$\s)/, "\\1<%= color(\"\\2\", :field_hilite) %>\\3")
53
- #string.gsub!(/(\$c)(.*)(\.|$)/, "\\1<%= color(\"\\2\", :field_hilite) %>\\3")
54
- elsif field == '300'
55
- string.gsub!(/(\$a)(.*?)(\$|$)/, "\\1<%= color(\"\\2\", :field_hilite) %>\\3")
56
- elsif field == 'record'
57
- string.sub!(/(LEADER.{19})(.{1})/, "\\1<%= color(\"\\2\", :headline) %>") #colorizes the value of the standard (AACR2, ISBD, or none)
58
- end
59
-
60
- string.gsub!( /\$(.)/, "<%= color('$\\1', :marc_tag) %>" )
61
- string.gsub!( /^(\d\d\d)\s/, "<%= color('\\1 ', :marc_tag) %>")
62
- string
63
- end
64
-
65
- def ZCC.not_valid_value
66
- print $clear_code
67
- say("\a<%= color(\"That's not a valid value. Try again.\", :headline) %> ")
68
- sleep 1
69
- print "\a"
70
- end
71
-
72
-
73
- end
74
-
75
-
76
- class Array
77
- def zcc_select_good_marc(take_how_many)
78
- #puts self[0]
79
- unless self[0].is_a? MARC::Record
80
- raise ArgumentError, "This Array doesn't have a MARC::Record!" end
81
- #puts self
82
- rec_copy = self.dup
83
- rec_copy = rec_copy.sort_by {|rec| rec['245']['a']}
84
-
85
- recs_to_return = []
86
- loop {
87
- print $clear_code
88
- rec_copy.each_index do |index|
89
- ZCC.display_menu(rec_copy, index)
90
- puts "\n\n"
91
- end
92
-
93
-
94
- whichrec = ''
95
- if take_how_many =='one'
96
- whichrec = ask("\n<%= color('Enter # | s# | c#-# | l# | none :', UNDERLINE) %> ", String){ |q| q.readline = true }
97
- else
98
- whichrec = ask("\n<%= color('Enter # | n | s# | c#-# | l# | d :', UNDERLINE) %> ", String){ |q| q.readline = true }
99
- end
100
-
101
- #puts "whichrec #{whichrec[0,1]}"
102
- #puts whichrec.class
103
- #whichrec = whichrec.to_i unless whichrec.respond_to?(:upcase)
104
- first_bit = whichrec[0,1]
105
- puts "whichrec is an Integer" if whichrec.is_a?(Integer)
106
- see_num = whichrec[1,9].to_i
107
- if first_bit == 's'
108
- print $clear_code
109
- print "\a"
110
- say("#{ZCC.zcc_marc_str_bold(rec_copy[see_num].to_s, 'record')}")
111
- ask("<%= color('Hit ENTER to continue...', :headline) %> ")
112
- #STDIN.gets
113
- next
114
- elsif first_bit == 'c'
115
- say("<%= color('comparison:', :headline) %> ")
116
- comparison = whichrec[1,99]
117
- compare_nums = comparison.split('-')
118
- rec_copy[compare_nums[0].to_i].compare_marc(rec_copy[compare_nums[1].to_i])
119
- ask("<%= color('Hit ENTER to continue...', :headline) %> ")
120
- #STDIN.gets
121
- next
122
- elsif first_bit == 'l'
123
- #puts rec_copy[whichrec[1,99].to_i]
124
- #gets
125
- rec_copy[whichrec[1,99].to_i].linter
126
- ask("<%= color('Hit ENTER to continue...', :headline) %> ")
127
- #STDIN.gets
128
- next
129
- elsif take_how_many == 'one'
130
- if ( whichrec == 'none' )
131
- puts "Since you cannot decide on a good record, please refer the book to a cataloger."
132
- return "none"
133
- elsif ( first_bit =~ /[a-z]/i or whichrec == '' )
134
- ZCC.not_valid_value
135
- next
136
- else
137
- if whichrec.to_i > (rec_copy.length - 1)
138
- puts "Your number exceeds the number of records in your retrieved set."
139
- next
140
- else
141
- return recs_to_return << rec_copy[whichrec.to_i]
142
- end
143
- end
144
- elsif take_how_many == 'multi'
145
- if whichrec == 'd'
146
- puts "You will not search any more zservers!"
147
- recs_to_return << "done"
148
- elsif ( whichrec == 'n' or whichrec == '' )
149
- puts "recs that will be returned #{recs_to_return.length}"
150
- return recs_to_return
151
- elsif whichrec[0,1] =~ /[a-z]/i
152
- ZCC.not_valid_value
153
- next
154
- else
155
- if whichrec.to_i > (rec_copy.length - 1)
156
- puts "Your number exceeds the number of records in your retrieved set."
157
- next
158
- else
159
- #puts "adding record to recs_to_return"
160
- recs_to_return << rec_copy[whichrec.to_i]
161
- #puts "recs_to_return.length #{recs_to_return.length}"
162
- next
163
- end
164
- end
165
- else
166
- puts "That's not a valid value take_how_many value to pass into select_good_marc!"
167
- end
168
- #puts "group whichrec.to_i #{whichrec.to_i}"
169
- return recs_to_return
170
- }
171
- end
172
-
173
- end
174
-
175
-
176
-