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

Legend:
Removed from v.1600  
changed lines
  Added in v.1655

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26