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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26