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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26