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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/thuban/libraries/pyshapelib/ChangeLog revision 1611 by jan, Tue Aug 19 21:24:20 2003 UTC branches/WIP-pyshapelib-bramz/libraries/pyshapelib/ChangeLog revision 2752 by bramz, Tue Apr 10 23:45:00 2007 UTC
# Line 1  Line 1 
1    2007-04-11      Bram de Greve <[email protected]>
2    
3            * dbflibmodule.c, pyshapelib_common.h, setup.py: attempt to add support for
4            Unicode and Language Driver ID (LDID) support in dbflib.  Before the strings
5            are send to the underlying shapelib, they are encoded using the code page
6            specified by the database's LDID if present.  To know this LDID requires
7            some unofficial modifications to maptools' shapelib.  Backwards
8            compatibility is ensured by detecting if this field is present and setting
9            HAVE_LANGUAGE_DRIVER accordingly in setup.py.  In absence of the LDID,
10            dbflib assumes a Windows ANSI codepage (cp1252).  
11            New or modified functions/attributes of the DBFFile class:
12            - read_record(...), DBFFile.read_attribute(...): modified, now return
13              Unicode strings.
14            - write_record(...) and write_field(...): modified, now accept both regular
15              and Unicode strings but both are encoded.
16            - language_driver (read-only): new, the numerical value of the LDID
17              (exists only if HAVE_LANGUAGE_DRIVER == 1)
18            New or modified functions/constants of the dbflib module:
19            - language_driver_codec(...): added, translates a numerical LDID into the
20              string name of the Python codec used to encode/decode the strings.
21              (exists only if HAVE_LANGUAGE_DRIVER == 1)
22            - language_driver_name(...): added, translates a numerical LDID into a string
23              representing the corresponding constant.
24              (exists only if HAVE_LANGUAGE_DRIVER == 1)
25            - LDID_NOT_SET, LDID_DOS_USA, ...: constants representing language drivers.
26              (existsonly if HAVE_LANGUAGE_DRIVER == 1)
27    
28    2007-03-29      Bram de Greve <[email protected]>
29    
30            * shapelibmodule.c, dbflibmodule.c, pyshapelib_common.h: added support for
31            Win32 wide character file API.  Unicode filenames are now fully supported
32            on the windows platform: for example exotic filenames like the greek letter
33            pi (u"\u03c0").  This is mostly mimicked from Python's fileobject.c, and
34            needed some severe changes in the C++ shapelib library to support the wide
35            filename API.  All XOpen and XCreate functions now have XOpenW and XCreateW
36            counterparts plus some common code has been split to XOpenEx and XCreateEx.
37            I hope these modifications might one day end up in an official shapelib
38            release.  Meanwhile, compatibility is guaranteed as the specific Unicode
39            code paths are not compiled if the modifications are not found.
40    
41    2007-03-22      Bram de Greve <[email protected]>
42    
43            * shapelibmodule.c, dbflibmodule.c: in __init__ of ShapeFile and DBFFile,
44            throw proper IOError if opening of file failed.
45            
46            * dbflibmodule.c: commit function was incorrectly pointing to
47            dbflib_read_record
48    
49    2007-03-21      Bram de Greve <[email protected]>
50    
51            * shptreemodule.c: restoring something that shouldn't have been committed.
52    
53    2007-03-15      Bram de Greve <[email protected]>
54    
55            * shapelib.c: When creating measured shapes (XYM), treat M value
56            value as optional (defaults to zero).  Similar for
57            3D shapes (XYZM), threat both the Z and M value as options
58            (both default to zero).  When M values are to be given,
59            None is accepted as "no-data" value, and is stored as zero
60            (ESRI shapefile specs define any M value smaller than 1e-38
61            as no-data). Added an unpack_vertex() function to lift some
62            of the load of shpobject_init. Fixed a missing break and
63            PyMem_Free in build_vertex_list(), shapefile_init() and
64            shapelib_create().
65    
66            * dbflibmodule.c: Added support for the FTLogical field type.
67            
68            * shapelibmodule.c, dbflibmodule.c: Added 'name' and 'mode'
69            keywords for ShapeFile and DBFFile constructors and the module's
70            open() function, similiar to Python's file().  Reformatted
71            the doc strings to have a standard look and feel when parsed
72            through pydoc.
73            
74            * shapelib_common.h: added no-data constants.
75            
76            * pytest.py: Added tests for multipatch shapefile with XYZM values.
77            Added tests for FTLogical field.
78    
79    2007-03-15      Bram de Greve <[email protected]>
80    
81            * shapelibmodule.c, dbflibmodule.c: added some Unicode support for the
82            filenames (no internal encoding for DBFFile yet).  It now should similar
83            Unicode support Python's file() (concerning the filename, that is).
84    
85    2007-03-14  Bram de Greve <[email protected]>
86    
87            * shapelibmodule.c: added support for shapetypes with Z and M values
88    
89    2007-03-14  Bram de Greve <[email protected]>
90    
91            * dbflibmodule.c, dbflib.i: replaced dbflib.i by dbflibmodule.c to use
92            hand-crafted Python bindings instead of SWIG generated ones
93            
94            * shapelibmodule.c, shapelib.c: Renamed shapelib.c to shapelibmodule.c
95            to match style of dbflibmodule.c and shptreemodule.c.  Changed some
96            (well, most) names to match same style.
97            
98            * pyshapelib_common.h: do all necessary includes here
99            
100            * setup.py: updated building of dbflib.
101            
102    2007-03-13  Bram de Greve <[email protected]>
103    
104            * shapelib.c, shapelib_common.h: Added part_types() to SHPObject to
105            return tuple of part types. Added __repr__ operators to return a
106            string that can reconstruct the object using eval()
107            
108            * pytest.py: Added tests for part_types() and __repr__.  
109            Humanized the output a bit.
110    
111    2007-03-12  Bram de Greve <[email protected]>
112    
113            * shapelib.c, shapelib.i: replaced shapelib.i by shapelib.c to use
114            hand-crafted Python bindings instead of SWIG generated ones.
115            
116            * pyshapelib_common.h: New file with some common stuff for both
117            shapelib and dbflib
118            
119            * pyshapelib_api.h, setup.py: import/build shapelib instead of shapelibc
120            
121    2006-09-24  Bernhard Reiter  <[email protected]>
122    
123            * dbflib_wrap.c, README: Checked for python version >= 2.4.0a0
124            before using &PyOS_ascii_atof.
125    
126    2006-09-24  Bernhard Reiter  <[email protected]>
127    
128            Added dirty workaround to make dbflib agnostic
129            against decimal_poinst != ".\0".
130    
131            * dbflib_wrap.c: Added call DBFSetatof_function(&PyOS_ascii_atof);
132            to initdbflibc().
133            * README: noted that manual editing of dbflib_wrap.c is necessary now.
134    
135    2005-06-30  Bernhard Herzog  <[email protected]>
136    
137            * shapelib.i (new_SHPObject): Fix the test for the length of the
138            part types.  It used the wrong variable.
139    
140            * shapelib_wrap.c: Regenerated from shapelib.i
141    
142            * pytest.py (make_shapefile): Add some more comments and add an
143            example with a polygon with a hole.
144    
145    2004-12-27  Bernhard Reiter  <[email protected]>
146            
147            * README: Refering to the new homepage shapelib.maptools.org now.
148    
149    2004-12-13  Bernhard Herzog  <[email protected]>
150    
151            * dbflib.py: Updated from difflib.i with SWIG.
152    
153            * dbflib.i: Work around a bug in the generated python code which
154            leads to exception in the __del__ method when the constructor
155            fails.  See the comments in the code for more details.
156    
157    2004-05-28  Bernhard Herzog  <[email protected]>
158    
159            * README: Flesh out the some more.  Correct the shapelib
160            requirements.
161    
162            * NEWS: Update the date of the actual release of 0.3
163    
164    2004-05-28  Bernhard Herzog  <[email protected]>
165    
166            * setup.py: Determine shp_dir correctly when run with bdist_rpm
167            (dbf_macros): Remove a debug print
168    
169            * NEWS: Also mention the new (compared to 0.2) setup.py
170    
171            * MANIFEST.in: New. Define which files belong into a source
172            distribution
173    
174    2004-05-17  Bernhard Herzog  <[email protected]>
175    
176            * README: Update for new release
177    
178            * setup.py (dbf_macros): New. Return the preprocessor macros
179            needed to compile the dbflib wrapper.  Determine whether
180            DBFUpdateHeader is available and define the right value of
181            HAVE_UPDATE_HEADER
182            (extensions): Use dbf_macros for the dbflibc extension
183    
184            * dbflib_wrap.c, dbflib.py: Update from dbflib.i
185    
186            * dbflib.i (DBFInfo_commit): New. Implementation of the commit
187            method.  This new indirection is necessary because we use the
188            DBFUpdateHeader function now which is not available in shapelib <=
189            1.2.10
190            (DBFFile::commit): Use DBFInfo_commit as implementation
191            (pragma __class__): New. Kludge to remove the commit method when
192            the DBFUpdateHeader function isn't available
193            (_have_commit): New. Helper for the pragma kludge.
194    
195    2003-11-03  Bernhard Herzog  <[email protected]>
196    
197            * dbflib.i (do_read_attribute): New helper function for reading
198            one attribute as a python object
199            (DBFInfo_read_attribute): New. Implement the read_attribute method
200            (DBFInfo_read_record): Use do_read_attribute to read the
201            individual values
202            (struct DBFFile): Add the read_attribute method.
203    
204            * dbflib_wrap.c, dbflib.py: Update from dbflib.i.
205    
206    2003-09-29  Bernhard Herzog  <[email protected]>
207    
208            * dbflib.i: Add exception typemap for the add_field method. Fixes
209            Thuban bug RT#1842
210    
211            * dbflib_wrap.c: Update from dbflib.i
212    
213            * testdbf.py: New. Test cases for the dbflib bindings based on the
214            unittest module
215    
216  2003-08-18  Bernhard Herzog  <[email protected]>  2003-08-18  Bernhard Herzog  <[email protected]>
217    
218          * dbflib.i (DBFInfo_write_record): Use PySequence_Check instead of          * dbflib.i (DBFInfo_write_record): Use PySequence_Check instead of

Legend:
Removed from v.1611  
changed lines
  Added in v.2752

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26