/[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 1655 by bh, Mon Aug 25 16:05:33 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]>  2003-08-25  Bernhard Herzog  <[email protected]>
518    
519          * Thuban/UI/application.py          * Thuban/UI/application.py
# Line 941  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.1655  
changed lines
  Added in v.1775

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26