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

Legend:
Removed from v.1639  
changed lines
  Added in v.1690

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26