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

Legend:
Removed from v.1627  
changed lines
  Added in v.1775

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26