/[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 1822 by bh, Tue Oct 14 13:54:19 2003 UTC
# Line 1  Line 1 
1    2003-10-14  Bernhard Herzog  <[email protected]>
2    
3            * test/test_proj.py (TestProjFile.test): Refactor into several
4            tests
5            (TestProjFile.test_add_remove)
6            (TestProjFile.test_remove_non_existing)
7            (TestProjFile.test_replace)
8            (TestProjFile.test_replace_non_existing): Some of the new
9            individual test cases
10            (TestProjFileSimple): New class for the rest of the test cases
11            that came out of the refactoring
12            (ProjFileTest): Derive from xmlsupport.ValidationTest so that the
13            derived classes don't have to
14    
15    2003-10-13  Bernhard Herzog  <[email protected]>
16    
17            Add an optional EPSG code to the projection objects and extend the
18            .proj file format accordingly.
19    
20            * Resources/XML/projfile.dtd (element projection): Add epsg
21            attribute
22    
23            * Thuban/Model/proj.py (Projection.__init__): New parameter and
24            instance variable epsg. Update doc-string
25            (Projection.EPSGCode, Projection.Label): New methods to provide
26            access to EPSG code and a label for use in dialogs
27    
28            * Thuban/Model/resource.py (ProjFileReader.start_projection)
29            (ProjFileReader.end_projection, ProjFileSaver.write_projfile):
30            Handle the epsg code attribute when reading or writing proj files
31    
32            * Thuban/UI/projdialog.py (ProjFrame._OnSave)
33            (ProjFrame._OnAddToList, ProjFrame.__DoOnProjAvail)
34            (ProjFrame.__FillAvailList): Use the projection's Label method to
35            get the string for the list box
36    
37            * test/test_proj.py (TestProjection.test_label)
38            (TestProjection.test_label_epsg)
39            (TestProjection.test_epsgcode_for_non_epsg_projection)
40            (TestProjection.test_epsgcode_for_real_epsg_projection): New tests
41            for the label and EPSGCode methods
42            (WriteProjFileTests.doTestWrite, WriteProjFileTests.test_write)
43            (WriteProjFileTests.test_write_empty_file): Create the ProjFile
44            objects in the test cases and put the expected contents into the
45            test case methods too. Update doTestWrite accordingly
46            (TestLoadingProjFile)
47            (TestLoadingProjFileWithEmptyProjectionlist): New classes with the
48            read tests from TestProjFile.
49            (TestProjFile.doTestRead, TestProjFile.testRead): Removed. These
50            tests are now in the new classes.
51            (sample_projfile, sample_projfile_data)
52            (sample_projfile2, sample_projfile_data2): Removed. Not used
53            anymore.
54            (TestProjFile.test_read_unreadable_file): No need to reset the
55            permissions at the end anymore since we use a unique filename
56    
57    2003-10-13  Bernhard Herzog  <[email protected]>
58    
59            * test/test_proj.py: Some more refactoring of the test cases
60            (ProjFileTest): New base class for the proj file tests.
61            (TestProjFile): Derive from ProjFileTest
62            (TestProjFile.test_read_unreadable_file)
63            (TestProjFile.test_read_empty_file, TestProjFile.doTestRead): Use
64            the new filename method to get a unique filename
65            (TestProjFile.doTestWrite, TestProjFile.testWrite): Removed.
66            (WriteProjFileTests): New class for proj file write tests.
67            Contains the write test that were in TestProjFile originally.
68    
69    2003-10-13  Bernhard Herzog  <[email protected]>
70    
71            * test/test_proj.py (TestProjFile.testRead)
72            (TestProjFile.test_read_non_existing_file)
73            (TestProjFile.test_read_unreadable_file)
74            (TestProjFile.test_read_empty_file): Split into several methods.
75    
76    2003-10-10  Bernhard Herzog  <[email protected]>
77    
78            * Thuban/UI/sizers.py: New file with custom sizers.
79    
80            * Thuban/UI/projdialog.py (ProjFrame.build_dialog): Instantiate
81            all projection type specific panels and put them into a
82            NotebookLikeSizer. This way the dialog doesn't change its size
83            when a different projection is selected
84            (ProjFrame.__init__): Rename projection_panels
85            projection_panel_defs and reuse projection_panels for a list of
86            the instantiated panels.
87            (ProjFrame._show_proj_panel, ProjFrame.__DoOnProjAvail)
88            (ProjFrame.__DoOnProjChoice): Changes due to the new handling of
89            the panels
90            (UnknownProjPanel._DoLayout): Place the newlines in the message
91            differently to make the panel narrower.
92            (TMPanel._DoLayout): Layout the parameters in one column.
93    
94    2003-10-10  Bernhard Herzog  <[email protected]>
95    
96            * Thuban/UI/projdialog.py (ProjFrame.build_dialog): New method
97            that contains all the setup for the dialog's widgets, layout and
98            event handling.
99            (__): Call build_dialog to build the dialog.
100            (ProjFrame.__set_properties, ProjFrame.__do_layout): Removed.
101            Their functionality is now in build_dialog
102            (ProjFrame.__VerifyButtons, ProjFrame.__VerifyButtons)
103            (ProjFrame.__DoOnProjAvail, ProjFrame.__DoOnProjAvail)
104            (ProjFrame.__DoOnProjChoice): Small updates due to slightly
105            different widget names and hierarchy introduced with build_dialog.
106    
107    2003-10-10  Bernhard Herzog  <[email protected]>
108    
109            * README: Fix typo.
110    
111    2003-10-09  Bernhard Herzog  <[email protected]>
112    
113            * Thuban/Model/proj.py (ProjFile.Add): Do not check whether the
114            projection is already in the list. This is *a lot* faster when
115            loading files with hundreds of projections since it saves a linear
116            search. OTOH this will allow adding the same projection to the
117            user.proj file multiple times in the projection dialog but we'll
118            deal with that later
119    
120    2003-10-09  Jan-Oliver Wagner <[email protected]>
121    
122            * devtools: New. Directory for developer tools that are not intended
123            for the regular user.
124    
125            * devtools/create_epsg.py: New. Convert the epsg file of proj into
126            a python .proj file.
127    
128    2003-10-09  Bernhard Herzog  <[email protected]>
129    
130            * test/test_proj.py
131            (TestProjection.test_get_parameter_without_equals_sign): New. Test
132            whether GetParameter handles parameters without "=" sign correctly
133    
134            * Thuban/Model/proj.py (Projection.GetParameter): Handle
135            parameters that do not contain a "=". Update the doc-string
136    
137    2003-10-08  Bernhard Herzog  <[email protected]>
138    
139            * Thuban/UI/projdialog.py (ProjFrame.__set_properties): Remove the
140            length limit on the projname text control
141    
142    2003-10-08  Bernhard Herzog  <[email protected]>
143    
144            * test/test_proj.py (TestProjection.test_get_projection_units_geo)
145            (TestProjection.test_get_projection_units_normal): New. Tests for
146            the Projection.GetProjectedUnits method
147    
148    2003-10-08  Jan-Oliver Wagner <[email protected]>
149    
150            * Thuban/Model/resource.py (get_user_proj_file): small bug-fix:
151            Added missing 'val' parameter.
152    
153    2003-10-08  Bernhard Herzog  <[email protected]>
154    
155            * Thuban/UI/projdialog.py (ProjFrame.__DoOnProjAvail): When the
156            projection type of the currently selected projection is not known,
157            i.e. there's no panel for it, use the UnknownProjPanel
158            (ProjFrame.__DoOnProjChoice, ProjFrame._show_proj_panel): Split
159            the actual replacing of the proj panel into the new method
160            _show_proj_panel.
161            (UnknownProjPanel): Add doc-string.
162            (UnknownProjPanel._DoLayout): Insert a newline into the text so
163            that the panel is not so wide.
164    
165    2003-10-08  Bernhard Herzog  <[email protected]>
166    
167            * Thuban/Model/resource.py (read_proj_file): Return the warnings
168            too. Update the doc-string
169            (get_proj_files): Removed. It wasn't used anywhere
170            (get_system_proj_files, get_system_proj_file): Rename to
171            get_system_proj_file and return the ProjFile object and not a list
172            of ProjFile objects. Update the callers.
173            (get_user_proj_files, get_user_proj_file): Rename to
174            get_user_proj_file return the ProjFile object and not a list of
175            ProjFile objects. Update the callers.
176            (ProjFileReader.__init__): New instance variable for the warnings.
177            Rename the __pf ivar to projfile. Update the methods referring to
178            __pf
179            (ProjFileReader.end_projection): Catch any errors raised when
180            instantiating the projection and record that as an error. The
181            projection will not be in the final ProjFile object.
182            (ProjFileReader.GetWarnings): New method to return the warnings.
183    
184            * Thuban/UI/projdialog.py (ProjFrame.show_warnings): New method to
185            show the warnings from the projfile reader
186            (ProjFrame._OnImport): Deal with any warnings returned by
187            read_proj_file
188            (ProjFrame.__FillAvailList): Deal with any warnings returned by
189            get_system_proj_file or get_user_proj_file.
190    
191            * test/test_proj.py (TestProjFile.doTestRead): Check the warnings.
192            (TestProjFileWithInvalidParameters.file_contents): New test cases
193            to test whether read_proj_file handles invalid projection
194            parameters correctly
195            (TestProjFile.test_get_system_proj_file): New. Simple test for
196            resource.get_system_proj_file
197    
198    2003-10-07  Bernhard Herzog  <[email protected]>
199    
200            * test/test_derivedshapestore.py
201            (TestDerivedShapeStoreExceptions.tearDown): Clear the session
202            properly so that the temporary directories get deleted correctly
203    
204    2003-10-06  Bernhard Herzog  <[email protected]>
205    
206            Handle the title changes in a proper MVC way.
207    
208            * Thuban/UI/mainwindow.py (MainWindow.__init__): Subscribe to the
209            canvas' TITLE_CHANGED messages
210            (MainWindow.update_title): New. Update the main window's title
211            (MainWindow.__SetTitle): Removed. Use update_title instead.
212            (MainWindow.SetMap): Use update_title instead of __SetTitle
213            (MainWindow.RenameMap): Do change the window title explicitly
214            here. That's handled in a proper MVC way now.
215            (MainWindow.title_changed): New. Subscriber for the TITLE_CHANGED
216            messages
217    
218            * Thuban/Lib/connector.py (Conduit): New class to help classes
219            that forward messages
220    
221            * Thuban/UI/viewport.py: Forward the map's TITLE_CHANGED messages
222            (ViewPort): Derive from Conduit instead of Publisher
223            (ViewPort.Subscribe, ViewPort.Unsubscribe): Use the new base class
224            when calling the inherited versions
225            (ViewPort._subscribe_map, ViewPort._unsubscribe_map): New helper
226            methods to subscribe and unsubscribe map messages
227            (ViewPort.SetMap, ViewPort.Destroy): Use the new helper methods to
228            handle the map subscriptions
229            (ViewPort.Map, ViewPort.map_projection_changed)
230            (ViewPort.layer_projection_changed): Add or update doc-strings
231    
232            * test/test_connector.py (TestPublisher.test_issue_simple): Fix
233            typo
234            (MyConduit): Helper class for the Conduit test.
235            (TestConduit): Test cases for Conduit
236    
237            * test/test_connector.py: Use support.run_tests as main.
238    
239            * test/test_viewport.py (ViewPortTest.setUp): Also subscribe to
240            the TITLE_CHANGED messages
241            (ViewPortTest.test_forwarding_title_changed): New test to check
242            whether the viewport forwards the map's TITLE_CHANGED messages
243            (TestViewportWithPostGIS.tearDown): Call the map's Destroy method
244            after the port's because the latter may require a still functional
245            map.
246    
247    2003-10-06  Bernhard Herzog  <[email protected]>
248    
249            * Thuban/UI/application.py (ThubanApplication.maps_changed): Add
250            doc-string
251    
252    2003-10-06  Bernhard Herzog  <[email protected]>
253    
254            * test/test_viewport.py (ViewPortTest.setUp)
255            (SimpleViewPortTest.test_init_with_size): Move the test for the
256            initial size as a constructor parameter from ViewPortTest.setUp
257            method to a new separate test in SimpleViewPortTest.
258    
259    2003-10-06  Bernhard Herzog  <[email protected]>
260    
261            * test/test_viewport.py (MockView): New class derived from
262            ViewPort with a mock implementation of GetTextExtent to be used in
263            the test cases
264            (ViewPortTest.setUp): Use MockView instead of ViewPort
265    
266            * Thuban/UI/viewport.py (ViewPort.GetTextExtent): Turn this method
267            into what would be a "pure virtual function" in C++: always raise
268            NotImplementedError. Mock implementations for test cases don't
269            belong into the real code
270    
271    2003-10-02  Bernhard Herzog  <[email protected]>
272    
273            * test/test_layer.py (TestLayer.test_empty_layer): Explicitly
274            close the dbf file we create so that it's contents have been
275            written properly.
276    
277            * libraries/shapelib/shptree.c, libraries/shapelib/shpopen.c,
278            libraries/shapelib/shapefil.h, libraries/shapelib/dbfopen.c:
279            Update to shapelib 1.2.10
280    
281    2003-10-01  Jan-Oliver Wagner <[email protected]>
282    
283            * Thuban/UI/tree.py, Thuban/UI/main.py: Remove the #! line as
284            it annoys lintian which warns about these files not being
285            executable. The #! isn't necessary here since if you absolutely
286            must execute them you can always say "python <filename>".
287    
288    2003-09-26  Bernhard Herzog  <[email protected]>
289    
290            * Thuban/Model/classgen.py (GenQuantiles0): Removed since it's
291            only used in GREAT-ER but not used in Thuban itself. When GREAT-ER
292            is ported to a newer the import will fail, so it should be noticed
293            immediately that this function is gone.
294            Fixes RT#1919
295    
296    2003-09-26  Bernhard Herzog  <[email protected]>
297    
298            Add a DTD for the projection files and make thuban write valid
299            projection files
300    
301            * Resources/XML/projfile.dtd: New. DTD for thuban's projection
302            files
303    
304            * Thuban/Model/resource.py (ProjFileSaver.write): Use
305            'projectionlist' as the name in the document type declaration so
306            that it matches the element type of the root element.
307    
308            * test/test_proj.py (sample_projfile, sample_projfile2): Use
309            'projectionlist' as the name in the document type declaration just
310            as it is done now in the files thuban would write
311            (sample_projfile, sample_projfile_data): Fix spelling of
312            "Mercator"
313            (TestProjFile.doTestWrite): Validate the written and the expected
314            XML data
315            (TestProjFile): Derive from ValidationTest so that we can run xml
316            validation tests
317    
318    2003-09-24  Bernhard Herzog  <[email protected]>
319    
320            * Thuban/UI/renderer.py (ExportRenderer.render_legend): Do not
321            modify the list returned by map.Layers() in place since it is the
322            actual list of layers used by the map.
323    
324    2003-09-23  Jan-Oliver Wagner <[email protected]>
325    
326            * Doc/manual/thuban-manual.xml: Added subsection to chapter
327            Extensions to describe the extensions coming with the Thuban
328            standard package (gns2shp and importAPR).
329    
330    2003-09-23  Bernhard Herzog  <[email protected]>
331    
332            * libraries/thuban/wxproj.cpp (project_point): if there's an
333            inverse but no forward projection, convert to degrees after
334            applying the inverse projection. Fixes RT#2096
335    
336            * test/test_wxproj.py: New. Test cases for wxproj.so. One test
337            implicitly tests for the fix to RT#2096
338    
339            * test/support.py (FloatComparisonMixin.assertFloatSeqEqual):
340            Check that the sequences have the same lengths
341    
342            * Resources/Projections/defaults.proj (Geographic projection): Use
343            a much more precise value for the to_meter attribute.
344    
345    2003-09-22  Bernhard Herzog  <[email protected]>
346    
347            * test/support.py (initthuban): Make sure to unset the LANG env.
348            var. so that tests that compare translated strings work. Solves RT
349            #2094
350    
351    2003-09-22  Jan-Oliver Wagner <[email protected]>
352    
353            Small improvement of APR import.
354    
355            * Extensions/importAPR/test/test_apr.py (aprTest.test_LClass):
356            Added tests for text-ranges.
357    
358            * Extensions/importAPR/apr.py (APR_LClass.GetThubanRange): Now
359            returns a string object if the range is based on text.
360    
361            * Extensions/importAPR/importAPR.py (import_apr_dialog): Unified
362            range retrieval.
363    
364    2003-09-22  Jan-Oliver Wagner <[email protected]>
365    
366            Initial version of the importAPR extension which is in
367            experimental state.
368    
369            * /Extensions/importAPR/, /Extensions/importAPR/samples/,
370            /Extensions/importAPR/test/: New directories.
371    
372            * /Extensions/importAPR/samples/README: New: Howto load the samples.
373    
374            * /Extensions/importAPR/samples/iceland.apr: New: A sample APR
375            file which refers to the Thuban Iceland demo data.
376    
377            * /Extensions/importAPR/test/README: New: Howto execute the tests.
378    
379            * /Extensions/importAPR/test/test_apr.py: New: Tests for APR classes.
380    
381            * /Extensions/importAPR/apr.py: New: Classes for ArcView Objects
382            as in '.apr'-files.
383    
384            * /Extensions/importAPR/odb.py: New: Classes for generic ArcView
385            ODB Objects as in '.apr', '.avl' and other files.
386    
387            * /Extensions/importAPR/__init__.py: New: Init to make this
388            directory a package.
389    
390            * /Extensions/importAPR/importAPR.py: New: Import a ArcView
391            project file (.apr) and convert it to Thuban.
392    
393    2003-09-22  Jan-Oliver Wagner <[email protected]>
394    
395            * Extensions/gns2shp.gns2shp.py: The main module of gns2shp.
396    
397    2003-09-19  Jan-Oliver Wagner <[email protected]>
398    
399            * Doc/manual/thuban-manual.xml: Extended section 'Installation'
400            with description on RPM installation and RPM binary package
401            creation.
402    
403    2003-09-18  Bernhard Herzog  <[email protected]>
404    
405            * setup.py (data_files): Only add the mo files if the Locales
406            directory actually exists, so that setup.py works with a fresh CVS
407            checkout
408    
409    2003-09-12  Jan-Oliver Wagner <[email protected]>
410    
411            * Examples/simple_extensions/simple_tool.py: bugfix: Tool is now
412            in viewport, not anymore in view
413    
414    2003-09-04  Jan-Oliver Wagner <[email protected]>
415    
416            Introducing first Extension (gns2shp).
417    
418            * Extensions, Extensions/gns2shp, Extensions/gns2shp/test: New.
419    
420            * Extensions/__init__.py: New. init to make this dir a package.
421    
422            * Extensions/gns2shp/__init__.py: New. init to make this dir a package.
423    
424            * Extensions/gns2shp/test/README: New. some info on this test directory.
425    
426            * Extensions/gns2shp/test/ls.txt: New. test data set (Liechtenstein).
427    
428            * Extensions/gns2shp/test/test_gns2shp.py: New. Test for correct creation
429            of Shapefile from GNS text file format
430    
431    2003-09-03  Jan-Oliver Wagner <[email protected]>
432    
433            Fix/workaround for bug #2019:
434            https://intevation.de/rt/webrt?serial_num=2019
435    
436            * Thuban/UI/identifyview.py (IdentifyView.ID_STOP): New.
437            (IdentifyView.__init__): Added another button that allows to
438            stop the identify mode.
439            (IdentifyView.OnStop): New. Stops the identify mode.
440    
441    2003-09-03  Jan-Oliver Wagner <[email protected]>
442    
443            Introducing a new exception dialog that allows to exit the
444            application immediately.
445            This fixes bug #2060: https://intevation.de/rt/webrt?serial_num=2060
446    
447            * Thuban/UI/exceptiondialog.py: New. A special exception dialog.
448    
449            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
450            Made strings available to translations. Exchanged the simple
451            ScrolledMessageDialog by the new ExceptionDialog.
452    
453    2003-09-01  Bernhard Herzog  <[email protected]>
454    
455            * NEWS: New. Summary of changes and release notes.
456    
457            * MANIFEST.in: Add NEWS
458    
459    2003-09-01  Bernhard Herzog  <[email protected]>
460    
461            * MANIFEST.in: Correct the include statement for the mo-files and
462            include the documentation too.
463    
464            * setup.py (data_files): Add the .mo files
465            (setup call): Up to version 0.9.0
466    
467    2003-09-01  Bernhard Herzog  <[email protected]>
468    
469            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Change the
470            parameter list to just parent and session
471            (ChooseDBTableDialog.__set_properties): Removed. Setting the
472            selection of empty list boxes is not allowed (and produces C++
473            assertion errors) and the rest of the setup is better done in
474            __init__ anyway.
475            (ChooseDBTableDialog.OnCancel, ChooseDBTableDialog.OnOK)
476            (ChooseDBTableDialog.OnLBDClick, DBDialog.OnOK): Use the Python
477            builtins True/False for booleans to avoid warnings from wxPython
478    
479            * Thuban/UI/mainwindow.py (MainWindow.AddDBLayer): Adapt to new
480            ChooseDBTableDialog constructor parameters.
481    
482    2003-09-01  Bernhard Herzog  <[email protected]>
483    
484            * Thuban/Model/postgisdb.py
485            (PostGISTable): Extend doc-string
486            (PostGISTable._fetch_table_information): Set the column index
487            correctly, pretending ignored columns don't exist.
488    
489            * test/test_postgis_db.py (TestPostGISIgnoredColumns): New tests
490            for postgis tables with data types not yet supported by thuban.
491    
492    2003-08-29  Bernhard Herzog  <[email protected]>
493    
494            * HOWTO-Release: Tweak item about running the tests.
495    
496    2003-08-29  Jan-Oliver Wagner <[email protected]>
497    
498            * /Doc/manual/thuban-manual.xml: updated to version 1.0pre2.
499    
500    2003-08-29  Bernhard Herzog  <[email protected]>
501    
502            Add some missing parameters to projections. Proj complains about
503            them on windows but for some reason not on Linux.
504    
505            * test/test_save.py (SaveSessionTest.testLayerProjection): Add
506            missing required projection parameters
507    
508            * test/test_proj.py (TestProjFile.test): Add missing required
509            projection parameters
510    
511            * test/test_load_0_8.py (TestLayerProjection.file_contents)
512            (TestLayerProjection.test): Add missing required projection
513            parameters and tests for them
514    
515            * test/test_load.py (TestLayerProjection.file_contents)
516            (TestLayerProjection.test): Add missing required projection
517            parameters and tests for them
518    
519            * test/test_layer.py (TestLayer.test_base_layer): Add missing
520            required projection parameters
521    
522    2003-08-29  Bernhard Herzog  <[email protected]>
523    
524            * libraries/pyprojection/Projection.i: Use pj_get_errno_ref to
525            access the pj_errno because directly accessing pj_errno doesn't
526            work on windows if the proj library is in a DLL
527    
528            * libraries/pyprojection/Projection_wrap.c: Update from Projection.i
529    
530    2003-08-28  Bernhard Herzog  <[email protected]>
531    
532            * test/test_proj.py: Import things from Thuban after calling
533            initthuban
534    
535            * test/test_load.py (LoadSessionTest.filenames): New class
536            variable with the filename attributes to normalize
537            (LoadSessionTest.check_format): Pass self.filenames to
538            sax_eventlist to normalize the filename attributes
539    
540            * test/xmlsupport.py: Add cvs keywords
541            (SaxEventLister.__init__): New parameter filenames which indicates
542            attributes that contain filenames
543            (SaxEventLister.startElementNS): Normalize the filename attributes
544            with os.path.normpath
545            (sax_eventlist): New parameter filenames to pass through to
546            SaxEventLister
547    
548            * test/test_derivedshapestore.py: Make this file callable as a
549            program to execute the tests
550            (TestDerivedShapeStoreExceptions.test_table_with_wrong_size): Bind
551            the session to self.session so that it gets destroyed properly
552    
553            * test/test_layer.py (TestLayer.tearDown): Call the session's
554            Destroy method
555    
556            * test/test_map.py (TestMapBase.tearDown): Destroy self.session
557            too if it exists
558            (TestMapAddLayer.test_add_layer): Bind the session to self.session
559            so that it gets destroyed properly
560    
561            * test/postgissupport.py (reason_for_not_running_tests): Add a
562            test for the existence of popen2.Popen4.
563    
564            * test/test_save.py (SaveSessionTest.tearDown): New. Provide a
565            reliable way to destroy the sessions created in the test cases
566            (SaveSessionTest.test_dbf_table): Bind the session to self.session
567            so that it gets destroyed properly
568            (SaveSessionTest.testLayerProjection): Bind the session to
569            self.session so that it gets destroyed properly
570    
571            * test/test_session.py (UnreferencedTablesTests.tearDown): Make
572            sure that the session is destroyed properly
573    
574            * test/test_shapefilestore.py: Make this callable as a program to
575            execute the tests
576    
577            * test/test_scalebar.py: Remove unnecessary import of _ from
578            Thuban
579    
580            * test/support.py (print_garbage_information): Call initthuban
581            here because it may be called indirectly from test cases that test
582            test support modules which do not use anything from thuban itself
583            (ThubanTestProgram.runTests): Remove unnecessary debug print
584    
585    2003-08-28  Bernhard Herzog  <[email protected]>
586    
587            * Thuban/version.py (longversion): Update to 0.9
588    
589            * Thuban/UI/mainwindow.py: Remove some unused imports
590    
591            * README: Add section about required additional software. Add date
592            and revision CVS keywords
593    
594            * HOWTO-Release: Add item about the translations. Add date and
595            revision CVs keywords and change formatting to match README a bit
596            better
597    
598            * po/de.po: Update for 0.9
599    
600            * test/README: Tweak the wording a little because many tests are
601            not really unittest.
602    
603    2003-08-27  Bernhard Herzog  <[email protected]>
604    
605            As preparation for the 0.9 release, switch thuban files to a
606            non-dev namespace
607    
608            * Thuban/Model/save.py (SessionSaver.write_session): Write files
609            with the http://thuban.intevation.org/dtds/thuban-0.9.dtd
610            namespace
611    
612            * Thuban/Model/load.py (SessionLoader.__init__): Accept the
613            http://thuban.intevation.org/dtds/thuban-0.9.dtd namespace too
614    
615            * test/test_save.py (SaveSessionTest.dtd)
616            (SaveSessionTest.testEmptySession)
617            (SaveSessionTest.testSingleLayer)
618            (SaveSessionTest.testLayerProjection)
619            (SaveSessionTest.testRasterLayer)
620            (SaveSessionTest.testClassifiedLayer)
621            (SaveSessionTest.test_dbf_table)
622            (SaveSessionTest.test_joined_table)
623            (SaveSessionTest.test_save_postgis): Update for new namespace
624    
625            * test/test_load.py (LoadSessionTest.dtd, TestSingleLayer)
626            (TestLayerVisibility.file_contents, TestLabels.file_contents)
627            (TestLayerProjection.file_contents)
628            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
629            (TestPostGISLayer.file_contents)
630            (TestPostGISLayerPassword.file_contents)
631            (TestLoadError.file_contents, TestLoadError.test): Update for new
632            namespace
633    
634    2003-08-27  Bernhard Herzog  <[email protected]>
635    
636            Make the table interface distinguish between row ids (an integer
637            that uniquely identifies a row) and row ordinals (a simple row
638            count from 0 to NumRows() - 1)
639    
640            * Thuban/Model/postgisdb.py (PostGISTable.RowIdToOrdinal)
641            (PostGISTable.RowOrdinalToId): New methods to conver between row
642            ids and row ordinals
643            (PostGISTable.ReadRowAsDict, PostGISTable.ReadValue): New keyword
644            parameter row_is_ordinal to indicate whether the row parameter is
645            the row id or the ordinal
646    
647            * Thuban/Model/transientdb.py (TransientTableBase.RowIdToOrdinal)
648            (TransientTableBase.RowOrdinalToId)
649            (AutoTransientTable.RowIdToOrdinal)
650            (AutoTransientTable.RowOrdinalToId): Same new methods as in
651            PostGISTable.
652            (TransientTableBase.ReadRowAsDict, TransientTableBase.ReadValue)
653            (AutoTransientTable.ReadRowAsDict, AutoTransientTable.ReadValue):
654            Same new parameter as in PostGISTable.
655    
656            * Thuban/Model/table.py (DBFTable.RowIdToOrdinal)
657            (DBFTable.RowOrdinalToId, MemoryTable.RowIdToOrdinal)
658            (MemoryTable.RowOrdinalToId): Same new methods as in PostGISTable.
659            (DBFTable.ReadValue, DBFTable.ReadRowAsDict)
660            (MemoryTable.ReadValue, MemoryTable.ReadRowAsDict): Same new
661            parameter as in PostGISTable.
662    
663            * Thuban/UI/tableview.py (DataTable.RowIdToOrdinal)
664            (DataTable.RowOrdinalToId): New methods to convert between row ids
665            and row ordinals.
666            (TableGrid.SelectRowById): New method to select a row based on its
667            ID as opposed to its ordinal
668            (DataTable.GetValue, TableGrid.OnRangeSelect)
669            (TableGrid.OnSelectCell, LayerTableGrid.select_shapes)
670            (QueryTableFrame.OnQuery, QueryTableFrame.get_selected)
671            (LayerTableFrame.__init__): Convert between row ids and row
672            ordinals as appropriate
673    
674            * test/postgissupport.py (PostGISDatabase.__init__): Add
675            doc-string.
676            (PostGISDatabase.initdb): The optional third item in a tuple in
677            tables is now a (key, value) list with additional arguments to
678            pass to upload_shapefile
679            (upload_shapefile): New parameter gid_offset to allow gids that
680            are not the same as the shapeids in the shapefile
681            (PostgreSQLServer.get_default_static_data_db): Use the new
682            gid_offset to make the gids in landmarks 1000 higher than the
683            shapeids in the shapefile
684    
685            * test/test_viewport.py
686            (TestViewportWithPostGIS.test_find_shape_at_point): Adapt to the
687            new shapeids in the landmarks table
688    
689            * test/test_transientdb.py
690            (TestTransientTable.run_iceland_political_tests)
691            (TestTransientTable.test_transient_joined_table): Add tests for
692            the new table methods and new keywords arguments.
693    
694            * test/test_postgis_db.py
695            (TestPostGISTable.test_read_row_as_dict_row_count_mode)
696            (TestPostGISTable.test_read_value_row_count_mode)
697            (TestPostGISTable.test_row_id_to_ordinal)
698            (TestPostGISTable.test_row_oridnal_to_id): New test for the new
699            table methods and the new arguments
700            (TestPostGISShapestorePoint.test_shapes_in_region)
701            (TestPostGISShapestorePoint.test_shape_raw_data)
702            (TestPostGISShapestorePoint.test_shape_points)
703            (TestPostGISShapestorePoint.test_shape_shapeid)
704            (TestPostGISShapestorePoint.test_all_shapes)
705            (TestPostGISTable.test_simple_query)
706            (TestPostGISTable.test_simple_query)
707            (TestPostGISTable.test_simple_query)
708            (TestPostGISTable.test_read_value)
709            (TestPostGISTable.test_read_row_as_dict): Adapt to the new
710            shapeids in the landmarks table
711    
712            * test/test_memory_table.py
713            (TestMemoryTable.test_read_row_as_dict_row_count_mode)
714            (TestMemoryTable.test_read_value_row_count_mode)
715            (TestMemoryTable.test_row_id_to_ordinal)
716            (TestMemoryTable.test_row_oridnal_to_id): New test for the new
717            table methods and the new arguments
718    
719            * test/test_dbf_table.py
720            (TestDBFTable.test_read_row_as_dict_row_count_mode)
721            (TestDBFTable.test_read_value_row_count_mode)
722            (TestDBFTable.test_row_id_to_ordinal)
723            (TestDBFTable.test_row_oridnal_to_id): New test for the new table
724            methods and the new arguments
725    
726    2003-08-26  Bernhard Herzog  <[email protected]>
727    
728            * Thuban/Model/postgisdb.py (PostGISShapeStore.BoundingBox): Use a
729            more postgis specific but much faster method to get the bounding
730            box
731    
732    2003-08-26  Bernhard Herzog  <[email protected]>
733    
734            * Thuban/Model/postgisdb.py (PostGISTable.Title)
735            (PostGISShapeStore.AllShapes): Add these missing methods.
736            (PostGISShapeStore.ShapesInRegion): No need to raise
737            StopIteration. We can simply return
738    
739            * test/test_postgis_db.py (TestPostGISTable.test_title)
740            (TestPostGISShapestorePoint.test_all_shapes): New tests for the
741            new methods
742    
743    2003-08-25  Bernhard Herzog  <[email protected]>
744    
745            * Thuban/Model/postgisdb.py (shapetype_map): Add MUTLIPOLYGON.
746    
747            * test/test_postgis_db.py (PolygonTests): New class containing
748            those tests from TestPostGISShapestorePolygon that can also be
749            used to test MUTLIPOLYGON tables
750            (TestPostGISShapestorePolygon): Most tests are now in PolygonTests
751            so derive from that
752            (TestPostGISShapestoreMultiPolygon): New class with tests for
753            MUTLIPOLYGON tables
754    
755            * test/postgissupport.py (PostGISDatabase.initdb): Allow the
756            tables argument to have tuples with three items to override the
757            WKT type used.
758            (PostgreSQLServer.get_default_static_data_db): Use the above to
759            create a polygon table with MUTLIPOLYGONs
760            (point_to_wkt, coords_to_point, polygon_to_wkt, coords_to_polygon)
761            (arc_to_wkt, coords_to_multilinestring): Rename from *_to_wkt to
762            coords_to*
763            (coords_to_multipolygon): New. Convert to MUTLIPOLYGON
764            (wkt_converter): New. Map WKT types to converters
765            (upload_shapefile): New parameter force_wkt_type to use a
766            different WKT type than the default
767    
768  2003-08-25  Bernhard Herzog  <[email protected]>  2003-08-25  Bernhard Herzog  <[email protected]>
769    
770          * Thuban/UI/application.py          * Thuban/UI/application.py
# Line 941  Line 1708 
1708    
1709          * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as          * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as
1710          it annoys lintian which warns about these files not being          it annoys lintian which warns about these files not being
1711          executable. The #1 isn't necessary here since if you absolutely          executable. The #! isn't necessary here since if you absolutely
1712          must execute them you can always say "python <filename>".          must execute them you can always say "python <filename>".
1713    
1714          * 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.1822

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26