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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2751 - (hide 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 bramz 2751 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 bramz 2749 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 bramz 2750
19     * dbflibmodule.c: commit function was incorrectly pointing to
20     dbflib_read_record
21 bramz 2749
22 bramz 2747 2007-03-21 Bram de Greve <[email protected]>
23    
24     * shptreemodule.c: restoring something that shouldn't have been committed.
25    
26 bramz 2744 2007-03-15 Bram de Greve <[email protected]>
27    
28 bramz 2745 * 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 bramz 2744 * 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 bramz 2742 2007-03-14 Bram de Greve <[email protected]>
59 bramz 2735
60 bramz 2743 * shapelibmodule.c: added support for shapetypes with Z and M values
61    
62     2007-03-14 Bram de Greve <[email protected]>
63    
64 bramz 2742 * 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 bramz 2741 * 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 bramz 2742 2007-03-12 Bram de Greve <[email protected]>
85 bramz 2741
86 bramz 2735 * 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 bernhard 2704 2006-09-24 Bernhard Reiter <[email protected]>
95    
96 bernhard 2706 * 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 bernhard 2704 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 bh 2637 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 bernhard 2510 2004-12-27 Bernhard Reiter <[email protected]>
119    
120     * README: Refering to the new homepage shapelib.maptools.org now.
121    
122 bh 2453 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 bh 2223 2004-05-28 Bernhard Herzog <[email protected]>
131    
132 bh 2227 * 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 bh 2223 * 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 bh 2213 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 bh 1920 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 bh 1763 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 jan 1611 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