/[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 1623 by jan, Thu Aug 21 11:56:38 2003 UTC revision 1716 by jan, Fri Sep 12 08:33:23 2003 UTC
# Line 1  Line 1 
1    2003-09-12  Jan-Oliver Wagner <[email protected]>
2    
3            * Examples/simple_extensions/simple_tool.py: bugfix: Tool is now
4            in viewport, not anymore in view
5    
6    2003-09-04  Jan-Oliver Wagner <[email protected]>
7    
8            Introducing first Extension (gns2shp).
9    
10            * Extensions, Extensions/gns2shp, Extensions/gns2shp/test: New.
11    
12            * Extensions/__init__.py: New. init to make this dir a package.
13    
14            * Extensions/gns2shp/__init__.py: New. init to make this dir a package.
15    
16            * Extensions/gns2shp/test/README: New. some info on this test directory.
17    
18            * Extensions/gns2shp/test/ls.txt: New. test data set (Liechtenstein).
19    
20            * Extensions/gns2shp/test/test_gns2shp.py: New. Test for correct creation
21            of Shapefile from GNS text file format
22    
23            *
24    2003-09-03  Jan-Oliver Wagner <[email protected]>
25    
26            Fix/workaround for bug #2019:
27            https://intevation.de/rt/webrt?serial_num=2019
28    
29            * Thuban/UI/identifyview.py (IdentifyView.ID_STOP): New.
30            (IdentifyView.__init__): Added another button that allows to
31            stop the identify mode.
32            (IdentifyView.OnStop): New. Stops the identify mode.
33    
34    2003-09-03  Jan-Oliver Wagner <[email protected]>
35    
36            Introducing a new exception dialog that allows to exit the
37            application immediately.
38            This fixes bug #2060: https://intevation.de/rt/webrt?serial_num=2060
39    
40            * Thuban/UI/exceptiondialog.py: New. A special exception dialog.
41    
42            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
43            Made strings available to translations. Exchanged the simple
44            ScrolledMessageDialog by the new ExceptionDialog.
45    
46    2003-09-01  Bernhard Herzog  <[email protected]>
47    
48            * NEWS: New. Summary of changes and release notes.
49    
50            * MANIFEST.in: Add NEWS
51    
52    2003-09-01  Bernhard Herzog  <[email protected]>
53    
54            * MANIFEST.in: Correct the include statement for the mo-files and
55            include the documentation too.
56    
57            * setup.py (data_files): Add the .mo files
58            (setup call): Up to version 0.9.0
59    
60    2003-09-01  Bernhard Herzog  <[email protected]>
61    
62            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Change the
63            parameter list to just parent and session
64            (ChooseDBTableDialog.__set_properties): Removed. Setting the
65            selection of empty list boxes is not allowed (and produces C++
66            assertion errors) and the rest of the setup is better done in
67            __init__ anyway.
68            (ChooseDBTableDialog.OnCancel, ChooseDBTableDialog.OnOK)
69            (ChooseDBTableDialog.OnLBDClick, DBDialog.OnOK): Use the Python
70            builtins True/False for booleans to avoid warnings from wxPython
71    
72            * Thuban/UI/mainwindow.py (MainWindow.AddDBLayer): Adapt to new
73            ChooseDBTableDialog constructor parameters.
74    
75    2003-09-01  Bernhard Herzog  <[email protected]>
76    
77            * Thuban/Model/postgisdb.py
78            (PostGISTable): Extend doc-string
79            (PostGISTable._fetch_table_information): Set the column index
80            correctly, pretending ignored columns don't exist.
81    
82            * test/test_postgis_db.py (TestPostGISIgnoredColumns): New tests
83            for postgis tables with data types not yet supported by thuban.
84    
85    2003-08-29  Bernhard Herzog  <[email protected]>
86    
87            * HOWTO-Release: Tweak item about running the tests.
88    
89    2003-08-29  Jan-Oliver Wagner <[email protected]>
90    
91            * /Doc/manual/thuban-manual.xml: updated to version 1.0pre2.
92    
93    2003-08-29  Bernhard Herzog  <[email protected]>
94    
95            Add some missing parameters to projections. Proj complains about
96            them on windows but for some reason not on Linux.
97    
98            * test/test_save.py (SaveSessionTest.testLayerProjection): Add
99            missing required projection parameters
100    
101            * test/test_proj.py (TestProjFile.test): Add missing required
102            projection parameters
103    
104            * test/test_load_0_8.py (TestLayerProjection.file_contents)
105            (TestLayerProjection.test): Add missing required projection
106            parameters and tests for them
107    
108            * test/test_load.py (TestLayerProjection.file_contents)
109            (TestLayerProjection.test): Add missing required projection
110            parameters and tests for them
111    
112            * test/test_layer.py (TestLayer.test_base_layer): Add missing
113            required projection parameters
114    
115    2003-08-29  Bernhard Herzog  <[email protected]>
116    
117            * libraries/pyprojection/Projection.i: Use pj_get_errno_ref to
118            access the pj_errno because directly accessing pj_errno doesn't
119            work on windows if the proj library is in a DLL
120    
121            * libraries/pyprojection/Projection_wrap.c: Update from Projection.i
122    
123    2003-08-28  Bernhard Herzog  <[email protected]>
124    
125            * test/test_proj.py: Import things from Thuban after calling
126            initthuban
127    
128            * test/test_load.py (LoadSessionTest.filenames): New class
129            variable with the filename attributes to normalize
130            (LoadSessionTest.check_format): Pass self.filenames to
131            sax_eventlist to normalize the filename attributes
132    
133            * test/xmlsupport.py: Add cvs keywords
134            (SaxEventLister.__init__): New parameter filenames which indicates
135            attributes that contain filenames
136            (SaxEventLister.startElementNS): Normalize the filename attributes
137            with os.path.normpath
138            (sax_eventlist): New parameter filenames to pass through to
139            SaxEventLister
140    
141            * test/test_derivedshapestore.py: Make this file callable as a
142            program to execute the tests
143            (TestDerivedShapeStoreExceptions.test_table_with_wrong_size): Bind
144            the session to self.session so that it gets destroyed properly
145    
146            * test/test_layer.py (TestLayer.tearDown): Call the session's
147            Destroy method
148    
149            * test/test_map.py (TestMapBase.tearDown): Destroy self.session
150            too if it exists
151            (TestMapAddLayer.test_add_layer): Bind the session to self.session
152            so that it gets destroyed properly
153    
154            * test/postgissupport.py (reason_for_not_running_tests): Add a
155            test for the existence of popen2.Popen4.
156    
157            * test/test_save.py (SaveSessionTest.tearDown): New. Provide a
158            reliable way to destroy the sessions created in the test cases
159            (SaveSessionTest.test_dbf_table): Bind the session to self.session
160            so that it gets destroyed properly
161            (SaveSessionTest.testLayerProjection): Bind the session to
162            self.session so that it gets destroyed properly
163    
164            * test/test_session.py (UnreferencedTablesTests.tearDown): Make
165            sure that the session is destroyed properly
166    
167            * test/test_shapefilestore.py: Make this callable as a program to
168            execute the tests
169    
170            * test/test_scalebar.py: Remove unnecessary import of _ from
171            Thuban
172    
173            * test/support.py (print_garbage_information): Call initthuban
174            here because it may be called indirectly from test cases that test
175            test support modules which do not use anything from thuban itself
176            (ThubanTestProgram.runTests): Remove unnecessary debug print
177    
178    2003-08-28  Bernhard Herzog  <[email protected]>
179    
180            * Thuban/version.py (longversion): Update to 0.9
181    
182            * Thuban/UI/mainwindow.py: Remove some unused imports
183    
184            * README: Add section about required additional software. Add date
185            and revision CVS keywords
186    
187            * HOWTO-Release: Add item about the translations. Add date and
188            revision CVs keywords and change formatting to match README a bit
189            better
190    
191            * po/de.po: Update for 0.9
192    
193            * test/README: Tweak the wording a little because many tests are
194            not really unittest.
195    
196    2003-08-27  Bernhard Herzog  <[email protected]>
197    
198            As preparation for the 0.9 release, switch thuban files to a
199            non-dev namespace
200    
201            * Thuban/Model/save.py (SessionSaver.write_session): Write files
202            with the http://thuban.intevation.org/dtds/thuban-0.9.dtd
203            namespace
204    
205            * Thuban/Model/load.py (SessionLoader.__init__): Accept the
206            http://thuban.intevation.org/dtds/thuban-0.9.dtd namespace too
207    
208            * test/test_save.py (SaveSessionTest.dtd)
209            (SaveSessionTest.testEmptySession)
210            (SaveSessionTest.testSingleLayer)
211            (SaveSessionTest.testLayerProjection)
212            (SaveSessionTest.testRasterLayer)
213            (SaveSessionTest.testClassifiedLayer)
214            (SaveSessionTest.test_dbf_table)
215            (SaveSessionTest.test_joined_table)
216            (SaveSessionTest.test_save_postgis): Update for new namespace
217    
218            * test/test_load.py (LoadSessionTest.dtd, TestSingleLayer)
219            (TestLayerVisibility.file_contents, TestLabels.file_contents)
220            (TestLayerProjection.file_contents)
221            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
222            (TestPostGISLayer.file_contents)
223            (TestPostGISLayerPassword.file_contents)
224            (TestLoadError.file_contents, TestLoadError.test): Update for new
225            namespace
226    
227    2003-08-27  Bernhard Herzog  <[email protected]>
228    
229            Make the table interface distinguish between row ids (an integer
230            that uniquely identifies a row) and row ordinals (a simple row
231            count from 0 to NumRows() - 1)
232    
233            * Thuban/Model/postgisdb.py (PostGISTable.RowIdToOrdinal)
234            (PostGISTable.RowOrdinalToId): New methods to conver between row
235            ids and row ordinals
236            (PostGISTable.ReadRowAsDict, PostGISTable.ReadValue): New keyword
237            parameter row_is_ordinal to indicate whether the row parameter is
238            the row id or the ordinal
239    
240            * Thuban/Model/transientdb.py (TransientTableBase.RowIdToOrdinal)
241            (TransientTableBase.RowOrdinalToId)
242            (AutoTransientTable.RowIdToOrdinal)
243            (AutoTransientTable.RowOrdinalToId): Same new methods as in
244            PostGISTable.
245            (TransientTableBase.ReadRowAsDict, TransientTableBase.ReadValue)
246            (AutoTransientTable.ReadRowAsDict, AutoTransientTable.ReadValue):
247            Same new parameter as in PostGISTable.
248    
249            * Thuban/Model/table.py (DBFTable.RowIdToOrdinal)
250            (DBFTable.RowOrdinalToId, MemoryTable.RowIdToOrdinal)
251            (MemoryTable.RowOrdinalToId): Same new methods as in PostGISTable.
252            (DBFTable.ReadValue, DBFTable.ReadRowAsDict)
253            (MemoryTable.ReadValue, MemoryTable.ReadRowAsDict): Same new
254            parameter as in PostGISTable.
255    
256            * Thuban/UI/tableview.py (DataTable.RowIdToOrdinal)
257            (DataTable.RowOrdinalToId): New methods to convert between row ids
258            and row ordinals.
259            (TableGrid.SelectRowById): New method to select a row based on its
260            ID as opposed to its ordinal
261            (DataTable.GetValue, TableGrid.OnRangeSelect)
262            (TableGrid.OnSelectCell, LayerTableGrid.select_shapes)
263            (QueryTableFrame.OnQuery, QueryTableFrame.get_selected)
264            (LayerTableFrame.__init__): Convert between row ids and row
265            ordinals as appropriate
266    
267            * test/postgissupport.py (PostGISDatabase.__init__): Add
268            doc-string.
269            (PostGISDatabase.initdb): The optional third item in a tuple in
270            tables is now a (key, value) list with additional arguments to
271            pass to upload_shapefile
272            (upload_shapefile): New parameter gid_offset to allow gids that
273            are not the same as the shapeids in the shapefile
274            (PostgreSQLServer.get_default_static_data_db): Use the new
275            gid_offset to make the gids in landmarks 1000 higher than the
276            shapeids in the shapefile
277    
278            * test/test_viewport.py
279            (TestViewportWithPostGIS.test_find_shape_at_point): Adapt to the
280            new shapeids in the landmarks table
281    
282            * test/test_transientdb.py
283            (TestTransientTable.run_iceland_political_tests)
284            (TestTransientTable.test_transient_joined_table): Add tests for
285            the new table methods and new keywords arguments.
286    
287            * test/test_postgis_db.py
288            (TestPostGISTable.test_read_row_as_dict_row_count_mode)
289            (TestPostGISTable.test_read_value_row_count_mode)
290            (TestPostGISTable.test_row_id_to_ordinal)
291            (TestPostGISTable.test_row_oridnal_to_id): New test for the new
292            table methods and the new arguments
293            (TestPostGISShapestorePoint.test_shapes_in_region)
294            (TestPostGISShapestorePoint.test_shape_raw_data)
295            (TestPostGISShapestorePoint.test_shape_points)
296            (TestPostGISShapestorePoint.test_shape_shapeid)
297            (TestPostGISShapestorePoint.test_all_shapes)
298            (TestPostGISTable.test_simple_query)
299            (TestPostGISTable.test_simple_query)
300            (TestPostGISTable.test_simple_query)
301            (TestPostGISTable.test_read_value)
302            (TestPostGISTable.test_read_row_as_dict): Adapt to the new
303            shapeids in the landmarks table
304    
305            * test/test_memory_table.py
306            (TestMemoryTable.test_read_row_as_dict_row_count_mode)
307            (TestMemoryTable.test_read_value_row_count_mode)
308            (TestMemoryTable.test_row_id_to_ordinal)
309            (TestMemoryTable.test_row_oridnal_to_id): New test for the new
310            table methods and the new arguments
311    
312            * test/test_dbf_table.py
313            (TestDBFTable.test_read_row_as_dict_row_count_mode)
314            (TestDBFTable.test_read_value_row_count_mode)
315            (TestDBFTable.test_row_id_to_ordinal)
316            (TestDBFTable.test_row_oridnal_to_id): New test for the new table
317            methods and the new arguments
318    
319    2003-08-26  Bernhard Herzog  <[email protected]>
320    
321            * Thuban/Model/postgisdb.py (PostGISShapeStore.BoundingBox): Use a
322            more postgis specific but much faster method to get the bounding
323            box
324    
325    2003-08-26  Bernhard Herzog  <[email protected]>
326    
327            * Thuban/Model/postgisdb.py (PostGISTable.Title)
328            (PostGISShapeStore.AllShapes): Add these missing methods.
329            (PostGISShapeStore.ShapesInRegion): No need to raise
330            StopIteration. We can simply return
331    
332            * test/test_postgis_db.py (TestPostGISTable.test_title)
333            (TestPostGISShapestorePoint.test_all_shapes): New tests for the
334            new methods
335    
336    2003-08-25  Bernhard Herzog  <[email protected]>
337    
338            * Thuban/Model/postgisdb.py (shapetype_map): Add MUTLIPOLYGON.
339    
340            * test/test_postgis_db.py (PolygonTests): New class containing
341            those tests from TestPostGISShapestorePolygon that can also be
342            used to test MUTLIPOLYGON tables
343            (TestPostGISShapestorePolygon): Most tests are now in PolygonTests
344            so derive from that
345            (TestPostGISShapestoreMultiPolygon): New class with tests for
346            MUTLIPOLYGON tables
347    
348            * test/postgissupport.py (PostGISDatabase.initdb): Allow the
349            tables argument to have tuples with three items to override the
350            WKT type used.
351            (PostgreSQLServer.get_default_static_data_db): Use the above to
352            create a polygon table with MUTLIPOLYGONs
353            (point_to_wkt, coords_to_point, polygon_to_wkt, coords_to_polygon)
354            (arc_to_wkt, coords_to_multilinestring): Rename from *_to_wkt to
355            coords_to*
356            (coords_to_multipolygon): New. Convert to MUTLIPOLYGON
357            (wkt_converter): New. Map WKT types to converters
358            (upload_shapefile): New parameter force_wkt_type to use a
359            different WKT type than the default
360    
361    2003-08-25  Bernhard Herzog  <[email protected]>
362    
363            * Thuban/UI/application.py
364            (ThubanApplication.run_db_param_dialog): New. Suitable as a
365            db_connection_callback. Main difference is that the dialog run
366            from this method doesn't have a parent so it can be used even when
367            there is no main window
368            (ThubanApplication.OpenSession): Use self.run_db_param_dialog if
369            no db_connection_callback was given. This way the dialog pops up
370            even when the .thuban file was given as a command line parameter.
371    
372    2003-08-25  Bernhard Herzog  <[email protected]>
373    
374            * Thuban/UI/view.py (MapCanvas.OnLeftUp): Release the the mouse
375            before calling MouseLeftUp. MouseLeftUp may pop up modal dialogs
376            which leads to an effectively frozen X session because the user
377            can only interact with the dialog but the mouse is still grabbed
378            by the canvas.
379            Also, call the tool's Hide method before MouseLeftUp because
380            MouseLeftUp may change the tool's coordinates.
381    
382    2003-08-25  Bernhard Herzog  <[email protected]>
383    
384            * Thuban/UI/application.py (ThubanApplication.OpenSession): Catch
385            LoadCancelled exceptions and handle them by returning immediately.
386    
387    2003-08-25  Bernhard Herzog  <[email protected]>
388    
389            GUI part of loading sessions with postgis connections which may
390            require user interaction to get passwords or updated parameters
391    
392            * Thuban/UI/dbdialog.py (DBDialog): Reimplement to make it look a
393            bit nucer and be more generic.
394            (DBFrame.OnAdd): Adapt to new DBDialog interface
395    
396            * Thuban/UI/application.py (ThubanApplication.OpenSession): New
397            optional parameter db_connection_callback which is passed to
398            load_session.
399    
400            * Thuban/UI/mainwindow.py (MainWindow.run_db_param_dialog): New.
401            Suitable as a db_connection_callback
402            (MainWindow.OpenSession): Use self.run_db_param_dialog as the
403            db_connection_callback of the application's OpenSession method
404    
405    
406    2003-08-25  Bernhard Herzog  <[email protected]>
407    
408            Basic loading of sessions containing postgis connections:
409    
410            * Thuban/Model/load.py (LoadError): Add doc-string
411            (LoadCancelled): New exception class to indicate a cancelled load
412            (SessionLoader.__init__): Add the db_connection_callback parameter
413            which will be used by the loader to get updated parameters and a
414            password for a database connection
415            (SessionLoader.__init__): Add the new XML elements to the
416            dispatchers dictionary
417            (SessionLoader.check_attrs): Two new conversions, ascii to convert
418            to a byte-string object and idref as a generic id reference
419            (SessionLoader.start_dbconnection)
420            (SessionLoader.start_dbshapesource): New. Handlers for the new XML
421            elements
422            (load_session): Add the db_connection_callback to pass through the
423            SessionLoader
424    
425            * test/test_load.py (TestPostGISLayer, TestPostGISLayerPassword):
426            New classes to test loading of sessions with postgis database
427            connections.
428    
429    2003-08-25  Bernhard Herzog  <[email protected]>
430    
431            * Thuban/UI/mainwindow.py (__ThubanVersion__): Remove this and
432            replace it and the comment with __BuildDate__ by the Source: and
433            Id: cvs keywords as used in the other files.
434    
435    2003-08-25  Bernhard Herzog  <[email protected]>
436    
437            * Thuban/Model/load.py (SessionLoader.check_attrs): Raise a
438            LoadError when a required attribute is missing. The code used to
439            be commented out for some reason, but probably should have been
440            active.
441    
442            * test/test_load.py (TestLoadError.test): Test the message in the
443            LoadError too to make sure it really is about the missing
444            attribute
445    
446    2003-08-22  Bernhard Herzog  <[email protected]>
447    
448            * test/test_save.py (SaveSessionTest.test_dbf_table)
449            (SaveSessionTest.test_joined_table): Add XML validation tests.
450    
451    2003-08-22  Bernhard Herzog  <[email protected]>
452    
453            Implement saving a session with a postgis connection
454    
455            * Resources/XML/thuban-0.9.dtd (dbconnection, dbshapesource) New
456            elements for database connections and shapestores using db
457            connections
458            (session): Add the dbconnections to the content model
459    
460            * Thuban/Model/save.py (SessionSaver.write_db_connections): New.
461            Write the db connections
462            (SessionSaver.write_session): Call write_db_connections to write
463            the connection before the data sources
464            (SessionSaver.write_data_containers): Handle postgis shapestores
465    
466            * test/test_save.py (SaveSessionTest.thubanids)
467            (SaveSessionTest.thubanidrefs): Update for new DTD
468            (SaveSessionTest.test_save_postgis): New. Test saving a session
469            with postgis connections
470    
471            * Thuban/Model/postgisdb.py (PostGISTable.DBConnection)
472            (PostGISTable.TableName): New accessor methods for the connection
473            and table name
474    
475            * test/test_postgis_db.py (TestPostGISTable.test_dbconn)
476            (TestPostGISTable.test_dbname): New methods to test the new
477            PostGISConnection methods
478    
479    2003-08-22  Bernhard Herzog  <[email protected]>
480    
481            * Thuban/Model/postgisdb.py (ConnectionError): New exception class
482            for exceptions occurring when establishing a Database connection
483            (PostGISConnection.connect): Catch psycopg.OperationalError during
484            connects and raise ConnectionError.
485    
486            * test/test_postgis_db.py (TestPostgisDBExceptions): New class for
487            tests for database exceptions
488    
489    2003-08-22  Bernhard Herzog  <[email protected]>
490    
491            Prepare the test suite for tests with required authentication
492    
493            * test/postgissupport.py (PostgreSQLServer.__init__): Add instance
494            variables with two predefined users/passwords, one for the admin
495            and one for a non-privileged user.
496            (PostgreSQLServer.createdb): Pass the admin name to initdb and add
497            the non-privileged user to the database and set the admin password
498            (PostgreSQLServer.wait_for_postmaster): Use the admin user name.
499            Better error reporting
500            (PostgreSQLServer.connection_params)
501            (PostgreSQLServer.connection_string): New methods to return
502            information about how to connect to the server
503            (PostgreSQLServer.execute_sql): New. Convenience method to execute
504            SQL statements
505            (PostgreSQLServer.require_authentication): Toggle whether the
506            server requires authentication
507            (PostgreSQLServer.create_user, PostgreSQLServer.alter_user): New.
508            Add or alter users
509            (PostGISDatabase.initdb): Pass the admin name one the
510            subprocesses' command lines. Grant select rights on
511            geometry_columns to everybody.
512            (upload_shapefile): Use the admin name and password when
513            connecting. Grant select rights on the new table to everybody.
514    
515            * test/test_viewport.py (TestViewportWithPostGIS.setUp): Use the
516            server's new methods to get the connection parameters.
517    
518            * test/test_postgis_session.py (TestSessionWithPostGIS.setUp)
519            (TestSessionWithPostGIS.test_remove_dbconn_exception): Use the
520            server's new methods to get the connection parameters.
521    
522            * test/test_postgis_db.py
523            (TestPostGISConnection.test_gis_tables_empty)
524            (TestPostGISConnection.test_gis_tables_non_empty)
525            (PostGISStaticTests.setUp): Use the server's new methods to get
526            the connection parameters.
527    
528    2003-08-22  Bernhard Herzog  <[email protected]>
529    
530            * Thuban/UI/about.py (About.__init__): Add the psycopg version.
531    
532            * Thuban/version.py: Add psycopg version
533    
534            * Thuban/Model/postgisdb.py (psycopg_version): New. Return the
535            version of the psycopg module
536    
537    2003-08-22  Bernhard Herzog  <[email protected]>
538    
539            * Thuban/UI/dbdialog.py (DBPwdDlg): Removed because it's not used.
540            (DBFrame.OnEdit): Removed because it's not used and wouldn't work
541            at the moment. The functionality should probably be implemented
542            some time, though.
543            (DBFrame.OnRemove): Display a message if the connection can't be
544            removed because it's still in use.
545    
546    2003-08-22  Jan-Oliver Wagner <[email protected]>
547    
548            * Thuban/UI/about.py (About.__init__): split up the huge about
549            text into elements/lists for easier translation. This fixes bug
550            https://intevation.de/rt/webrt?serial_num=2058
551            Also, made some forgotten string available for the i18n.
552    
553    2003-08-21  Bernhard Herzog  <[email protected]>
554    
555            Make postgis support really optional including insensitive menu
556            items.
557    
558            * Thuban/Model/postgisdb.py (has_postgis_support): New. Return
559            whether the postgis is supported.
560    
561            * Thuban/UI/dbdialog.py: Put the psycopg import into try..except
562            to make postgis support optional
563    
564            * Thuban/UI/mainwindow.py (_has_postgis_support): New. Context
565            version of Thuban.Model.postgisdb.has_postgis_support
566            (database_management command): Make it only sensitive if postgis
567            is supported.
568    
569    2003-08-21  Jan-Oliver Wagner <[email protected]>
570    
571            * Doc/manual/thuban-manual.xml: Added CVS revision for rev-history.
572            (section Adding and Removing Layers): Added text and described
573            multi-selection.
574            (chapter Extensions): New.
575    
576  2003-08-21  Jan-Oliver Wagner <[email protected]>  2003-08-21  Jan-Oliver Wagner <[email protected]>
577    
578          * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Changed dialog          * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Changed dialog

Legend:
Removed from v.1623  
changed lines
  Added in v.1716

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26