forked from edsu/pymarc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changes
189 lines (149 loc) · 7.4 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
v2.71 Sun Nov 21 10:14:13 EST 2010
- small bugfix to Record.__init__ when force_utf8 is in play, and no record
data is supplied (Dan Scott)
v2.70
- Added utf8_handling parameter to Record and MARCReader constructors and to
Record.decode_marc(); accepts 'strict', 'replace', and 'ignore as arguments,
just like the errors parameter of 8-bit string decoding in Python
- Cleaned up test/marc8.py to suppress MARC8 to Unicode warnings
(Mark Matienzo)
- Added hide_utf8_warnings flag to marc8_to_unicode, MARCReader and Record;
wrapper for quiet flag for MARC8ToUnicode (Mark Matienzo)
v2.60
- slightly better capturing of the isbn from extraneous information in the
MARC 020 field.
- added Record.remove_field
v2.51 Thu Dec 17 13:17:47 EST 2009
- strip non-numeric characters in Record.isbn() (André Nesse)
v2.50 Wed Dec 16 15:26:23 EST 2009
- changed default character set handling behavior back to what it was like
pre-v2.40. But retained the ability to convert to Unicode when reading
by using MARCReader(to_unicode=True). Also added a parameter force_utf8
to force decoding as UTF-8 for use in situations when the record is UTF-8,
but the leader hasn't been coded correctly. (Ed Summers)
- improved non-numeric tag functionality in Record.decode_marc -- comparison
to determine if a tag should be treated as a control or variable field
wasn't being done in the same way it was in Field.__init__ (Mark Matienzo)
v2.41
- added non-numeric tag functionality (thanks Mark Matienzo)
v2.40
- renamed Record.as_marc21 Field.as_marc21 to Record.as_marc and Field.as_marc
to bring in line with Record.decode_marc -- but I created aliases for the
old methods so people's code won't break.
- Record.decode_marc now decodes utf-8 after fields have been extracted with
byte offsets. Similarly Record.as_marc encodes fields as utf-8 before
calculating byte offsets. This hopefully will help people like Ted who
were trying to create records with Unicode in them, serializing them as
marc, and then other software complaining about record length, byte offsets
being incorrect. https://lists.launchpad.net/pymarc-team/msg00007.html
- disabled quiet marc8 error test since whatever marc8 error was coming up
now has disappeared with the new utf-8 encode/decode action.
v2.32 Sun Apr 19 21:20:31 EDT 2009
- added Field.delete_subfield thanks Ahuel Angelinetti
v2.31 Sun Mar 1 09:11:11 EST 2009
- added strict namespace checking, thanks Godmar Back
v2.30 Tue Oct 21 08:27:58 EDT 2008
- added logic to Field to format integer tags if they aren't of length 3
thanks to Ross Singer for noticing the problem
v2.23 Tue Jul 8 12:20:27 EDT 2008
- added *.py to MANIFEST.in, or else ez_setup.py ain't there
v2.22 Tue Jul 8 12:16:28 EDT 2008
- modified MANIFEST.in to package up test/batch.xml (thanks Dave Woodward)
v2.21 Thu Apr 17 06:36:42 EDT 2008
- added more iii specific marc8 abominations (thanks Galen Charlton)
v2.2 Tue Mar 25 13:00:50 EDT 2008
- MARCReader now accepts any "file-like" object that has read()
thanks Neil Santos.
v2.1 Wed Mar 19 15:31:11 EST 2008
- new Record handy lookup methods, and tests (thanks Chris Catalfo)
- only make elementtreee a requirement if it's not already available
v2.0 Wed Feb 27 15:46:32 EST 2008
- WARNING: v2.0 will break your code!
- PEP-8 cleanup (thanks Gabe Farrell)
- moved over to bzr (http://fruct.us/bzr/pymarc)
- added map_records() to pymarc/reader.py
- anchored version to pymarc.__version__
v1.7 Wed Jan 30 21:52:48 EST 2008
- documentation fixes (thanks Gabe Farrell)
- fixed marc8 stderr printing, and added quiet argument to MARC8_to_Unicode
for people who'd rather not see warnings on STDERR.
v1.6 Thu Jan 24 14:17:18 EST 2008
- marc8 now prints warnings on stderr rather than stdout
v1.5 Wed Jan 2 21:54:56 EST 2008
- added pymarc.marcxml.record_to_xml for converting a record to marcxml
and corresponding test in test/xml_test.py
v1.4 Tue Nov 27 13:44:41 EST 2007
- map_xml can take multiple files
v1.3 Tue Nov 20 08:48:51 EST 2007
- added map_xml to pymarc/marcxml.py for a more functional processing
v1.2 Tue Sep 4 08:22:44 EDT 2007
- added pymarc/marcxml.py for marcxml reading support
- added test of marcxml reading: test/xml_test.py
- modified Field so that default indicators and subfields are
not set to a default array in the method signature. This causes
subtle bugs since new arrays are not contructed for
repeated calls to the constructor.
v1.1 Wed Aug 15 08:34:39 EDT 2007
- updated the homepage for the package
v1.0 Wed Jul 18 14:55:19 EDT 2007
- added marc8_to_unicode() support for applications that need to
convert marc8 data to unicode ... many thanks for Aaron Lav
for allowing relevant bits of code to be lifted from PyZ3950;
also thanks to Mark Matienzo for the idea and for testing.
- added some tests for new marc8_to_unicode functionality. Thanks
to the Library of Congress for providing equivalent marc8 and
utf8 marc record batches to use for constructing test data
- The folowing changes are courtesy of Mark Matienzo:
- modified __str__ methods for Field and Record to produce
data in MARCMaker [1] format. THIS MAY BREAK YOUR CODE. This is
not a complete implementation as support for special character
mnemonics [2] has yet to be added
- modified test cases for string conversion and added tests for
control fields
- added formatField() and isSubjectField() methods to Field and
the author(), uniformtitle(), subjects(), addedentries(),
and location() methods to Record, and tests for those methods
[1] http://www.loc.gov/marc/makrbrkr.html
[2] http://www.loc.gov/marc/mnemonics.html
v0.9 Tue Apr 10 21:54:02 EDT 2007
- various simplifications and pythonifications (thanks Dan Chudnov)
- added easy_install support
v0.85 Fri Feb 3 13:08:35 EST 2006
- added default leader template for when records are created
from scratch (thanks Kurt Nordstrom)
v0.81 Mon Jan 30 16:33:36 EST 2006
- getFields() wasn't returning all the fields when no tag was passed in.
v0.8 Mon Jan 30 07:05:36 CST 2006
- added the ability to read raw marc from strings THIS MAY BREAK
YOUR CODE. pymarc no longer supports passing file paths to the
MARCReader constructor. You need to simply change:
reader = MARCReader('marc.dat')
to:
reader = MARCReader(file('marc.dat'))
Thanks to Daniel Hoth for suggesting this. It just makes sense to
be able to pass in MARC that you got from a Z39.50 network connection
or database, etc.
v0.7 Mon Jan 23 15:08:55 EST 2006
- added addSubfield() to Subfield (thanks Kurt Nordstrom)
v0.6 Tue Nov 29 20:48:31 CST 2005
- fixed test suite to run under the unittest that ships with python2.3
- allow non-integer field tags
- fixed MARCWriter and added test (thanks Mikel Larreategi)
v0.5 Thu Feb 10 10:01:12 CST 2005
- handle empty subfields
v0.4 Wed Feb 2 22:29:33 CST 2005
- fixed directory validation: thanks Aaron Lav
- added iterator for pymarc.Field for iterating through subfields
- added pymarc.Field.value() for getting a field value easily
v0.3 Wed Jan 5 17:03:37 CST 2005
- changed mind about accessors (again):
removed getField() must use getFields()
renamed subfield() to getSubfields() and have it return a list
- added doctest support to pymarc/__init__.py
- added a test batch file of python data
v0.2 Tue Jan 4 21:01:22 CST 2005
- removed getField() and renamed getFields() to find()
v0.11 Mon Jan 3 20:42:19 CST 2005
- fixed test suite execution
v0.1 Wed Dec 29 19:54:23 CST 2004
- initial release