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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26