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

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

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

revision 1637 by bh, Fri Aug 22 17:20:38 2003 UTC revision 1694 by bh, Mon Sep 1 11:23:41 2003 UTC
# Line 1  Line 1 
1    2003-09-01  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/Model/postgisdb.py
4            (PostGISTable): Extend doc-string
5            (PostGISTable._fetch_table_information): Set the column index
6            correctly, pretending ignored columns don't exist.
7    
8            * test/test_postgis_db.py (TestPostGISIgnoredColumns): New tests
9            for postgis tables with data types not yet supported by thuban.
10    
11    2003-08-29  Bernhard Herzog  <[email protected]>
12    
13            * HOWTO-Release: Tweak item about running the tests.
14    
15    2003-08-29  Jan-Oliver Wagner <[email protected]>
16    
17            * /Doc/manual/thuban-manual.xml: updated to version 1.0pre2.
18    
19    2003-08-29  Bernhard Herzog  <[email protected]>
20    
21            Add some missing parameters to projections. Proj complains about
22            them on windows but for some reason not on Linux.
23    
24            * test/test_save.py (SaveSessionTest.testLayerProjection): Add
25            missing required projection parameters
26    
27            * test/test_proj.py (TestProjFile.test): Add missing required
28            projection parameters
29    
30            * test/test_load_0_8.py (TestLayerProjection.file_contents)
31            (TestLayerProjection.test): Add missing required projection
32            parameters and tests for them
33    
34            * test/test_load.py (TestLayerProjection.file_contents)
35            (TestLayerProjection.test): Add missing required projection
36            parameters and tests for them
37    
38            * test/test_layer.py (TestLayer.test_base_layer): Add missing
39            required projection parameters
40    
41    2003-08-29  Bernhard Herzog  <[email protected]>
42    
43            * libraries/pyprojection/Projection.i: Use pj_get_errno_ref to
44            access the pj_errno because directly accessing pj_errno doesn't
45            work on windows if the proj library is in a DLL
46    
47            * libraries/pyprojection/Projection_wrap.c: Update from Projection.i
48    
49    2003-08-28  Bernhard Herzog  <[email protected]>
50    
51            * test/test_proj.py: Import things from Thuban after calling
52            initthuban
53    
54            * test/test_load.py (LoadSessionTest.filenames): New class
55            variable with the filename attributes to normalize
56            (LoadSessionTest.check_format): Pass self.filenames to
57            sax_eventlist to normalize the filename attributes
58    
59            * test/xmlsupport.py: Add cvs keywords
60            (SaxEventLister.__init__): New parameter filenames which indicates
61            attributes that contain filenames
62            (SaxEventLister.startElementNS): Normalize the filename attributes
63            with os.path.normpath
64            (sax_eventlist): New parameter filenames to pass through to
65            SaxEventLister
66    
67            * test/test_derivedshapestore.py: Make this file callable as a
68            program to execute the tests
69            (TestDerivedShapeStoreExceptions.test_table_with_wrong_size): Bind
70            the session to self.session so that it gets destroyed properly
71    
72            * test/test_layer.py (TestLayer.tearDown): Call the session's
73            Destroy method
74    
75            * test/test_map.py (TestMapBase.tearDown): Destroy self.session
76            too if it exists
77            (TestMapAddLayer.test_add_layer): Bind the session to self.session
78            so that it gets destroyed properly
79    
80            * test/postgissupport.py (reason_for_not_running_tests): Add a
81            test for the existence of popen2.Popen4.
82    
83            * test/test_save.py (SaveSessionTest.tearDown): New. Provide a
84            reliable way to destroy the sessions created in the test cases
85            (SaveSessionTest.test_dbf_table): Bind the session to self.session
86            so that it gets destroyed properly
87            (SaveSessionTest.testLayerProjection): Bind the session to
88            self.session so that it gets destroyed properly
89    
90            * test/test_session.py (UnreferencedTablesTests.tearDown): Make
91            sure that the session is destroyed properly
92    
93            * test/test_shapefilestore.py: Make this callable as a program to
94            execute the tests
95    
96            * test/test_scalebar.py: Remove unnecessary import of _ from
97            Thuban
98    
99            * test/support.py (print_garbage_information): Call initthuban
100            here because it may be called indirectly from test cases that test
101            test support modules which do not use anything from thuban itself
102            (ThubanTestProgram.runTests): Remove unnecessary debug print
103    
104    2003-08-28  Bernhard Herzog  <[email protected]>
105    
106            * Thuban/version.py (longversion): Update to 0.9
107    
108            * Thuban/UI/mainwindow.py: Remove some unused imports
109    
110            * README: Add section about required additional software. Add date
111            and revision CVS keywords
112    
113            * HOWTO-Release: Add item about the translations. Add date and
114            revision CVs keywords and change formatting to match README a bit
115            better
116    
117            * po/de.po: Update for 0.9
118    
119            * test/README: Tweak the wording a little because many tests are
120            not really unittest.
121    
122    2003-08-27  Bernhard Herzog  <[email protected]>
123    
124            As preparation for the 0.9 release, switch thuban files to a
125            non-dev namespace
126    
127            * Thuban/Model/save.py (SessionSaver.write_session): Write files
128            with the http://thuban.intevation.org/dtds/thuban-0.9.dtd
129            namespace
130    
131            * Thuban/Model/load.py (SessionLoader.__init__): Accept the
132            http://thuban.intevation.org/dtds/thuban-0.9.dtd namespace too
133    
134            * test/test_save.py (SaveSessionTest.dtd)
135            (SaveSessionTest.testEmptySession)
136            (SaveSessionTest.testSingleLayer)
137            (SaveSessionTest.testLayerProjection)
138            (SaveSessionTest.testRasterLayer)
139            (SaveSessionTest.testClassifiedLayer)
140            (SaveSessionTest.test_dbf_table)
141            (SaveSessionTest.test_joined_table)
142            (SaveSessionTest.test_save_postgis): Update for new namespace
143    
144            * test/test_load.py (LoadSessionTest.dtd, TestSingleLayer)
145            (TestLayerVisibility.file_contents, TestLabels.file_contents)
146            (TestLayerProjection.file_contents)
147            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
148            (TestPostGISLayer.file_contents)
149            (TestPostGISLayerPassword.file_contents)
150            (TestLoadError.file_contents, TestLoadError.test): Update for new
151            namespace
152    
153    2003-08-27  Bernhard Herzog  <[email protected]>
154    
155            Make the table interface distinguish between row ids (an integer
156            that uniquely identifies a row) and row ordinals (a simple row
157            count from 0 to NumRows() - 1)
158    
159            * Thuban/Model/postgisdb.py (PostGISTable.RowIdToOrdinal)
160            (PostGISTable.RowOrdinalToId): New methods to conver between row
161            ids and row ordinals
162            (PostGISTable.ReadRowAsDict, PostGISTable.ReadValue): New keyword
163            parameter row_is_ordinal to indicate whether the row parameter is
164            the row id or the ordinal
165    
166            * Thuban/Model/transientdb.py (TransientTableBase.RowIdToOrdinal)
167            (TransientTableBase.RowOrdinalToId)
168            (AutoTransientTable.RowIdToOrdinal)
169            (AutoTransientTable.RowOrdinalToId): Same new methods as in
170            PostGISTable.
171            (TransientTableBase.ReadRowAsDict, TransientTableBase.ReadValue)
172            (AutoTransientTable.ReadRowAsDict, AutoTransientTable.ReadValue):
173            Same new parameter as in PostGISTable.
174    
175            * Thuban/Model/table.py (DBFTable.RowIdToOrdinal)
176            (DBFTable.RowOrdinalToId, MemoryTable.RowIdToOrdinal)
177            (MemoryTable.RowOrdinalToId): Same new methods as in PostGISTable.
178            (DBFTable.ReadValue, DBFTable.ReadRowAsDict)
179            (MemoryTable.ReadValue, MemoryTable.ReadRowAsDict): Same new
180            parameter as in PostGISTable.
181    
182            * Thuban/UI/tableview.py (DataTable.RowIdToOrdinal)
183            (DataTable.RowOrdinalToId): New methods to convert between row ids
184            and row ordinals.
185            (TableGrid.SelectRowById): New method to select a row based on its
186            ID as opposed to its ordinal
187            (DataTable.GetValue, TableGrid.OnRangeSelect)
188            (TableGrid.OnSelectCell, LayerTableGrid.select_shapes)
189            (QueryTableFrame.OnQuery, QueryTableFrame.get_selected)
190            (LayerTableFrame.__init__): Convert between row ids and row
191            ordinals as appropriate
192    
193            * test/postgissupport.py (PostGISDatabase.__init__): Add
194            doc-string.
195            (PostGISDatabase.initdb): The optional third item in a tuple in
196            tables is now a (key, value) list with additional arguments to
197            pass to upload_shapefile
198            (upload_shapefile): New parameter gid_offset to allow gids that
199            are not the same as the shapeids in the shapefile
200            (PostgreSQLServer.get_default_static_data_db): Use the new
201            gid_offset to make the gids in landmarks 1000 higher than the
202            shapeids in the shapefile
203    
204            * test/test_viewport.py
205            (TestViewportWithPostGIS.test_find_shape_at_point): Adapt to the
206            new shapeids in the landmarks table
207    
208            * test/test_transientdb.py
209            (TestTransientTable.run_iceland_political_tests)
210            (TestTransientTable.test_transient_joined_table): Add tests for
211            the new table methods and new keywords arguments.
212    
213            * test/test_postgis_db.py
214            (TestPostGISTable.test_read_row_as_dict_row_count_mode)
215            (TestPostGISTable.test_read_value_row_count_mode)
216            (TestPostGISTable.test_row_id_to_ordinal)
217            (TestPostGISTable.test_row_oridnal_to_id): New test for the new
218            table methods and the new arguments
219            (TestPostGISShapestorePoint.test_shapes_in_region)
220            (TestPostGISShapestorePoint.test_shape_raw_data)
221            (TestPostGISShapestorePoint.test_shape_points)
222            (TestPostGISShapestorePoint.test_shape_shapeid)
223            (TestPostGISShapestorePoint.test_all_shapes)
224            (TestPostGISTable.test_simple_query)
225            (TestPostGISTable.test_simple_query)
226            (TestPostGISTable.test_simple_query)
227            (TestPostGISTable.test_read_value)
228            (TestPostGISTable.test_read_row_as_dict): Adapt to the new
229            shapeids in the landmarks table
230    
231            * test/test_memory_table.py
232            (TestMemoryTable.test_read_row_as_dict_row_count_mode)
233            (TestMemoryTable.test_read_value_row_count_mode)
234            (TestMemoryTable.test_row_id_to_ordinal)
235            (TestMemoryTable.test_row_oridnal_to_id): New test for the new
236            table methods and the new arguments
237    
238            * test/test_dbf_table.py
239            (TestDBFTable.test_read_row_as_dict_row_count_mode)
240            (TestDBFTable.test_read_value_row_count_mode)
241            (TestDBFTable.test_row_id_to_ordinal)
242            (TestDBFTable.test_row_oridnal_to_id): New test for the new table
243            methods and the new arguments
244    
245    2003-08-26  Bernhard Herzog  <[email protected]>
246    
247            * Thuban/Model/postgisdb.py (PostGISShapeStore.BoundingBox): Use a
248            more postgis specific but much faster method to get the bounding
249            box
250    
251    2003-08-26  Bernhard Herzog  <[email protected]>
252    
253            * Thuban/Model/postgisdb.py (PostGISTable.Title)
254            (PostGISShapeStore.AllShapes): Add these missing methods.
255            (PostGISShapeStore.ShapesInRegion): No need to raise
256            StopIteration. We can simply return
257    
258            * test/test_postgis_db.py (TestPostGISTable.test_title)
259            (TestPostGISShapestorePoint.test_all_shapes): New tests for the
260            new methods
261    
262    2003-08-25  Bernhard Herzog  <[email protected]>
263    
264            * Thuban/Model/postgisdb.py (shapetype_map): Add MUTLIPOLYGON.
265    
266            * test/test_postgis_db.py (PolygonTests): New class containing
267            those tests from TestPostGISShapestorePolygon that can also be
268            used to test MUTLIPOLYGON tables
269            (TestPostGISShapestorePolygon): Most tests are now in PolygonTests
270            so derive from that
271            (TestPostGISShapestoreMultiPolygon): New class with tests for
272            MUTLIPOLYGON tables
273    
274            * test/postgissupport.py (PostGISDatabase.initdb): Allow the
275            tables argument to have tuples with three items to override the
276            WKT type used.
277            (PostgreSQLServer.get_default_static_data_db): Use the above to
278            create a polygon table with MUTLIPOLYGONs
279            (point_to_wkt, coords_to_point, polygon_to_wkt, coords_to_polygon)
280            (arc_to_wkt, coords_to_multilinestring): Rename from *_to_wkt to
281            coords_to*
282            (coords_to_multipolygon): New. Convert to MUTLIPOLYGON
283            (wkt_converter): New. Map WKT types to converters
284            (upload_shapefile): New parameter force_wkt_type to use a
285            different WKT type than the default
286    
287    2003-08-25  Bernhard Herzog  <[email protected]>
288    
289            * Thuban/UI/application.py
290            (ThubanApplication.run_db_param_dialog): New. Suitable as a
291            db_connection_callback. Main difference is that the dialog run
292            from this method doesn't have a parent so it can be used even when
293            there is no main window
294            (ThubanApplication.OpenSession): Use self.run_db_param_dialog if
295            no db_connection_callback was given. This way the dialog pops up
296            even when the .thuban file was given as a command line parameter.
297    
298    2003-08-25  Bernhard Herzog  <[email protected]>
299    
300            * Thuban/UI/view.py (MapCanvas.OnLeftUp): Release the the mouse
301            before calling MouseLeftUp. MouseLeftUp may pop up modal dialogs
302            which leads to an effectively frozen X session because the user
303            can only interact with the dialog but the mouse is still grabbed
304            by the canvas.
305            Also, call the tool's Hide method before MouseLeftUp because
306            MouseLeftUp may change the tool's coordinates.
307    
308    2003-08-25  Bernhard Herzog  <[email protected]>
309    
310            * Thuban/UI/application.py (ThubanApplication.OpenSession): Catch
311            LoadCancelled exceptions and handle them by returning immediately.
312    
313    2003-08-25  Bernhard Herzog  <[email protected]>
314    
315            GUI part of loading sessions with postgis connections which may
316            require user interaction to get passwords or updated parameters
317    
318            * Thuban/UI/dbdialog.py (DBDialog): Reimplement to make it look a
319            bit nucer and be more generic.
320            (DBFrame.OnAdd): Adapt to new DBDialog interface
321    
322            * Thuban/UI/application.py (ThubanApplication.OpenSession): New
323            optional parameter db_connection_callback which is passed to
324            load_session.
325    
326            * Thuban/UI/mainwindow.py (MainWindow.run_db_param_dialog): New.
327            Suitable as a db_connection_callback
328            (MainWindow.OpenSession): Use self.run_db_param_dialog as the
329            db_connection_callback of the application's OpenSession method
330    
331    
332    2003-08-25  Bernhard Herzog  <[email protected]>
333    
334            Basic loading of sessions containing postgis connections:
335    
336            * Thuban/Model/load.py (LoadError): Add doc-string
337            (LoadCancelled): New exception class to indicate a cancelled load
338            (SessionLoader.__init__): Add the db_connection_callback parameter
339            which will be used by the loader to get updated parameters and a
340            password for a database connection
341            (SessionLoader.__init__): Add the new XML elements to the
342            dispatchers dictionary
343            (SessionLoader.check_attrs): Two new conversions, ascii to convert
344            to a byte-string object and idref as a generic id reference
345            (SessionLoader.start_dbconnection)
346            (SessionLoader.start_dbshapesource): New. Handlers for the new XML
347            elements
348            (load_session): Add the db_connection_callback to pass through the
349            SessionLoader
350    
351            * test/test_load.py (TestPostGISLayer, TestPostGISLayerPassword):
352            New classes to test loading of sessions with postgis database
353            connections.
354    
355    2003-08-25  Bernhard Herzog  <[email protected]>
356    
357            * Thuban/UI/mainwindow.py (__ThubanVersion__): Remove this and
358            replace it and the comment with __BuildDate__ by the Source: and
359            Id: cvs keywords as used in the other files.
360    
361    2003-08-25  Bernhard Herzog  <[email protected]>
362    
363            * Thuban/Model/load.py (SessionLoader.check_attrs): Raise a
364            LoadError when a required attribute is missing. The code used to
365            be commented out for some reason, but probably should have been
366            active.
367    
368            * test/test_load.py (TestLoadError.test): Test the message in the
369            LoadError too to make sure it really is about the missing
370            attribute
371    
372    2003-08-22  Bernhard Herzog  <[email protected]>
373    
374            * test/test_save.py (SaveSessionTest.test_dbf_table)
375            (SaveSessionTest.test_joined_table): Add XML validation tests.
376    
377    2003-08-22  Bernhard Herzog  <[email protected]>
378    
379            Implement saving a session with a postgis connection
380    
381            * Resources/XML/thuban-0.9.dtd (dbconnection, dbshapesource) New
382            elements for database connections and shapestores using db
383            connections
384            (session): Add the dbconnections to the content model
385    
386            * Thuban/Model/save.py (SessionSaver.write_db_connections): New.
387            Write the db connections
388            (SessionSaver.write_session): Call write_db_connections to write
389            the connection before the data sources
390            (SessionSaver.write_data_containers): Handle postgis shapestores
391    
392            * test/test_save.py (SaveSessionTest.thubanids)
393            (SaveSessionTest.thubanidrefs): Update for new DTD
394            (SaveSessionTest.test_save_postgis): New. Test saving a session
395            with postgis connections
396    
397            * Thuban/Model/postgisdb.py (PostGISTable.DBConnection)
398            (PostGISTable.TableName): New accessor methods for the connection
399            and table name
400    
401            * test/test_postgis_db.py (TestPostGISTable.test_dbconn)
402            (TestPostGISTable.test_dbname): New methods to test the new
403            PostGISConnection methods
404    
405  2003-08-22  Bernhard Herzog  <[email protected]>  2003-08-22  Bernhard Herzog  <[email protected]>
406    
407          * Thuban/Model/postgisdb.py (ConnectionError): New exception class          * Thuban/Model/postgisdb.py (ConnectionError): New exception class

Legend:
Removed from v.1637  
changed lines
  Added in v.1694

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26