/[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 1244 by bh, Thu Jun 19 10:55:23 2003 UTC revision 1272 by jonathan, Fri Jun 20 16:43:13 2003 UTC
# Line 1  Line 1 
1    2003-06-20  Jonathan Coles   <[email protected]>
2    
3            * Thuban/UI/view.py (MapCanvas.OnPaint): Call wxYield after
4            turning on the busy cursor to allow the system to change the
5            cursor before we begin painting. This fixes a problem that
6            was occuring only under GTK. Fixes RTbug #1840.
7    
8    2003-06-20  Bernhard Herzog  <[email protected]>
9    
10            * Resources/XML/thuban-0.8.dtd: New DTD for the new file format
11            version.
12    
13            * Thuban/Model/save.py (sort_data_stores): New. Make topological
14            sort of the data sources so they can be written with sources that
15            data sources that depend on other data sources come after the
16            sources they depend on.
17            (SessionSaver.__init__): Add idmap instance variable to map from
18            objects to the ids used in the file.
19            (SessionSaver.get_id, SessionSaver.define_id)
20            (SessionSaver.has_id): New. Methods to manage the idmap
21            (SessionSaver.write): Use thuban-0.8.dtd
22            (SessionSaver.write_session): Add a namespace on the session and
23            write out the data sources before the maps.
24            (SessionSaver.write_data_containers): New. Write the data
25            containers.
26            (SessionSaver.write_layer): Layer elements now refer to a
27            shapestore and don't contain filenames anymore.
28    
29            * Thuban/Model/load.py (LoadError): Exception class to raise when
30            errors in the files are discovered
31            (SessionLoader.__init__): Define dispatchers for elements with a
32            thuban-0.8 namespace too.
33            (SessionLoader.check_attrs): New helper method to check and
34            convert attributes
35            (AttrDesc): New. Helper class for SessionLoader.check_attrs
36            (SessionLoader.start_fileshapesource)
37            (SessionLoader.start_derivedshapesource)
38            (SessionLoader.start_filetable, SessionLoader.start_jointable):
39            Handlers for the new elements in the new fileformat
40            (SessionLoader.start_layer): Handle the shapestore attribute in
41            addition to filename.
42            (SessionLoader.start_table, SessionLoader.end_table): Removed.
43            They were never used in the old formats and aren't needed for the
44            new.
45    
46            * Thuban/Model/session.py (Session.DataContainers): New method to
47            return all "data containers", i.e. shapestores and tables
48    
49            * test/xmlsupport.py (SaxEventLister.__init__)
50            (SaxEventLister.startElementNS, sax_eventlist): Add support to
51            normalize IDs.
52    
53            * test/test_xmlsupport.py
54            (TestEventList.test_even_list_id_normalization): New test case for
55            id normalization
56    
57            * test/test_load.py (LoadSessionTest.check_format): Use ID
58            normalization
59            (LoadSessionTest.thubanids, LoadSessionTest.thubanidrefs): New
60            class atrributes used for ID normalization
61            (TestSingleLayer, TestLayerVisibility, TestLabels.test)
62            (TestLayerProjection.test, TestRasterLayer.test): Adapt to new
63            file format
64            (TestJoinedTable): New test for loading sessions with joined
65            tables.
66            (TestLoadError): New. Test whether missing required attributes
67            cause a LoadError.
68    
69            * test/test_save.py (SaveSessionTest.thubanids)
70            (SaveSessionTest.thubanidrefs): New class attributes for ID
71            normalization in .thuban files.
72            (SaveSessionTest.compare_xml): Use id-normalization.
73            (SaveSessionTest.testEmptySession)
74            (SaveSessionTest.testLayerProjection)
75            (SaveSessionTest.testRasterLayer)
76            (SaveSessionTest.testClassifiedLayer): Adapt to new file format.
77            (SaveSessionTest.testLayerProjection): The filename used was the
78            same as for testSingleLayer. Use a different one.
79            (SaveSessionTest.test_dbf_table)
80            (SaveSessionTest.test_joined_table): New test cases for saving the
81            new data sources structures.
82            (TestStoreSort, MockDataStore): Classes to test the sorting of the
83            data stores for writing.
84    
85            * test/runtests.py: Add CVS keywords
86    
87    2003-06-20  Jonathan Coles   <[email protected]>
88    
89            * test/test_session.py
90            (UnreferencedTablesTests.test_unreferenced_tables_with_joins):
91            Use the cultural_landmark-point.dbf file for the store so that
92            the table rows and shape count match.
93    
94    2003-06-20  Jonathan Coles   <[email protected]>
95    
96            * Thuban/Model/data.py (DerivedShapeStore.__init__): Raise
97            an exception if the number of shapes is different from the
98            number of rows in the table. Address RTbug #1933.
99    
100            * test/test_layer.py (TestLayer.test_derived_store): Add
101            a test for the new exception in DerivedShapeStore.__init__.
102    
103            * test/support.py (FloatTestCase): Removed since there is
104            already FloatComparisonMixin. Fixes RTbug #1954.
105            (FloatComparisonMixin.assertFloatEqual): Include test for
106            infinity that was part of FloatTestCase.
107    
108            * test/test_range.py (RangeTest): Inherit from
109            support.FloatComparisonMixin now that we don't have
110            support.FloatTestCase.
111    
112    2003-06-20  Bernhard Herzog  <[email protected]>
113    
114            * test/test_save.py (SaxEventLister, sax_eventlist): Removed. Use
115            the implementation in xmlsupport instead.
116            (SaveSessionTest.compare_xml): sax_eventlist is now in xmlsupport
117    
118            * test/test_proj.py: Import sax_eventlist from xmlsupport instead
119            of test_save
120    
121    2003-06-20  Bernhard Herzog  <[email protected]>
122    
123            * test/test_load.py (LoadSessionTest.check_format): New helper
124            method to make sure the test files we load might have been written
125            by the current thuban version.
126            (ClassificationTest.TestLayers, TestSingleLayer.test)
127            (TestLayerVisibility.test, TestClassification.test)
128            (TestLabels.test, TestLayerProjection.test, TestRasterLayer.test):
129            Add check_format() calls and fix the thuban data to match the data
130            that would be written by saving the session loaded from it.
131    
132            * test/xmlsupport.py (SaxEventLister, sax_eventlist): Copies of
133            the same class and function in test_save.
134    
135            * test/test_xmlsupport.py (TestEventList): New. test cases for
136            sax_eventlist
137    
138    2003-06-20  Bernhard Herzog  <[email protected]>
139    
140            * Resources/XML/thuban.dtd: Add comment about which versions of
141            Thuban are covered by this DTD
142            (map): Fix content model for layers and raster layers. There can
143            be any number or layers and raster layers in any order.
144    
145    2003-06-20  Jonathan Coles   <[email protected]>
146    
147            This is mainly about fixing RTbug #1949.
148    
149            * Thuban/Model/classification.py: Remove "from __future__"
150            import statement since python 2.2 is the earliest supported
151            version.
152    
153            * Thuban/Model/proj.py (Projection.GetProjectedUnits): New.
154            Currently returns PROJ_UNITS_METERS or PROJ_UNITS_DEGREES
155            depending on the units this projection *forwards* into.
156    
157            * Thuban/Model/save.py (SessionSaver.write_classification):
158            Remove unnecessary use of lambdas and nested functions.
159    
160            * Thuban/UI/legend.py (ScaleBarBitmap.__SetScale): Do scale
161            adjustment here if the map projection uses degrees.
162    
163            * Thuban/UI/scalebar.py (ScaleBar.DrawScaleBar): Remove
164            scale adjust code since it is now done before calling
165            this method. Don't do anything if the map projection
166            is None.
167    
168    2003-06-19  Bernhard Herzog  <[email protected]>
169    
170            Move version specific load tests to their own file.
171    
172            * test/test_load.py: Expand the doc-string to explain a bit how to
173            handle file format changes.
174            (TestClassification.test): Update the docstring as this test is
175            not about Thuban 0.2 anymore.
176    
177            * test/test_load_0_2.py: New file with the load tests for thuban
178            files created with Thuban 0.2 and earlier.
179    
180    2003-06-19  Bernhard Herzog  <[email protected]>
181    
182            Add XML validation to some of the tests. Validation will only be
183            done if pyRXP is installed (http://reportlab.com/xml/pyrxp.html).
184            To make the DTD available to the test cases it's moved into
185            Resources/XML
186    
187            * Resources/XML/thuban.dtd: New. This is now the real Thuban DTD
188            for versions up to and including 0.2. Two slight changes: added an
189            encoding specification and fixed the comment which refered to
190            GRASS, not Thuban
191    
192            * test/xmlsupport.py: New support module for tests involving XML.
193            Currently there's a mix-in class for XML validation.
194    
195            * test/test_xmlsupport.py: New. Tests for the xmlsupport module
196    
197            * test/test_save.py (SaveSessionTest): Derive from ValidationTest
198            so that we can validate the
199            (SaveSessionTest.testEmptySession)
200            (SaveSessionTest.testSingleLayer)
201            (SaveSessionTest.testSingleLayer)
202            (SaveSessionTest.testLayerProjection)
203            (SaveSessionTest.testRasterLayer)
204            (SaveSessionTest.testClassifiedLayer): Validate the generated XML
205    
206            * test/runtests.py (main): Call print_additional_summary instead
207            of print_garbage_information
208    
209            * test/support.py (resource_dir): New function to return the
210            "Resource" subdirectory
211            (print_additional_summary): New function to combine several
212            summary functions
213            (run_tests): Use print_additional_summary instead of calling
214            print_garbage_information directly
215    
216  2003-06-19  Bernhard Herzog  <[email protected]>  2003-06-19  Bernhard Herzog  <[email protected]>
217    
218          * Doc/thuban.dtd (classification): Correct the content model of          * Doc/thuban.dtd (classification): Correct the content model of

Legend:
Removed from v.1244  
changed lines
  Added in v.1272

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26