/[thuban]/branches/WIP-pyshapelib-bramz/libraries/pyshapelib/ChangeLog
ViewVC logotype

Contents of /branches/WIP-pyshapelib-bramz/libraries/pyshapelib/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2751 - (show annotations)
Wed Mar 28 23:30:15 2007 UTC (17 years, 11 months ago) by bramz
File size: 10558 byte(s)
Added support for Win32 wide character file API.  Unicode filenames are now fully supported on the windows platform: for example exotic filenames like the greek letter pi (u"\u03c0").  However, this needed unofficial modifications in the C++ shapelib library.
1 2007-03-29 Bram de Greve <[email protected]>
2
3 * shapelibmodule.c, dbflibmodule.c, pyshapelib_common.h: added support for
4 Win32 wide character file API. Unicode filenames are now fully supported
5 on the windows platform: for example exotic filenames like the greek letter
6 pi (u"\u03c0"). This is mostly mimicked from Python's fileobject.c, and
7 needed some severe changes in the C++ shapelib library to support the wide
8 filename API. All XOpen and XCreate functions now have XOpenW and XCreateW
9 counterparts plus some common code has been split to XOpenEx and XCreateEx.
10 I hope these modifications might one day end up in an official shapelib
11 release. Meanwhile, compatibility is guaranteed as the specific Unicode
12 code paths are not compiled if the modifications are not found.
13
14 2007-03-22 Bram de Greve <[email protected]>
15
16 * shapelibmodule.c, dbflibmodule.c: in __init__ of ShapeFile and DBFFile,
17 throw proper IOError if opening of file failed.
18
19 * dbflibmodule.c: commit function was incorrectly pointing to
20 dbflib_read_record
21
22 2007-03-21 Bram de Greve <[email protected]>
23
24 * shptreemodule.c: restoring something that shouldn't have been committed.
25
26 2007-03-15 Bram de Greve <[email protected]>
27
28 * shapelib.c: When creating measured shapes (XYM), treat M value
29 value as optional (defaults to zero). Similar for
30 3D shapes (XYZM), threat both the Z and M value as options
31 (both default to zero). When M values are to be given,
32 None is accepted as "no-data" value, and is stored as zero
33 (ESRI shapefile specs define any M value smaller than 1e-38
34 as no-data). Added an unpack_vertex() function to lift some
35 of the load of shpobject_init. Fixed a missing break and
36 PyMem_Free in build_vertex_list(), shapefile_init() and
37 shapelib_create().
38
39 * dbflibmodule.c: Added support for the FTLogical field type.
40
41 * shapelibmodule.c, dbflibmodule.c: Added 'name' and 'mode'
42 keywords for ShapeFile and DBFFile constructors and the module's
43 open() function, similiar to Python's file(). Reformatted
44 the doc strings to have a standard look and feel when parsed
45 through pydoc.
46
47 * shapelib_common.h: added no-data constants.
48
49 * pytest.py: Added tests for multipatch shapefile with XYZM values.
50 Added tests for FTLogical field.
51
52 2007-03-15 Bram de Greve <[email protected]>
53
54 * shapelibmodule.c, dbflibmodule.c: added some Unicode support for the
55 filenames (no internal encoding for DBFFile yet). It now should similar
56 Unicode support Python's file() (concerning the filename, that is).
57
58 2007-03-14 Bram de Greve <[email protected]>
59
60 * shapelibmodule.c: added support for shapetypes with Z and M values
61
62 2007-03-14 Bram de Greve <[email protected]>
63
64 * dbflibmodule.c, dbflib.i: replaced dbflib.i by dbflibmodule.c to use
65 hand-crafted Python bindings instead of SWIG generated ones
66
67 * shapelibmodule.c, shapelib.c: Renamed shapelib.c to shapelibmodule.c
68 to match style of dbflibmodule.c and shptreemodule.c. Changed some
69 (well, most) names to match same style.
70
71 * pyshapelib_common.h: do all necessary includes here
72
73 * setup.py: updated building of dbflib.
74
75 2007-03-13 Bram de Greve <[email protected]>
76
77 * shapelib.c, shapelib_common.h: Added part_types() to SHPObject to
78 return tuple of part types. Added __repr__ operators to return a
79 string that can reconstruct the object using eval()
80
81 * pytest.py: Added tests for part_types() and __repr__.
82 Humanized the output a bit.
83
84 2007-03-12 Bram de Greve <[email protected]>
85
86 * shapelib.c, shapelib.i: replaced shapelib.i by shapelib.c to use
87 hand-crafted Python bindings instead of SWIG generated ones.
88
89 * pyshapelib_common.h: New file with some common stuff for both
90 shapelib and dbflib
91
92 * pyshapelib_api.h, setup.py: import/build shapelib instead of shapelibc
93
94 2006-09-24 Bernhard Reiter <[email protected]>
95
96 * dbflib_wrap.c, README: Checked for python version >= 2.4.0a0
97 before using &PyOS_ascii_atof.
98
99 2006-09-24 Bernhard Reiter <[email protected]>
100
101 Added dirty workaround to make dbflib agnostic
102 against decimal_poinst != ".\0".
103
104 * dbflib_wrap.c: Added call DBFSetatof_function(&PyOS_ascii_atof);
105 to initdbflibc().
106 * README: noted that manual editing of dbflib_wrap.c is necessary now.
107
108 2005-06-30 Bernhard Herzog <[email protected]>
109
110 * shapelib.i (new_SHPObject): Fix the test for the length of the
111 part types. It used the wrong variable.
112
113 * shapelib_wrap.c: Regenerated from shapelib.i
114
115 * pytest.py (make_shapefile): Add some more comments and add an
116 example with a polygon with a hole.
117
118 2004-12-27 Bernhard Reiter <[email protected]>
119
120 * README: Refering to the new homepage shapelib.maptools.org now.
121
122 2004-12-13 Bernhard Herzog <[email protected]>
123
124 * dbflib.py: Updated from difflib.i with SWIG.
125
126 * dbflib.i: Work around a bug in the generated python code which
127 leads to exception in the __del__ method when the constructor
128 fails. See the comments in the code for more details.
129
130 2004-05-28 Bernhard Herzog <[email protected]>
131
132 * README: Flesh out the some more. Correct the shapelib
133 requirements.
134
135 * NEWS: Update the date of the actual release of 0.3
136
137 2004-05-28 Bernhard Herzog <[email protected]>
138
139 * setup.py: Determine shp_dir correctly when run with bdist_rpm
140 (dbf_macros): Remove a debug print
141
142 * NEWS: Also mention the new (compared to 0.2) setup.py
143
144 * MANIFEST.in: New. Define which files belong into a source
145 distribution
146
147 2004-05-17 Bernhard Herzog <[email protected]>
148
149 * README: Update for new release
150
151 * setup.py (dbf_macros): New. Return the preprocessor macros
152 needed to compile the dbflib wrapper. Determine whether
153 DBFUpdateHeader is available and define the right value of
154 HAVE_UPDATE_HEADER
155 (extensions): Use dbf_macros for the dbflibc extension
156
157 * dbflib_wrap.c, dbflib.py: Update from dbflib.i
158
159 * dbflib.i (DBFInfo_commit): New. Implementation of the commit
160 method. This new indirection is necessary because we use the
161 DBFUpdateHeader function now which is not available in shapelib <=
162 1.2.10
163 (DBFFile::commit): Use DBFInfo_commit as implementation
164 (pragma __class__): New. Kludge to remove the commit method when
165 the DBFUpdateHeader function isn't available
166 (_have_commit): New. Helper for the pragma kludge.
167
168 2003-11-03 Bernhard Herzog <[email protected]>
169
170 * dbflib.i (do_read_attribute): New helper function for reading
171 one attribute as a python object
172 (DBFInfo_read_attribute): New. Implement the read_attribute method
173 (DBFInfo_read_record): Use do_read_attribute to read the
174 individual values
175 (struct DBFFile): Add the read_attribute method.
176
177 * dbflib_wrap.c, dbflib.py: Update from dbflib.i.
178
179 2003-09-29 Bernhard Herzog <[email protected]>
180
181 * dbflib.i: Add exception typemap for the add_field method. Fixes
182 Thuban bug RT#1842
183
184 * dbflib_wrap.c: Update from dbflib.i
185
186 * testdbf.py: New. Test cases for the dbflib bindings based on the
187 unittest module
188
189 2003-08-18 Bernhard Herzog <[email protected]>
190
191 * dbflib.i (DBFInfo_write_record): Use PySequence_Check instead of
192 PyMapping_Check to distinguish between sequences and mappings
193 because in Python 2.3, PyMapping_Check returns true for tuples and
194 lists too.
195
196 2003-05-28 Bernhard Herzog <[email protected]>
197
198 * dbflib.i (DBFInfo_read_record): Read NULL fields as None unless
199 it's a string field. DBF files can't distinguish between NULL and
200 an empty string. Also, check the return value of
201 DBFReadStringAttribute which may return NULL to indicate errors.
202
203 * dbflib_wrap.c: Updated from dbflib.i
204
205 2002-08-27 Bernhard Herzog <[email protected]>
206
207 * dbflib.i: Raise an exception if open or create fails.
208
209 * shapelib.i: Slightly better wording for the IOError exception
210 that open and create may raise.
211
212 * shapelib_wrap.c, dbflib_wrap.c: Regenerated
213
214 2002-08-22 Bernhard Herzog <[email protected]>
215
216 * dbflib.i (DBFFile::commit): New method for DBFCommit.
217
218 * dbflib_wrap.c, dbflib.py: Update from dbflib.i
219
220 2002-08-15 Bernhard Herzog <[email protected]>
221
222 * shapelib.i, dbflib.i: Make the NOCHECK trick for the ShapeFile *
223 check typemap work with SWIG 1.3.
224
225 * shapelib_wrap.c, dbflib_wrap.c: Regenerate from the .i files.
226
227 2002-05-10 Bernhard Herzog <[email protected]>
228
229 * dbflib.i (DBFInfo_write_record): Only DECREF if the return value
230 of PyMapping_GetItemString is not NULL. Also, test the return
231 value of PySequence_GetItem
232 (write_field): Remove some debug prints
233
234 * dbflib_wrap.c: Updated from dbflib.i
235
236 2002-05-07 Bernhard Herzog <[email protected]>
237
238 * shptreemodule.c (SHPTreeType, initshptree): Set SHPTreeType's
239 PyType_Type pointer in the init function.
240 (shptree_methods): Use METH_VARARGS
241 (shptree_dealloc): Use PyMem_DEL
242 (shptree_find_shapes): Add a missing return
243
244 2002-05-07 Bernhard Herzog <[email protected]>
245
246 * shptreemodule.c: New file with a simple wrapper for shapelib's
247 quadtree
248
249 * setup.py: Some fixes to use explicit forward slashes as
250 directory separators because of distutils.
251 (extensions): Add the shptree module.
252
253 * pytest.py (read_shapefile): Add some demo calls for the shptree
254 module
255
256 * pyshapelib_api.h (PyShapeLibAPI): Add some of the shptree
257 functions.
258 (PYSHAPELIB_IMPORT_API): New macro to import the API
259
260 * shapelib.i (the_api): add the tree API functions.
261
262 * shapelib_wrap.c: Updated from shapelib.i with SWIG.
263
264 2002-04-11 Bernhard Herzog <[email protected]>
265
266 * pyshapelib_api.h: New file with a limited C-level API for
267 accessing shapilib functions from other Python-extensions.
268
269 * shapelib.i: Export the C-level API with the c_api function.
270
271 * shapelib.py, shapelib_wrap.c: Updated from shapelib.i. Still
272 done with a very old version of SWIG, but it's probably not worth
273 it to try it with a newer version as long as this still works.
274
275 2001-07-18 Bernhard Herzog <[email protected]>
276
277 * shapelib.i (open_ShapeFile): declare the swig prototype
278 correctly with ShapeFile* as return type
279 (ShapeFile.cobject): New method returning the SHPHandle* as a
280 CObject
281
282 * Makefile (VERSION): Increase to 0.3
283
284 * setup.py, MANIFEST.in: New files for python distutils.
285
286 2001-06-15 Bernhard Herzog <[email protected]>
287
288 * Makefile (VERSION): Increase to 0.2
289
290 2001-06-14 Bernhard Herzog <[email protected]>
291
292 * shapelib.i: Add the functions SHPTypeName as type_name and
293 SHPPartTypeName as part_type_name
294 (SHPObject_vertices):
295 (build_vertex_list): Put building a list of vertices into the
296 separate function build_vertex_list so that SHPObject_vertices can
297 support SHPT_POINT too.
298
299 * ChangeLog: create ChangeLog
300

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26