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

Legend:
Removed from v.1621  
changed lines
  Added in v.1757

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26