/[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 1594 by bh, Fri Aug 15 14:10:48 2003 UTC revision 1659 by bh, Tue Aug 26 10:35:20 2003 UTC
# Line 1  Line 1 
1    2003-08-26  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/Model/postgisdb.py (PostGISTable.Title)
4            (PostGISShapeStore.AllShapes): Add these missing methods.
5            (PostGISShapeStore.ShapesInRegion): No need to raise
6            StopIteration. We can simply return
7    
8            * test/test_postgis_db.py (TestPostGISTable.test_title)
9            (TestPostGISShapestorePoint.test_all_shapes): New tests for the
10            new methods
11    
12    2003-08-25  Bernhard Herzog  <[email protected]>
13    
14            * Thuban/Model/postgisdb.py (shapetype_map): Add MUTLIPOLYGON.
15    
16            * test/test_postgis_db.py (PolygonTests): New class containing
17            those tests from TestPostGISShapestorePolygon that can also be
18            used to test MUTLIPOLYGON tables
19            (TestPostGISShapestorePolygon): Most tests are now in PolygonTests
20            so derive from that
21            (TestPostGISShapestoreMultiPolygon): New class with tests for
22            MUTLIPOLYGON tables
23    
24            * test/postgissupport.py (PostGISDatabase.initdb): Allow the
25            tables argument to have tuples with three items to override the
26            WKT type used.
27            (PostgreSQLServer.get_default_static_data_db): Use the above to
28            create a polygon table with MUTLIPOLYGONs
29            (point_to_wkt, coords_to_point, polygon_to_wkt, coords_to_polygon)
30            (arc_to_wkt, coords_to_multilinestring): Rename from *_to_wkt to
31            coords_to*
32            (coords_to_multipolygon): New. Convert to MUTLIPOLYGON
33            (wkt_converter): New. Map WKT types to converters
34            (upload_shapefile): New parameter force_wkt_type to use a
35            different WKT type than the default
36    
37    2003-08-25  Bernhard Herzog  <[email protected]>
38    
39            * Thuban/UI/application.py
40            (ThubanApplication.run_db_param_dialog): New. Suitable as a
41            db_connection_callback. Main difference is that the dialog run
42            from this method doesn't have a parent so it can be used even when
43            there is no main window
44            (ThubanApplication.OpenSession): Use self.run_db_param_dialog if
45            no db_connection_callback was given. This way the dialog pops up
46            even when the .thuban file was given as a command line parameter.
47    
48    2003-08-25  Bernhard Herzog  <[email protected]>
49    
50            * Thuban/UI/view.py (MapCanvas.OnLeftUp): Release the the mouse
51            before calling MouseLeftUp. MouseLeftUp may pop up modal dialogs
52            which leads to an effectively frozen X session because the user
53            can only interact with the dialog but the mouse is still grabbed
54            by the canvas.
55            Also, call the tool's Hide method before MouseLeftUp because
56            MouseLeftUp may change the tool's coordinates.
57    
58    2003-08-25  Bernhard Herzog  <[email protected]>
59    
60            * Thuban/UI/application.py (ThubanApplication.OpenSession): Catch
61            LoadCancelled exceptions and handle them by returning immediately.
62    
63    2003-08-25  Bernhard Herzog  <[email protected]>
64    
65            GUI part of loading sessions with postgis connections which may
66            require user interaction to get passwords or updated parameters
67    
68            * Thuban/UI/dbdialog.py (DBDialog): Reimplement to make it look a
69            bit nucer and be more generic.
70            (DBFrame.OnAdd): Adapt to new DBDialog interface
71    
72            * Thuban/UI/application.py (ThubanApplication.OpenSession): New
73            optional parameter db_connection_callback which is passed to
74            load_session.
75    
76            * Thuban/UI/mainwindow.py (MainWindow.run_db_param_dialog): New.
77            Suitable as a db_connection_callback
78            (MainWindow.OpenSession): Use self.run_db_param_dialog as the
79            db_connection_callback of the application's OpenSession method
80    
81    
82    2003-08-25  Bernhard Herzog  <[email protected]>
83    
84            Basic loading of sessions containing postgis connections:
85    
86            * Thuban/Model/load.py (LoadError): Add doc-string
87            (LoadCancelled): New exception class to indicate a cancelled load
88            (SessionLoader.__init__): Add the db_connection_callback parameter
89            which will be used by the loader to get updated parameters and a
90            password for a database connection
91            (SessionLoader.__init__): Add the new XML elements to the
92            dispatchers dictionary
93            (SessionLoader.check_attrs): Two new conversions, ascii to convert
94            to a byte-string object and idref as a generic id reference
95            (SessionLoader.start_dbconnection)
96            (SessionLoader.start_dbshapesource): New. Handlers for the new XML
97            elements
98            (load_session): Add the db_connection_callback to pass through the
99            SessionLoader
100    
101            * test/test_load.py (TestPostGISLayer, TestPostGISLayerPassword):
102            New classes to test loading of sessions with postgis database
103            connections.
104    
105    2003-08-25  Bernhard Herzog  <[email protected]>
106    
107            * Thuban/UI/mainwindow.py (__ThubanVersion__): Remove this and
108            replace it and the comment with __BuildDate__ by the Source: and
109            Id: cvs keywords as used in the other files.
110    
111    2003-08-25  Bernhard Herzog  <[email protected]>
112    
113            * Thuban/Model/load.py (SessionLoader.check_attrs): Raise a
114            LoadError when a required attribute is missing. The code used to
115            be commented out for some reason, but probably should have been
116            active.
117    
118            * test/test_load.py (TestLoadError.test): Test the message in the
119            LoadError too to make sure it really is about the missing
120            attribute
121    
122    2003-08-22  Bernhard Herzog  <[email protected]>
123    
124            * test/test_save.py (SaveSessionTest.test_dbf_table)
125            (SaveSessionTest.test_joined_table): Add XML validation tests.
126    
127    2003-08-22  Bernhard Herzog  <[email protected]>
128    
129            Implement saving a session with a postgis connection
130    
131            * Resources/XML/thuban-0.9.dtd (dbconnection, dbshapesource) New
132            elements for database connections and shapestores using db
133            connections
134            (session): Add the dbconnections to the content model
135    
136            * Thuban/Model/save.py (SessionSaver.write_db_connections): New.
137            Write the db connections
138            (SessionSaver.write_session): Call write_db_connections to write
139            the connection before the data sources
140            (SessionSaver.write_data_containers): Handle postgis shapestores
141    
142            * test/test_save.py (SaveSessionTest.thubanids)
143            (SaveSessionTest.thubanidrefs): Update for new DTD
144            (SaveSessionTest.test_save_postgis): New. Test saving a session
145            with postgis connections
146    
147            * Thuban/Model/postgisdb.py (PostGISTable.DBConnection)
148            (PostGISTable.TableName): New accessor methods for the connection
149            and table name
150    
151            * test/test_postgis_db.py (TestPostGISTable.test_dbconn)
152            (TestPostGISTable.test_dbname): New methods to test the new
153            PostGISConnection methods
154    
155    2003-08-22  Bernhard Herzog  <[email protected]>
156    
157            * Thuban/Model/postgisdb.py (ConnectionError): New exception class
158            for exceptions occurring when establishing a Database connection
159            (PostGISConnection.connect): Catch psycopg.OperationalError during
160            connects and raise ConnectionError.
161    
162            * test/test_postgis_db.py (TestPostgisDBExceptions): New class for
163            tests for database exceptions
164    
165    2003-08-22  Bernhard Herzog  <[email protected]>
166    
167            Prepare the test suite for tests with required authentication
168    
169            * test/postgissupport.py (PostgreSQLServer.__init__): Add instance
170            variables with two predefined users/passwords, one for the admin
171            and one for a non-privileged user.
172            (PostgreSQLServer.createdb): Pass the admin name to initdb and add
173            the non-privileged user to the database and set the admin password
174            (PostgreSQLServer.wait_for_postmaster): Use the admin user name.
175            Better error reporting
176            (PostgreSQLServer.connection_params)
177            (PostgreSQLServer.connection_string): New methods to return
178            information about how to connect to the server
179            (PostgreSQLServer.execute_sql): New. Convenience method to execute
180            SQL statements
181            (PostgreSQLServer.require_authentication): Toggle whether the
182            server requires authentication
183            (PostgreSQLServer.create_user, PostgreSQLServer.alter_user): New.
184            Add or alter users
185            (PostGISDatabase.initdb): Pass the admin name one the
186            subprocesses' command lines. Grant select rights on
187            geometry_columns to everybody.
188            (upload_shapefile): Use the admin name and password when
189            connecting. Grant select rights on the new table to everybody.
190    
191            * test/test_viewport.py (TestViewportWithPostGIS.setUp): Use the
192            server's new methods to get the connection parameters.
193    
194            * test/test_postgis_session.py (TestSessionWithPostGIS.setUp)
195            (TestSessionWithPostGIS.test_remove_dbconn_exception): Use the
196            server's new methods to get the connection parameters.
197    
198            * test/test_postgis_db.py
199            (TestPostGISConnection.test_gis_tables_empty)
200            (TestPostGISConnection.test_gis_tables_non_empty)
201            (PostGISStaticTests.setUp): Use the server's new methods to get
202            the connection parameters.
203    
204    2003-08-22  Bernhard Herzog  <[email protected]>
205    
206            * Thuban/UI/about.py (About.__init__): Add the psycopg version.
207    
208            * Thuban/version.py: Add psycopg version
209    
210            * Thuban/Model/postgisdb.py (psycopg_version): New. Return the
211            version of the psycopg module
212    
213    2003-08-22  Bernhard Herzog  <[email protected]>
214    
215            * Thuban/UI/dbdialog.py (DBPwdDlg): Removed because it's not used.
216            (DBFrame.OnEdit): Removed because it's not used and wouldn't work
217            at the moment. The functionality should probably be implemented
218            some time, though.
219            (DBFrame.OnRemove): Display a message if the connection can't be
220            removed because it's still in use.
221    
222    2003-08-22  Jan-Oliver Wagner <[email protected]>
223    
224            * Thuban/UI/about.py (About.__init__): split up the huge about
225            text into elements/lists for easier translation. This fixes bug
226            https://intevation.de/rt/webrt?serial_num=2058
227            Also, made some forgotten string available for the i18n.
228    
229    2003-08-21  Bernhard Herzog  <[email protected]>
230    
231            Make postgis support really optional including insensitive menu
232            items.
233    
234            * Thuban/Model/postgisdb.py (has_postgis_support): New. Return
235            whether the postgis is supported.
236    
237            * Thuban/UI/dbdialog.py: Put the psycopg import into try..except
238            to make postgis support optional
239    
240            * Thuban/UI/mainwindow.py (_has_postgis_support): New. Context
241            version of Thuban.Model.postgisdb.has_postgis_support
242            (database_management command): Make it only sensitive if postgis
243            is supported.
244    
245    2003-08-21  Jan-Oliver Wagner <[email protected]>
246    
247            * Doc/manual/thuban-manual.xml: Added CVS revision for rev-history.
248            (section Adding and Removing Layers): Added text and described
249            multi-selection.
250            (chapter Extensions): New.
251    
252    2003-08-21  Jan-Oliver Wagner <[email protected]>
253    
254            * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Changed dialog
255            settings to allow multiple files to load into the map.
256            Also reduced selection to *.shp as a default.
257    
258    2003-08-20  Bernhard Herzog  <[email protected]>
259    
260            Add dialogs and commands to open database connections and add
261            database layers.
262    
263            * Thuban/UI/mainwindow.py (MainWindow.DatabaseManagement): New
264            method to open the database connection management dialog
265            (MainWindow.AddDBLayer): New method to add a layer from a database
266            (_has_dbconnections): New helper function to use for sensitivity
267            (database_management command, layer_add_db command): New commands
268            that call the above new methods.
269            (main_menu): Add the new commands to the menu.
270    
271            * Thuban/Model/postgisdb.py (PostGISConnection.__init__)
272            (PostGISConnection.connect): Establish the actual connection in a
273            separate method and call it in __init__. This makes it easier to
274            override the behavior in test cases
275            (PostGISConnection.BriefDescription): New method to return a brief
276            description for use in dialogs.
277    
278            * test/test_postgis_db.py (NonConnection): DB connection that
279            doesn't actually connect
280            (TestBriefDescription): New class with tests for the new
281            BriefDescription method
282    
283    2003-08-19  Jan-Oliver Wagner <[email protected]>
284    
285            Moved anything from extensions to libraries.
286    
287            * libraries: New.
288    
289            * libraries/ pyprojection, pyshapelib, shapelib, thuban: New.
290    
291            * libraries/pyprojection/ LICENSE, MANIFEST.in, Projection.i,
292            Projection.py, Projection_wrap.c, setup.py, swighelp.txt: These files have
293            been moved here from thuban/extensions/pyprojection/
294            See there in the Attic for the older history.
295    
296            * libraries/pyshapelib/ COPYING, ChangeLog, NEWS, README, dbflib.i,
297            dbflib.py, dbflib_wrap.c, pyshapelib_api.h, pytest.py, setup.py,
298            shapelib.i, shapelib.py, shapelib_wrap.c, shptreemodule.c: These files
299            have been moved here from thuban/extensions/pyshapelib/
300            See there in the Attic for the older history.
301    
302            * libraries/shapelib/ dbfopen.c, shapefil.h, shpopen.c, shptree.c: These
303            files have been moved here from thuban/extensions/shapelib/
304            See there in the Attic for the older history.
305    
306            * libraries/thuban/ bmpdataset.cpp, cpl_mfile.cpp, cpl_mfile.h,
307            gdalwarp.cpp, wxproj.cpp: These files have been moved here from
308            thuban/extensions/thuban/
309            See there in the Attic for the older history.
310    
311            * MANIFEST.in, setup.cfg, setup.py: renamed extensions to libraries.
312    
313            * extensions/thuban/ bmpdataset.cpp, cpl_mfile.cpp, cpl_mfile.h,
314            gdalwarp.cpp, wxproj.cpp: Moved to libraries/thuban.
315    
316            * extensions/shapelib/ dbfopen.c, shapefil.h, shpopen.c, shptree.c:
317            Moved to libraries/shapelib.
318    
319            * extensions/pyshapelib/ COPYING, NEWS, dbflib.py, pytest.py,
320            shapelib.py, README, dbflib_wrap.c, setup.py, shapelib_wrap.c,
321            ChangeLog, dbflib.i, pyshapelib_api.h, shapelib.i, shptreemodule.c:
322            Moved to libraries/pyshapelib.
323    
324            * extensions/pyprojection/ MANIFEST.in, Projection.py, setup.py,
325            LICENSE, Projection.i, Projection_wrap.c, swighelp.txt:
326            Moved to libraries/pyprojection.
327    
328            * extensions/ pyprojection, pyshapelib, shapelib, thuban: Removed.
329    
330            * extensions: Removed.
331    
332    2003-08-19  Bernhard Herzog  <[email protected]>
333    
334            * test/test_viewport.py (ViewPortTest): We don't use the
335            facilities of FileTestMixin so don't derive from it.
336            (TestViewportWithPostGIS): New class with tests for using a
337            viewport on a map with postgis layers.
338    
339    2003-08-19  Bernhard Herzog  <[email protected]>
340    
341            Add the db connection management to the session.
342    
343            * Thuban/Model/session.py (Session.__init__): New instance
344            variable db_connections
345            (Session.AddDBConnection, Session.DBConnections)
346            (Session.HasDBConnections, Session.CanRemoveDBConnection)
347            (Session.RemoveDBConnection): New methods to manage and query the
348            db connections managed by the session
349            (Session.OpenDBShapeStore): New method to open a shapestore from a
350            db connection
351    
352            * Thuban/Model/messages.py (DBCONN_REMOVED, DBCONN_ADDED): New
353            messages for the db connection handling in the session
354    
355            * test/test_postgis_session.py: New. test cases for the session's
356            db connection handling with postgis connections
357    
358    2003-08-19  Bernhard Herzog  <[email protected]>
359    
360            Add very basic postgis database support and the corresponding test
361            cases. The test cases require a PostgreSQL + postgis installation
362            but no existing database. The database will be created
363            automatically by the test cases
364    
365            * test/README: Add note about skipped tests and the requirements
366            of the postgis tests.
367    
368            * Thuban/Model/postgisdb.py: New. Basic postgis database support.
369    
370            * test/test_postgis_db.py: New. Test cases for the postgis
371            support.
372    
373            * Thuban/Model/wellknowntext.py: New. Parser for well-known-text
374            format
375    
376            * test/test_wellknowntext.py: New. Test cases for the
377            wellknowntext parser
378    
379            * test/postgissupport.py: New. Support module for tests involving
380            a postgis database.
381    
382            * test/support.py (execute_as_testsuite): Shut down the postmaster
383            if it's still running after the tests
384    
385            * Thuban/Model/data.py (RAW_WKT): New constant for raw data in
386            well known text format
387    
388    2003-08-19  Jan-Oliver Wagner <[email protected]>
389    
390            * Examples/simple_extensions/hello_world.py: New. Raises a Hello World
391            message dialog.
392    
393    2003-08-18  Bernhard Herzog  <[email protected]>
394    
395            * test/support.py (ThubanTestResult.printErrors): Indent the
396            reason for the skips in the output to make it a bit more readable.
397            (execute_as_testsuite): New helper function to run a test suite
398            and print some more information.
399            (run_tests): Use execute_as_testsuite to run the tests
400    
401            * test/runtests.py (main): Use execute_as_testsuite to run the
402            tests
403    
404    2003-08-18  Bernhard Herzog  <[email protected]>
405    
406            Fix some bugs in Thuban and the test suite that were uncovered by
407            changes introduced in Python 2.3:
408    
409            * Thuban/Model/table.py (DBFTable.__init__): Make sure the
410            filename is an absolute name
411    
412            * Thuban/Model/layer.py (RasterLayer.__init__): Make sure the
413            filename is an absolute name
414    
415            * test/test_save.py (SaveSessionTest.testRasterLayer): Use a
416            unique filename to save to and use the correct relative filename
417            in the expected output.
418            (SaveSessionTest.test_dbf_table): Use the correct relative
419            filename in the expected output.
420    
421            * test/test_layer.py (TestLayer.test_raster_layer): Update the
422            test to check whether the filename is absolute.
423    
424    2003-08-18  Jan-Oliver Wagner <[email protected]>
425    
426            * Thuban/UI/about.py (About.__init__): Added Silke Reimer.
427    
428  2003-08-15  Bernhard Herzog  <[email protected]>  2003-08-15  Bernhard Herzog  <[email protected]>
429    
430          Change the way shapes are returned by a shape store. The          Change the way shapes are returned by a shape store. The

Legend:
Removed from v.1594  
changed lines
  Added in v.1659

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26